systematic-debugging
Four-phase root cause investigation process for diagnosing bugs, errors, and unexpected behavior
Skill by taracodlabs
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/taracodlabs-systematic-debugging-d4def4
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/systematic-debugging
What's inside
- Skill name
systematic-debugging- Description
- Four-phase root cause investigation process for diagnosing bugs, errors, and unexpected behavior
- License
- Apache-2.0
- Instructions
- 123 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- skill.json
SKILL.md (first lines)
# Systematic Debugging
A structured four-phase process for diagnosing software bugs: **Reproduce → Isolate → Hypothesize → Verify**. Prevents guessing and ensures you find the root cause, not just a workaround.
## When to Use
- User reports a bug or unexpected behavior without an obvious cause
- An error message appears but the source is unclear
- A fix was applied but the problem persists
- Tests are failing intermittently (flaky tests)
- Production behavior differs from local behavior
## How to Use
### Phase 1: Reproduce reliably
A bug you can reproduce consistently is halfway solved.
```
1. Get the exact error message, stack trace, and environment
2. Identify exact steps to trigger the bug
3. Confirm the bug happens in a clean environment (not just local state)
4. Record: OS, runtime version, dependencies, config values
5. Try: does it fail on every run, or only sometimes?
```
If intermittent: add timing, logging, or retry logic to isolate the trigger.
### Phase 2: Isolate the failure
Narrow the failure to the smallest possible unit.
```
1. Add logging before/after suspected areas to find where state diverges
2. Binary search through code: comment out half, does it still fail?
3. Check: when did this last work? (git log, git bisect)
4. Check: what changed recently? (git diff main, dependency updates)
5. Reproduce in a minimal test case — strip away all unrelated code
```
```powershell
# git bisect to find the breaking commit
git bisect start
git bisect bad # current commit is broken
git bisect good v2.0.0 # last known good tag
# git will checkout commits — test each, then:
git bisect good # or
git bisect bad
# Repeat until git identifies the culprit commit
git bisect reset
```
### Phase 3: Generate hypotheses
Form 2-3 specific, testable hypotheses about the root cause.
```
Bad hypothesis: "Something is wrong with the database"
Good hypothesis: "The connection pool is exhausted under concurrent load
because maxConnections defaults to 5 in test config"
For each hypothesis:
- What evidence supports it?
- What evidence would refute it?
- What one-line change would test it?
```
Rank by probability and test from most to least likely.
### Phase 4: Verify and fix
Prove the fix, not just that the error goes away.
```
1. Apply the smallest change that addresses the root cause
2. Run the original reproduction steps — confirm bug is gone
3. Run the full test suite — confirm no regressions
4. Check edge cases: empty input, null values, concurrent access
5. Write a regression test that would have caught this bug
```
```python
# Regression test template
def test_issue_42_connection_pool_exhaustion():
"""
Regression test: ensure concurrent requests don't exhaust the connection pool.
Root cause: maxConnections was not configurable; defaulted to 5 in test.
Fixed in commit abc123.
"""
results = run_concurrent_requests(count=20)
assert all(r.status_code == 200 for r in results), "Some requests failed under concurrency"
```
### Debugging cheat sheet
```
Error: KeyError / undefined → check input shapes; add null guard
Error: Off-by-one → examine loop bounds and index math
Error: Works locally, fails in CI → check env vars, file paths, timing
Error: Works first run, fails after → check state mutation, cache, side effects
Error: Inconsistent / race condition → check shared mutable state, locks
Error: Memory leak → profile allocations; check event listener cleanup
```
## Examples
**"My API returns 500 randomly but I can't reproduce it"**
→ Start at Phase 1 — add structured logging with request IDs. Once patterns emerge, apply Phase 2 binary search.
**"Tests pass locally but fail in GitHub Actions"**
→ Phase 2: diff the environments (OS, Node version, env vars). Often caused by missing env vars or OS path differences.
**"I fixed the bug but it came back after a week"**
→ Phase 4: add a regression test and check if the root cause fix addressed the underlying issue or just a symptom.
## Cautions
- Never apply multiple changes at once when debugging — you won't know which one fixed it
- "Works on my machine" is a Phase 1 failure — always reproduce in the target environmentFrom taracodlabs/aiden, Apache-2.0.
More from taracodlabs/aiden
- 0.719score
google-workspace
taracodlabs
Interact with Gmail, Google Calendar, Drive, Sheets, and Docs via the Google API with service account or OAuth credentials
SkillAFreshness: A★ 863Claude Code +9 - 0.719score
virustotal
taracodlabs
Check file hashes, URLs, domains, and IP addresses against 70+ antivirus engines and threat intelligence feeds via VirusTotal
SkillAFreshness: A★ 863Claude Code +9 - 0.719score
cveapi
taracodlabs
Look up CVE vulnerability details by ID via MITRE CVE API with NVD fallback — severity, CVSS score, affected products, and references
SkillAFreshness: A★ 863Claude Code +9 - 0.719score
ssllabs
taracodlabs
Comprehensive TLS/SSL analysis via Qualys SSL Labs — grades cipher suites, certificate chains, protocol versions, and known vulnerabilities
SkillAFreshness: A★ 863Claude Code +9 - 0.719score
greynoise
taracodlabs
Classify IP addresses as internet scanners (benign/malicious) or targeted attackers — filters noise from security alerts
SkillAFreshness: A★ 863Claude Code +9 - 0.718score
google-hotels
taracodlabs
Search Google Hotels for hotel prices, ratings, and availability using browser automation.
SkillAFreshness: A★ 863Claude Code +9 - 0.718score
google-flights
taracodlabs
Search Google Flights for flight prices and schedules using browser automation.
SkillAFreshness: A★ 863Claude Code +9 - 0.716score
architecture-diagram
taracodlabs
Architecture and component diagrams as HTML/SVG (dark-themed)
SkillAFreshness: A★ 863Claude Code +9 - 0.716score
p5js
taracodlabs
Generative visual art and sketches in p5.js (self-contained HTML)
SkillAFreshness: A★ 863Claude Code +9 - 0.716score
excalidraw
taracodlabs
Hand-drawn diagrams in Excalidraw JSON (architecture, flowcharts)
SkillAFreshness: A★ 863Claude Code +9 - 0.716score
censys
taracodlabs
Censys lookups: hosts, certificates, services on the public internet
SkillAFreshness: A★ 863Claude Code +9 - 0.716score
docker-management
taracodlabs
Docker containers, images, volumes, networks (CLI + Dockerode)
SkillAFreshness: A★ 863Claude Code +9
Signals
- Stars
- 863
- Forks
- 150
- Open issues
- 12
- Last commit (this folder)
- May 3, 2026 (5 months ago)
- Last release
- Oct 19, 2026 (10 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/taracodlabs/aiden
- Website
- aiden.taracod.com
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from taracodlabs
- 0.719score
virustotal
taracodlabs
Check file hashes, URLs, domains, and IP addresses against 70+ antivirus engines and threat intelligence feeds via VirusTotal
SkillAFreshness: A★ 863Claude Code +9 - 0.719score
greynoise
taracodlabs
Classify IP addresses as internet scanners (benign/malicious) or targeted attackers — filters noise from security alerts
SkillAFreshness: A★ 863Claude Code +9 - 0.719score
cveapi
taracodlabs
Look up CVE vulnerability details by ID via MITRE CVE API with NVD fallback — severity, CVSS score, affected products, and references
SkillAFreshness: A★ 863Claude Code +9 - 0.719score
ssllabs
taracodlabs
Comprehensive TLS/SSL analysis via Qualys SSL Labs — grades cipher suites, certificate chains, protocol versions, and known vulnerabilities
SkillAFreshness: A★ 863Claude Code +9 - 0.719score
google-workspace
taracodlabs
Interact with Gmail, Google Calendar, Drive, Sheets, and Docs via the Google API with service account or OAuth credentials
SkillAFreshness: A★ 863Claude Code +9 - 0.718score
google-hotels
taracodlabs
Search Google Hotels for hotel prices, ratings, and availability using browser automation.
SkillAFreshness: A★ 863Claude Code +9
Cite this page
systematic-debugging skill. Agent Mart. https://agentmart.dev/skills/taracodlabs-systematic-debugging-d4def4 (last updated 2026-10-24)