systematic-debugging
Use when encountering bugs, failing tests, build failures, unexpected behavior, flaky behavior, regressions, or production issues before proposing fixes.
- License 许可
- MIT
- 所属仓库
- max-kharena/nous
- 最近更新
- 2026-04-28
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- systematic-debugging
- risk
- high
- type
- quality
- version
- 0.1.0
- description
- Use when encountering bugs, failing tests, build failures, unexpected behavior, flaky behavior, regressions, or production issues before proposing fixes.
03 SKILL.md 正文
Systematic Debugging
Core Principle
Find root cause before fixes. Symptom patches create new bugs and hide the actual failure.
IRON LAW
No fixes before root-cause investigation.
Four Phases
- Reproduce and read: capture the exact error, stack, failing command, route, input, or user action. Read the full output.
- Trace and compare: inspect recent diffs, working examples, data flow, configuration, and boundaries.
- Hypothesize: state one root-cause hypothesis with evidence. Test one variable at a time.
- Fix and verify: write a failing test or minimal repro when possible, implement one fix, run verification.
Stop Conditions
- If you cannot reproduce, gather more data instead of guessing.
- If two fixes fail, pause and re-investigate.
- If three fixes fail, question the architecture and ask before continuing.
- If the issue touches multiple systems, instrument each boundary before changing code.
Red Flags
- “Quick fix for now.”
- Multiple changes before testing.
- Proposing solutions before tracing the failure.
- Increasing timeouts without proving timing is the root cause.
- Fixing the place that crashed instead of where bad data originated.
Output Contract
## Symptom
## Reproduction
## Evidence Gathered
## Root Cause Hypothesis
## Fix Plan
## Verification Evidence
04 同仓库更多 Skills
write-a-skill
Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when the user wants to create, write, or build a new skill.
verification-before-completion
Use when about to claim work is complete, fixed, passing, ready, merged, shippable, reviewed, or verified.
using-nous
Use when a request needs NOUS command routing or personality-driven planning.
using-git-worktrees
Use when NOUS execution needs isolated implementation branches, phase worktrees, parallel worktrees, or safe branch setup before executing a plan.
ubiquitous-language
Use when the user wants to define domain terms, build a glossary, harden terminology, or extract a DDD-style ubiquitous language. Saves to UBIQUITOUS_LANGUAGE.md.
triage-issue
Use when the user reports a bug and wants it investigated and filed as a durable GitHub issue with a TDD-based fix plan.