修bug别只修症状!用这个Skill追到根因再动手

你有没有过这种经历——bug 明明修好了,过两天又冒出来?或者测试跑着跑着,突然多了一个奇怪的 `.git` 文件,怎么都找不到是谁创建的?

大多数时候,我们修的是症状,不是根因。

这个 Skill 解决什么问题

root-cause-tracing 是一个专门教 AI 调试的 Skill。它的核心思路很简单:不要在报错的地方修,要一直往回追溯,找到第一个出错的动作

举个例子:你在 `packages/core/` 里发现无缘无故多了个 `.git` 文件。按直觉,你会去删掉它、或者在 git 操作的地方加判断。但这个 Skill 会带你这样追溯:

  • git init 报错的地方在哪?——在 WorktreeManager
  • WorktreeManager 谁调用的?——Session.initializeWorkspace()
  • Session.create() 谁调用的?——测试代码
  • 传进来的 projectDir 是什么?——空字符串!
  • 空字符串哪来的?——setupCoreTest() 初始化时返回了 tempDir: ”

然后你发现,原来测试的 beforeEach 还没跑,变量就被访问了。修到这里,bug 才真正消失。

怎么用

装上之后,遇到任何深层 bug,直接说:

用 root-cause-tracing 帮我分析这个问题

Skill 会引导你一步一步回溯,从「报错的地方」找到「第一个触发错误的地方」。

如果调用链太深,手动追溯不出来,它还教你加 stack trace 打印——用 console.error 打在危险操作之前,然后跑测试抓日志。

什么时候用

  • 错误发生在调用链深层,不在入口点
  • 测试污染:某个测试改了全局状态影响其他测试
  • 数据不对劲但找不到谁改的
  • 同一个 bug 反复出现,每次修每次还在

安装

curl -o ~/.claude/skills/root-cause-tracing/SKILL.md 
  "https://raw.githubusercontent.com/composio-community/support-skills/HEAD/root-cause/SKILL.md"

然后重启 Claude Code,自动发现。

最后

这个 Skill 的价值不在于告诉你答案,而在于教你一套系统化的调试思维——先观察症状、找直接原因、问谁调用的这个、一直回溯到源头,再在源头修复,加防御层。

修 bug 修得快,不如修得准。

GitHub:https://github.com/composio-community/support-skills/tree/HEAD/root-cause


GitHub: https://github.com/composio-community/support-skills/tree/HEAD/root-cause

评论区

0 条评论

登录后可评论。

白鹿 13 阅读