AGENT SKILL

principle-fix-root-causes

Apply when debugging. Trace each symptom to its root cause and fix it there; reproduce first, ask why until you reach it, resist nil-check guards that silence crashes.

License 许可
MIT
最近更新
2026-11-14
Stars
★ 109
Forks
19

01 前言 Front Matter

name
principle-fix-root-causes
description
Apply when debugging. Trace each symptom to its root cause and fix it there; reproduce first, ask why until you reach it, resist nil-check guards that silence crashes.

02 资源文件 1

03 SKILL.md 正文

Fix Root Causes

When debugging, do not paper over symptoms. Trace every problem to its root cause and fix it there.

Why: Symptom fixes accumulate. Each workaround makes the system harder to reason about, and the real bug remains. Root-cause fixes are slower upfront but reduce total debugging time.

Pattern:

  • Reproduce first (if you can't reproduce it, you can't verify your fix)
  • Ask "why" until you hit the root cause
  • Resist the urge to add guards (adding a nil check to silence a crash is a symptom fix)
  • If a workaround needs a paragraph-long comment to justify it, the code is wrong (fix the code, not the comment)
  • Check for the pattern, not just the instance (grep for the same pattern, fix all instances)
  • When stuck, instrument. Don't guess (add logging, read the actual error)
  • If the deciding fact took a deep dig to find, propose the cheap, always-on signal that would have shown it at first look

Restart bugs: suspect state before code

Code doesn't change between runs. State does. When something "fails after restart," suspect stale persistent state first: config files, caches, lock files, serialized state. If clearing a state file restores behavior, prioritize state validation as the fix.

04 同仓库更多 Skills

Aqua-123
Aqua-123/pstack-for-codex

why

Use for 'why does X work this way', 'why we picked Y', design rationale, regressions, postmortems, or data-backed thresholds. Discovers available MCPs and queries each evidence category (source control, issue tracker, long-form docs, real-time chat, infrastructure observability, error tracking, product analytics warehouse) in parallel, then returns a cited read on decisions and tradeoffs. Use how for runtime behavior.

★ 109
Aqua-123
Aqua-123/pstack-for-codex

unslop

Cut AI tells from any writing. Must always apply.

★ 109
Aqua-123
Aqua-123/pstack-for-codex

typescript-best-practices

TypeScript best practices. Use when reading or editing any .ts or .tsx file.

★ 109
Aqua-123
Aqua-123/pstack-for-codex

technical-writing

Layered technical-writing standard: Diátaxis structure, Google developer style sentences, STE instruction rules, Global English syntax. Use for $technical-writing or when writing or reviewing docs, RFCs, readmes, PR descriptions, or commit messages.

★ 109
Aqua-123
Aqua-123/pstack-for-codex

teach

Explain a body of work plainly so a person actually understands it. Runs the `how` and `why` skills and weaves what they find into one clear explanation. Use for 'teach me this', 'help me really understand X', 'explain this change or subsystem to me'.

★ 109
Aqua-123
Aqua-123/pstack-for-codex

tdd

Use only when the user explicitly asks for TDD, a failing test, or a regression test, OR when the bug has an obvious cheap local test target. Skip when the test path is unclear, expensive, integration-heavy, or not requested.

★ 109