Community编程与开发github.com

mdesoeuv/claude_skills

系统化根因调试。每当遇到损坏、失败、不稳定、缓慢或“奇怪”的问题时使用——错误消息、堆栈跟踪、失败的CI、生产环境中的5xx、Lambda超时、Terraform应用错误、CrashLoopBackOff中的Pod。在提出任何修复之前使用它,确保修复针对原因而非症状。

claude_skills 是什么?

这是一个系统化的根因调试技能,专为AI Agent(如Claude Code)设计,用于处理各类故障场景。它提供了一套七步方法论:从精确捕获失败信息开始,接着尝试复现、确定变更内容、形成并排序假设、逐一测试假设、针对原因修复并编写回归测试,最后在相同复现环境下验证。技能还根据症状类型给出了快速排查指南,例如本地正常但CI失败应检查环境变量和依赖版本,间歇性问题应关注共享状态和网络延迟等。此外,它规定了关键规则:先读日志再读代码、添加临时日志后需清理、避免通过扩大权限或禁止错误处理等“修复”方式。适用平台包括Claude Code等AI编码工具,可有效提升调试效率,确保修复针对根因而非表面症状。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mdesoeuv/claude_skills/tree/HEAD/skills/debug

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

调试

昂贵错误在于修复第一个看似合理的原因。花费最初几分钟进行缩小范围,而不是修补。

方法

  1. 捕获确切的失败。 完整的错误文本、堆栈跟踪、退出代码、时间戳、请求ID、运行的命令。将其放入代码块。转述的错误会丢失那一个关键标记。
  2. 复现它。 找到最小、最快的方式按需触发它。如果无法复现,说明原因并从日志入手;不要默默猜测。
  3. 确定变更了什么。 git log --since、最近的部署、依赖项升级、配置或IAM变更、提供者升级、证书过期。大多数事件都是由变更引起的。
  4. 形成两个或三个假设,并按可能性及检查成本排序。在测试之前写下来。
  5. 一次测试一个假设,使用仅在该假设成立时才相关的变更。恢复没有帮助的更改;不要累积推测性编辑。
  6. 修复原因。 然后编写一个回归测试,该测试在没有修复时会失败(请参考tdd技能)。
  7. 以与复现相同的方式验证,并运行更广泛的测试套件。

根据症状查找位置

症状优先检查项
本地正常,CI失败环境变量、密钥、操作系统/架构、Node/Python版本、缓存依赖、时区、工作目录
间歇性/不稳定测试之间的共享状态、时间、顺序、网络、重试隐藏真实失败
AWS AccessDenied哪个主体(aws sts get-caller-identity)、资源策略 vs 身份策略、SCP、权限边界、KMS密钥策略、区域
Lambda超时/冷启动VPC连接、DNS、处理程序外初始化、内存大小、X-Ray中的下游延迟
Terraform错误提供者版本、状态漂移(terraform plan -refresh-only)、-target残留、锁定文件
Kubernetes Pod未就绪kubectl describe pod、事件、探针、资源限制、镜像拉取、Secret/ConfigMap挂载
部署后5xx比较之前的镜像/提交、健康检查路径、环境/配置差异、数据库迁移顺序

规则

  • 在阅读代码之前先阅读日志。日志告诉你“在哪里”;代码告诉你“为什么”。
  • 如果需要,添加临时日志记录,并在提交前移除它。
  • 切勿通过扩大权限、禁用TLS验证、捕获并吞掉异常或添加重试而不理解重试的对象来“修复”。
  • 当你修复时,用一句话写下:原因、为什么没有被捕获、下次如何预防。这句话放在PR或提交正文中。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相关技能