Skip to content
Agentmart
Submit a tool

systematic-debugging

Structured root cause analysis for bugs and unexpected behaviour.

Skill by Nomadcxx

IndexedBSD-3-Clause★ 1
Write a review

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/nomadcxx-systematic-debugging

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.

We use your email only for this newsletter. Privacy

About

Structured root cause analysis for bugs and unexpected behaviour. Use when encountering errors, test failures, or surprising results.

Use cases: testing

No 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
Structured root cause analysis for bugs and unexpected behaviour. Use when encountering errors, test failures, or surprising results.
License
BSD-3-Clause
Instructions
62 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

---

## Systematic Debugging

Work through bugs in numbered steps. Track each step explicitly so it is easy to revisit and revise.

### Step 1 — Reproduce the Failure

Get the exact error message, exact inputs, and exact environment. Never reproduce from memory. Copy the actual stack trace. Check whether the failure is deterministic or intermittent.

### Step 2 — Isolate the Failure

Binary-search through the call stack. Disable half the code; if the bug disappears, it was in the half you removed. Narrow the reproducer to the smallest possible input.

### Step 3 — Form and Test Hypotheses

State the hypothesis explicitly before testing it ("I think X is nil because Y"). Run exactly one experiment per hypothesis. Record the result even if it disproves you — disproof is progress.

### Step 4 — Read Error Messages Carefully

Go errors are wrapped; read from the innermost cause outward. JavaScript stack traces list callers top-to-bottom. Python tracebacks list callers bottom-to-top. Never skim the error message.

### Step 5 — Check Assumptions

List assumptions about the system before searching for a bug. Common wrong assumptions:
- "this function is always called"
- "this value is always set"
- "this goroutine is the only writer"
- "the test environment matches production"

### Step 6 — Check Recent Changes

When a bug is new, check `git log --oneline -20` and `git diff HEAD~1` before doing anything else. Most regressions live in the last commit.

### Step 7 — Do Not Jump to Solutions

Do not write code until the root cause is confirmed. Premature fixes mask the real problem and create two bugs.

### Step 8 — Verify the Fix

Re-run the exact reproducer. Also run the full test suite. Check that the fix does not break adjacent behaviour.

### Language-Specific Patterns

**Go:**
- nil pointer dereference — check every pointer before use
- goroutine leak — context not cancelled, channel never closed
- race condition — use `-race`
- silent error discard — `_ = err` is a red flag

**JS/TS:**
- `undefined is not a function` — method called on wrong type
- unhandled promise rejection
- mutation of shared state in async code
- stale closure in `useEffect`

**Python:**
- mutable default argument (`def f(x=[])`)
- import side-effects
- off-by-one in slice notation
- `==` vs `is` for None

From Nomadcxx/smolbot, BSD-3-Clause.

More from Nomadcxx/smolbot

Signals

Stars
1
Forks
0
Open issues
0
Last commit (this folder)
Mar 31, 2026 (7 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
BSD-3-Clause
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from Nomadcxx

Cite this page

systematic-debugging skill. Agent Mart. https://agentmart.dev/skills/nomadcxx-systematic-debugging (last updated 2026-10-24)