Skip to main content

systematic-debugging

Find the root cause before proposing any fix. Use when something fails, throws, hangs, flakes, or behaves unexpectedly, including failing tests and CI. Auto-activates for bug reports.

来源信息

仓库
autohandai/code-cli
最近来源活动
2026年9月14日 10:14
检测到的 SKILL.md 语言
英语
星标
212
Forks
38

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
systematic-debugging
description
Find the root cause before proposing any fix. Use when something fails, throws, hangs, flakes, or behaves unexpectedly, including failing tests and CI. Auto-activates for bug reports.
allowed-tools
read_file find_grep fff_find list_tree git_diff git_log git_status run_command search_with_context
# Debug systematically A fix without a confirmed cause is a guess, and guesses cost more than they save. Work the four phases in order; do not propose code before Phase 3 confirms a cause. ## Phase 1 — Reproduce and read - Read the whole error: message, stack, exit code, the lines around it. The answer is often already there. - Reproduce on purpose. Run the failing command, test, or scenario yourself with `run_command`. If it cannot be reproduced, gather more evidence instead of guessing. - Note what changed: `git_log` and `git_diff` for the touched area, new dependencies, config, environment (CI vs local, OS, shell, terminal, load). - For multi-layer systems, add cheap instrumentation at each boundary and run once to see where the data goes wrong. Fix where it originates, not where it surfaces. ## Phase 2 — Compare with what works - Find the nearest working example in the same codebase and list every difference, however small. Do not assume a difference cannot matter. - Read the reference implementation completely before adapting a pattern. ## Phase 3 — One hypothesis, one test - Write the hypothesis down in one sentence: "X causes Y because Z." - Test it with the smallest possible change or probe. One variable at a time. - If it fails, form a new hypothesis. Do not stack fixes. After three failed fixes, stop and question the design with the user; that is an architecture problem, not a bug. ## Phase 4 — Fix with a regression test - Write the failing test first; it must fail for the reason you found. - Apply the single fix. No bundled refactors or "while I am here" edits. - Run the test, the neighbouring suites, lint, and the project's proof command. - Report what the cause was, what you changed, and what you verified. If the cause was environmental (load, disk, timing), say so with the evidence. ## Red flags that mean "back to Phase 1" "Quick fix for now", "just try changing X", "I do not fully understand but this might work", "one more attempt" after two failures.
在 GitHub 查看