Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Systematic Debugging
## Overview
**Core principle:** ALWAYS find root cause before attempting fixes. Symptom fixes are failure.
**Violating the letter of this process is violating the spirit of debugging.**
## The Iron Law
```
NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST
```
If you haven't completed Phase 1, you cannot propose fixes.
## When to Use
Use for ANY technical issue:
- Test failures
- Bugs in production
- Unexpected behavior
- Performance problems
- Build failures
- Integration issues
**Use this ESPECIALLY when:**
- Under time pressure (emergencies make guessing tempting)
- "Just one quick fix" seems obvious
- You've already tried multiple fixes
- Previous fix didn't work
- You don't fully understand the issue
**Don't skip when:**
- Issue seems simple (simple bugs have root causes too)
- You're in a hurry (rushing guarantees rework)
- Manager wants it fixed NOW (systematic is faster than thrashing)
## The Four Phases
You MUST complete each phase before proceeding to the next.
### Phase 1: Root Cause Investigation
**BEFORE attempting ANY fix:**
1. **Read Error Messages Carefully**
- Don't skip past errors or warnings
…
The line at the top of this page pins the label git:20260804.eab20be, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
GET https://markdownregistry.com/api/v1/artifacts/art_6jwpau7yng27jead
GET https://markdownregistry.com/api/v1/resolve?ref=takaakit/superpowers-uml/systematic-debugging
GET https://markdownregistry.com/api/v1/blob/2f9b23ab9598f96773f2b3078d6e502c6b512a93d7840eb0b806032e0613b639
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
takaakit/superpowers-uml · plugins/superpowers-uml/skills/brainstorming/SKILL.md · You MUST use this before any creative work - creating features, building components, adding functionality, or modifying…
takaakit/superpowers-uml · plugins/superpowers-uml/skills/dispatching-parallel-agents/SKILL.md · Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
takaakit/superpowers-uml · plugins/superpowers-uml/skills/executing-plans/SKILL.md · Use when you have a written implementation plan to execute in a separate session with review checkpoints
takaakit/superpowers-uml · plugins/superpowers-uml/skills/finishing-a-development-branch/SKILL.md · Use when implementation is complete, all tests pass, and you need to decide how to integrate the work
takaakit/superpowers-uml · plugins/superpowers-uml/skills/receiving-code-review/SKILL.md · Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or…
takaakit/superpowers-uml · plugins/superpowers-uml/skills/requesting-code-review/SKILL.md · Use when completing tasks, implementing major features, or before merging to verify work meets requirements
takaakit/superpowers-uml · plugins/superpowers-uml/skills/subagent-driven-development/SKILL.md · Use when executing implementation plans with independent tasks in the current session
takaakit/superpowers-uml · plugins/superpowers-uml/skills/test-driven-development/SKILL.md · Use when implementing any feature or bugfix, before writing implementation code
takaakit/superpowers-uml · plugins/superpowers-uml/skills/using-git-worktrees/SKILL.md · Use when starting feature work that needs isolation from current workspace or before executing implementation plans -…
takaakit/superpowers-uml · plugins/superpowers-uml/skills/using-superpowers/SKILL.md · Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY…
takaakit/superpowers-uml · plugins/superpowers-uml/skills/verification-before-completion/SKILL.md · Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running…
takaakit/superpowers-uml · plugins/superpowers-uml/skills/writing-plans/SKILL.md · Use when you have a spec or requirements for a multi-step task, before touching code
mvschwarz/openrig · skills/_canonical/process/systematic-debugging/SKILL.md · Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
mvschwarz/openrig · packages/daemon/specs/agents/shared/skills/process/systematic-debugging/SKILL.md · Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
cbrock84/headcount · plugins/technology/skills/systematic-debugging/SKILL.md · Finds the root cause of a bug, test failure, or unexpected behavior before proposing any fix. Use this whenever…
a5c-ai/babysitter · library/methodologies/superpowers/skills/systematic-debugging/SKILL.md · Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes. Requires root cause…