debugging-systematically
Skill0 starsChanged 45 days agoMITView on GitHub
Use when encountering a bug, test failure, build error, or unexpected behavior whose cause is not already certain
7 other projects use a version of this.
Adopted by
Most recently taken up by
- Knowledge-Forge-AI/agentic-praxis-grimoiretheir own version, first seen Nov 8, 2026
- jjsizemore/jjskillstheir own version, first seen Nov 1, 2026
- vadimvitvickiy/vv-agent-kittheir own version, first seen Oct 20, 2026
- aaravriyer193/skillstheir own version, first seen Oct 13, 2026
- Samueladewole/claude-skillstheir own version, first seen Oct 13, 2026
- dork-labs/dorkostheir own version, first seen Sep 26, 2026
Other versions7 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 7
- dork-labs/dorkos★ 11same name
- Knowledge-Forge-AI/agentic-praxis-grimoire★ 2same name
- aaravriyer193/skills★ 1same name
- jjsizemore/jjskills★ 1same name
- Samueladewole/claude-skills★ 0same name
- vadimvitvickiy/vv-agent-kit★ 0same name
- xuanjgcarryyou/claude-skill★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository13 other files it gives its agents.
- delegating-to-subagentsSkill
- executing-plansSkill
- finishing-workSkill
- investigating-in-parallelSkill
- isolating-workspacesSkill
- planning-workSkill
- receiving-reviewSkill
- requesting-reviewSkill
- shaping-designsSkill
- testing-firstSkill
- using-tackleSkill
- verifying-before-claimingSkill
- writing-skillsSkill
The file
We split this skill into the rules it gives an agent
10 rules. 0 are common, 9 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Anything else: follow the phases below.
- Distinctive: line 18
Read the full error and stack trace: file, line, code.
- Distinctive: line 20
Check what changed recently: diffs, dependencies, config, environment.
- Distinctive: line 26
If you're following a reference implementation, read all of it.
- Distinctive: line 30
Test it with the smallest possible change, one variable at a time.
- Distinctive: line 31
If it's wrong, undo the change and form a new hypothesis.
- Distinctive: line 32
If you don't understand something, say so and research or ask.
- Very specific: line 35
Write a failing test that reproduces the bug (testing-first).
- Distinctive: line 37
Verify the test passes, the original symptom is gone, and nothing else broke.
- Distinctive: line 38
If the bad value could arrive by other routes, add validation where it enters each layer, not only where it failed.
“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Debugging Systematically
Guessed fixes often hide the symptom and leave the cause, and each wrong guess adds changes you then have to untangle. Finding the root cause first is usually faster, even under pressure.
Scale it
- Cause is certain from the error (a typo, a missing import, a message that names the fix): fix it and verify.
- Anything else: follow the phases below.
How
1. Investigate
- Read the full error and stack trace: file, line, code.
- Reproduce reliably. If you can't, gather more data before theorising.
- Check what changed recently: diffs, dependencies, config, environment.
- In multi-component systems, log what enters and leaves each boundary, then run once to see where it breaks.
- Trace the bad value back to where it came from and fix it there, not where it surfaced.
2. Compare
- Find similar code that works and list every difference, however small.
- If you're following a reference implementation, read all of it.
3. Hypothesise and test
- State one hypothesis: "X causes this because Y."
- Test it with the smallest possible change, one variable at a time.
- If it's wrong, undo the change and form a new hypothesis; don't stack fixes.
- If you don't understand something, say so and research or ask.
4. Fix
- Write a failing test that reproduces the bug (
testing-first). - Make one change that addresses the root cause, without bundling in cleanup.
- Verify the test passes, the original symptom is gone, and nothing else broke.
- If the bad value could arrive by other routes, add validation where it enters each layer, not only where it failed.
- For timing-dependent failures, wait on the condition you need rather than a fixed delay.
After three failed fixes, stop. Repeated failures that each reveal a new problem somewhere else usually mean the design is wrong, not that the next fix will work. Summarise what you've learned and discuss the approach with the user.
Skip or shorten when
- The investigation shows the cause is truly external (timing, environment, a third party). Document what you checked, add sensible handling (retry, timeout, clear error), and add logging for next time.
Done means
You can explain the root cause, a test reproduces it and now passes, and the original symptom is gone.
Next
verifying-before-claiminginvestigating-in-parallelif you uncover several independent problems
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

