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
Random fixes waste time and create new bugs. Quick patches mask underlying issues.
**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:**
…
The line at the top of this page pins the label git:20261006.d1e9d5e, 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_ptfzrzqe2pcirbyj
GET https://markdownregistry.com/api/v1/resolve?ref=mvschwarz/openrig/systematic-debugging
GET https://markdownregistry.com/api/v1/blob/3040b4a5f1727f14101d07f4127fc3dcb2176a2575c15d759a9d765dacf308a0
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.
mvschwarz/openrig · .agents/skills/developing-openrig/SKILL.md · Use when changing OpenRig's own source in a clone of the openrig repository: finding which package or file owns a…
mvschwarz/openrig · .claude/skills/developing-openrig/SKILL.md · Use when changing OpenRig's own source in a clone of the openrig repository: finding which package or file owns a…
mvschwarz/openrig · packages/daemon/assets/plugins/openrig-core/skills/agent-operated-software/SKILL.md · Use when designing, building, operating, or diagnosing an ongoing application whose live backend or control loop…
mvschwarz/openrig · packages/daemon/assets/plugins/openrig-core/skills/agent-operated-workflows/SKILL.md · Use when a bounded real-world procedure has a deterministic happy path but brownfield, variable, or partially knowable…
mvschwarz/openrig · packages/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md · Use before launching a team during agent-guided setup, or when a user asks to configure OpenRig command permissions…
mvschwarz/openrig · packages/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md · Use when a Claude Code session is about to compact, has just compacted, reached its context limit, resumed after…
mvschwarz/openrig · packages/daemon/assets/plugins/openrig-core/skills/delegating-work/SKILL.md · Use when you have a task and must decide WHO does it — yourself, a spawned subagent, or another agent in the topology…
mvschwarz/openrig · packages/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md · Use when the system around you does not make sense yet: you just booted into a seat and do not know how the pieces fit…
mvschwarz/openrig · packages/daemon/assets/plugins/openrig-core/skills/loading-addressable-markdown/SKILL.md · Use when a mission, slice, dashboard, or task references Markdown as path#h2-slug or path#h2-slug/h3-slug outside the…
mvschwarz/openrig · packages/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md · Use when project policy calls for a human decision or update, a human delivery is pending or failed, or a reply must…
mvschwarz/openrig · packages/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md · Use when starting, building, handing off, restoring, or closing a mission or slice under the default lightweight SDLC.
mvschwarz/openrig · skills/_canonical/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…