← ClaudeAtlas

cf-sys-debuglisted

Systematic 4-phase debugging — root cause investigation, hypothesis testing, regression-guarded fix, mandatory bug doc. Auto-invoke when a bug is non-trivial or a previous fix didn't stick — signals: bug recurs ("still broken", "same error again", "came back"), flaky / intermittent / race / timing, "used to work, now broken", regression after update or dependency bump, hard-to-reproduce, works locally but fails in CI (or vice versa), multi-stage pipeline failure, stack trace into a library, user already tried fixes that didn't help, or user asks to "find the root cause", "investigate", "diagnose", "why is this happening", "trace this", "bisect", "deep dive". Also load BEFORE touching code whenever the cause is unclear and a hypothesis must be stated first. Prefer over cf-fix for hard, recurring, or investigation-heavy bugs (cf-fix may delegate here). Do NOT auto-invoke for trivial typos, one-line fixes, or config errors with an obvious cause.
dinhanhthi/coding-friend · ★ 2 · Code & Development · score 71
Install: claude install-skill dinhanhthi/coding-friend
# Systematic Debugging > **CLI Requirement:** OPTIONAL — Uses the memory MCP from `coding-friend-cli` for fast indexed search and storage. Without the CLI: falls back to grep over `docs/memory/` and direct file writes. Full functionality preserved, slower memory recall. See [CLI requirements](../../../docs/cli-requirements.md). ## Custom Guide Run: `bash "${CLAUDE_PLUGIN_ROOT}/lib/load-custom-guide.sh" cf-sys-debug` If output is not empty, integrate returned sections: `## Before` → before first step, `## Rules` → apply throughout, `## After` → after final step. ## Core Constraint **Do not touch code until you can state the root cause in one sentence:** > "I believe the root cause is [X] because [evidence]." Name a specific file, function, and line. "A state management issue" is not testable. "Stale cache in `useUser` at `src/hooks/user.ts:42` because the dependency array is missing `userId`" is testable. If you cannot be that specific, you do not have a hypothesis yet. **Same symptom after a fix = hard stop.** Both a recurrence and "let me just try this" mean the hypothesis is unfinished. Re-read the execution path from scratch before touching code again. **After 3 failed hypotheses, stop.** Use the Handoff Format below to surface what was checked, ruled out, and unknown. Ask how to proceed. ## Rationalization Watch When these surface, stop and re-examine: | Thought | What it means | Rule