From citadel
Enforces 4-phase root cause analysis (observe, hypothesize, verify, fix) before code changes. Emergency stop after 2 failed fixes prevents shotgun debugging and fix cascades.
npx claudepluginhub sethgammon/citadel --plugin citadelThis skill uses the workspace's default tool permissions.
**Use when:** root cause is unknown and premature fixes keep failing -- enforces observe -> hypothesize -> verify before touching code.
Enforces root cause investigation for bugs, test failures, unexpected behavior, and performance issues through four phases before proposing fixes.
Enforces systematic root cause analysis before fixes for bugs, test failures, unexpected behavior, performance issues, and build failures.
Implements four-phase debugging framework: root cause investigation, pattern analysis, hypothesis testing, implementation. For bugs, test failures, unexpected behavior when root cause unknown.
Share bugs, ideas, or general feedback.
Use when: root cause is unknown and premature fixes keep failing -- enforces observe -> hypothesize -> verify before touching code. Don't use when: root cause is already known (use /marshal to implement the fix); the bug is shallow and the stack trace is enough (use /do).
Output: A clear problem statement: "{Component} does {X} when it should do {Y}, triggered by {condition}"
Formulate up to 3 hypotheses for WHY the bug exists:
For each hypothesis, define a verification step:
Run the verification:
CRITICAL: Do not skip this phase. Do not "just try" a fix. Verify first.
Once a hypothesis is confirmed:
Explain WHY the bug happens, not just WHERE:
Check for related occurrences:
Output: Root cause statement: "The bug occurs because {cause}. This happens when {trigger}."
If a fix fails TWICE: STOP.
Do not try a third guess. The root cause analysis was wrong. Either:
Three failed fixes in a row means you're guessing, not debugging.
Disclosure: "Debugging [symptom]. Phases 1-3 read-only; will confirm before applying fixes in Phase 4."
Reversibility: amber — Phase 4 applies targeted fixes to source files; undo with git checkout on modified files. Phases 1-3 are read-only.
Trust gates:
Bug is intermittent: Document the triggering conditions as precisely as possible. Reproduce it at least once before forming hypotheses. If it can't be reproduced, stop at Phase 1 and ask for more context.
Two fix attempts have already failed: Invoke the Emergency Stop Rule. Return to Phase 2 with new hypotheses. Do not try a third guess without re-reading the relevant code.
No test framework exists: Skip the "write a failing test" step in Phase 4. Verify the fix manually and document how to reproduce the original bug for future reference.
Error is in a dependency or generated file: Document the root cause but do not modify the dependency. Propose a workaround in the consuming code instead.
---HANDOFF---
- Bug: {problem statement}
- Root cause: {one-line cause}
- Fix: {what was changed}
- Verified: {typecheck + tests passing}
- Related: {any similar patterns found and fixed}
---