Overview
Debugging discipline that cures 'try a tweak'. First, fix the symptom in place: the exact error, its trigger, the shortest path that reproduces it reliably. Second, instead of patching next to the symptom, walk up the chain asking 'who called this?' until you reach the original trigger — padding beside the symptom only guarantees a repeat. Third, hold exactly one current hypothesis and design the smallest experiment that could falsify it. Fourth, before fixing, create a test that fails — it nails the symptom and proves the patch killed the real bug. Afterwards, set guards at the entry point, in the business rules and with environment checks, so the whole class of problem stops recurring silently.
The references cover three routinely ignored skills: when to leave breadcrumbs along the trace, how to find which test pollutes shared state, and waiting on conditions instead of the clock.
Reading code uses the task's tools; tests run with the project's own commands in its authorized environment. The quick patch is not the deliverable — the root cause and its regression test are.
Where it helps
- Trace an intermittent cross-layer crash from stack to original trigger
- Locate the exact test polluting shared state across a suite
- Replace flaky fixed sleeps with condition-based waiting
- Write the failing test that nails a reproduced defect before fixing it
#debugging#diagnosis#logs#repro
Examples
Examples describe the request and the shape of the expected deliverable; they are not completed run results.
01Example prompt
This callback intermittently sees an empty directory: don't bolt on a guard — trace from symptom back to the original trigger, with evidence at every hop.
Expected output
A hop-by-hop trace and trigger verdict; the fix proposal carries its regression test.
02Example prompt
The suite passes all together but case two fails alone: find the test mutating shared state and propose the minimal isolation fix.
Expected output
Evidence naming the culprit case, plus a minimal isolation change.
Requirements and limits
- Install platforms
- iOS: iOS · Android: Android
- Script runtime
- No script runtime (guidance and workflow)
- Minimum app version
- iOS: 1.7.59
Reviewed permission scope
iOS · Android
- Capabilities
- Read workspace files
- Review decision
- Approved
- Review stage
- Static content review
- Reviewed on
- 2026-10-28
Implementation and runtime details
- Adaptation stage
- frozen
iOS
- Capabilities
- Read workspace files
Android
- Capabilities
- Read workspace files
License and source
Source and trace details
License
MIT
MIT (root LICENSE)
The pinned skill subtree and shipped references were audited; full applicable license and per-file adaptation/asset notes are preserved under references/licenses/ and references/PROVENANCE.md.
- Source
- https://github.com/obra/superpowers
- Upstream path
- skills/systematic-debugging
- Source checked
- 2026-10-26
- Publisher
- JiangNanGenius
- Publication commit (retrieval)
- 25e07dbeeb6cc93c2fe83ddc72a34302cc40832a
- Audited source commit
- 84c524b6fb483e4cad94db076e7d9c9962966c19
- Signed catalog digest
- iOS 46196ba57ed7ea7f22085e74b113207f31193e820ab8983cf7a60eee953f2340 · Android 16de89d019e2057804a40f215485ccb09d5495a25864b34d681168eeaf8f9697
- Publication snapshot (UTC)
- 2026-10-31
Publication commit 25e07dbeeb, audited source 84c524b6fb; catalog digest iOS 46196ba57ed7… · Android 16de89d019e2….
Versions and status
Version records ship with the signed catalog; the target and released versions are shown below.
- Adaptation
- Ready
- Publication state
- Curated skills are available
- Released version
- 1.0.1