skills/SystematicDebug/SKILL.md
Four-phase debugging methodology — root cause before fixes. USE WHEN encountering any bug, test failure, unexpected behavior, or build failure.
npx skillsauth add n4m3z/forge-dev SystematicDebugInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Find the root cause before attempting fixes. Random fixes waste time and create new bugs.
Complete each phase before proceeding to the next.
Before attempting any fix:
In multi-component systems, add diagnostic instrumentation at each component boundary before proposing fixes. Run once to gather evidence showing WHERE it breaks, then investigate that specific component.
If three or more fix attempts have failed, stop fixing. This is an architectural problem, not a bug:
Discuss with the user before attempting more fixes. Question whether the pattern is fundamentally sound.
| Thought | Reality | | --------------------------------------------------- | -------------------------------------------------------------- | | "Quick fix for now, investigate later" | Later never comes. Root cause first. | | "Just try changing X and see if it works" | That's guessing, not debugging. Form a hypothesis first. | | "I don't fully understand but this might work" | Partial understanding guarantees partial fixes. | | "It's probably X, let me fix that" | "Probably" is not root cause. Verify before fixing. | | "I'll skip the test, I'll manually verify" | Manual verification doesn't prevent regressions. | | "One more fix attempt" | After 2+ failures, question the architecture instead. | | "Pattern says X but I'll adapt it differently" | Read the reference completely. Adaptation without understanding creates bugs. | | "Here are the problems:" (lists fixes without investigation) | Listing fixes before investigating is guessing with confidence. |
@ConditionBasedWaiting.md @RootCauseTracing.md @DefenseInDepth.md @TestAcademic.md @TestPressure1.md @TestPressure2.md @TestPressure3.md
tools
Server-rendered web dashboards and apps in Rust using axum + htmx + Askama + rust-embed. USE WHEN building a web dashboard, adding a web UI to a CLI tool, server-rendered HTML, htmx partials, Askama templates, axum routes, embedded static assets, localhost webserver.
tools
Architecture for security and health-check programs: standalone-runnable checks, severity ladder with UNKNOWN, key:value output contract, orchestrator dispatch, exit-code semantics. Language-agnostic; reference implementations in Bash, applies to Python and other languages. USE WHEN writing health checks or audit tools, designing check-script contracts, adding checks to tools like check-mac, reviewing health-check architecture, or porting a check tool between languages.
testing
Scan a dotfiles tree for secrets via gitleaks, aggregate findings by top-level directory and rule, then surgically filter flagged lines from shell-history files before importing into atuin. USE WHEN auditing dotfiles before pushing to a public repo, scanning rsynced dotfiles-private contents, importing legacy zsh or bash history into atuin, filtering credential leaks out of a shell history file, deciding which dotfile subdirectories can be made public.
development
Test-driven development practices — Red-Green-Refactor cycle, test categories, coverage strategy, property-based testing. USE WHEN writing tests, designing testable APIs, or reviewing test coverage.