chuxinneko/nekocodedesktop/debug-root-cause
Claude Code and agent skill by chuxinneko/nekocodedesktop
Trust tier 3
- community
Source check pending
Checking that the SKILL.md file is still in the repository.
系统化定位缺陷的根因(debug / troubleshoot),用复现、缩小范围、验证假设的方式找到真正的原因再修。当用户说"报错了/跑不起来/结果不对/为什么会这样/帮我排查",或贴了一段异常堆栈时使用。
Install
npx vskill@latest install chuxinneko/nekocodedesktop/debug-root-causeSKILL.md
定位根因
目标是找到为什么会错,而不是让报错消失。改到不报错但说不清原因的修复,往往只是把问题挪到了别处。
一、先稳定复现
没有稳定复现就没有排查,只有猜测。
- 拿到确切的触发方式:命令、输入、环境、期望结果与实际结果。
- 亲自跑一次,确认自己看到的现象和用户描述的一致。
- 把复现步骤压到最小:去掉不影响现象的输入和步骤。最小复现本身常常就指出了原因。
- 复现不了就先解决这个——问清楚版本、操作系统、数据、时序。不要在没见过现象的情况下开始改代码。
偶发问题:先找出它和什么相关(并发、顺序、时间、缓存、数据量),把偶发变成必现。
二、读完整的错误
- 堆栈从上往下读到第一个属于本项目的帧,那里通常是入口;但抛出点未必是原因所在。
- 看
caused by/cause链的最内层。 - 错误信息里的具体值(路径、id、数字)要和你的预期对照——不一致的那个值就是线索。
- 没有报错只是结果不对时,找到"最后一个数据还正确"和"第一个数据已错误"之间的那一步。
三、缩小范围
按能砍掉最多可能性的顺序做,而不是按顺手的顺序:
- 二分:注释掉一半、回退一半改动、
git bisect定位引入问题的提交。每次把嫌疑范围砍半。 - 边界检查:在可疑区段的入口和出口打印/断点,确认数据进去时是对的、出来时是错的。
- 换一边验证:怀疑是自己的代码,就用最小的独立脚本调用同一个库;怀疑是库,就用手写实现替换掉它跑一次。
git log -S"<关键字符串>" 和 git log -p <文件> 能直接找到某行逻辑是什么时候、为什么加进来的。
四、验证假设,别信直觉
写下当前假设,然后设计一个能证伪它的观察:
假设:缓存返回了过期的值。如果成立:关掉缓存后现象消失。实际:关掉后仍然出错 → 假设不成立,排除缓存。
一次只改一个变量。同时改两处后现象消失,你不知道是哪一处起了作用。
排查过程中加的日志要留到确认之后再删。
五、确认根因
能把下面三句话都说清楚,才算找到根因:
- 出错的数据/状态是在哪一步第一次变得不对的。
- 那一步为什么会这样做——是逻辑写错、假设不成立,还是输入不符合预期。
- 为什么之前没暴露——新输入?新并发?新版本?改了哪个默认值?
第 3 点最常被跳过,但它决定了修复范围。
六、修复
- 在根因处修,而不是在现象处加判断。为了让报错消失而加的
try/catch或判空,要能说清为什么那里本来就该判。 - 先写一个能复现该缺陷的测试,确认它失败,再改代码让它通过。没有这一步,无法证明真的修好了。
- 检查同类问题:同一个错误模式在别处是否也存在(同一个函数的其它调用点、同一类边界)。
- 跑一遍相关测试,确认没有引入回归。
报告
说明:现象 → 根因(数据在哪一步变错、为什么)→ 改了什么 → 怎么验证的。 如果最后没能定位,就说明已排除了哪些可能、卡在哪里、需要什么信息,不要给一个"可能是……"的猜测当结论。
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingresources/skills/debug-root-cause/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/chuxinneko/nekocodedesktop/debug-root-cause)