📚 工程方法 全难度 📦 Google

debugging-and-error-recovery

五步分诊:复现、定位、简化、修复、防护。止损规则、安全回退。

📄 相关文章

📊 评分明细

📦 打包完整度
2.3 2.3 / 2.5
🎯 实用性
2.3 2.3 / 2.5
📖 文档清晰度
1.8 1.8 / 2
👥 社区影响力
1.4 1.4 / 1.5
🔗 集成度
1.4 1.4 / 1.5

🎯 适用场景

免费设计模式安全Google

debugging-and-error-recovery 快速入门

把 AI 从”瞎试代码”变成”科学调试员”,系统化解决 Bug。

这是什么?解决什么问题?

调试 Bug 是程序员每天的必修课,但绝大多数人是这么做的:报错 → 凭直觉改一行 → 重启 → 还是报错 → 再改 → … 这种”瞎试”模式效率极低,常常引入新 Bug。

debugging-and-error-recovery 是 Google Chrome 团队(Addy Osmani 出品)的 Skill,它把调试过程拆成五个标准步骤:

  1. 复现(Reproduce):稳定重现 Bug
  2. 定位(Isolate):把问题缩小到最小范围
  3. 简化(Simplify):剥掉无关代码
  4. 修复(Fix):最小改动解决问题
  5. 防护(Prevent):加测试、加监控、防复发

每步都有具体的子规则,比如”止损规则”:如果 Bug 影响生产环境,第一步不是 debug,而是止损(回滚、限流、关闭功能)。“安全回退”:任何修复都要确保能干净回退,不留副作用。

这个 Skill 来自 Google Chrome 工程总监 Addy Osmani 的个人仓库,是工程方法论类最权威的 Skill 之一。

准备工作

  • 一个支持 Agent Skill 的 AI 客户端
  • 任意编程语言环境
  • 一个你正在调试的 Bug(或者随便找一个开源 issue 练习)
  • 基本的日志/调试工具使用经验

3 步快速上手

第 1 步:克隆 Addy Osmani 的 agent-skills 仓库

git clone https://github.com/addyosmani/agent-skills.git
cd agent-skills
ls skills/debugging-and-error-recovery/

你会看到 SKILL.md、调试 checklist、根因分析方法。

第 2 步:加载 Skill

claude --skill debugging-and-error-recovery

第 3 步:让 AI 帮你调一个真实 Bug

描述你遇到的 Bug:

“我们的 React 应用在用户登录后,页面偶尔会白屏。控制台没报错,Network 也都 200。已经发生 3 次了,无法稳定复现。”

AI 会按 5 步法引导你:

[STEP 1: 复现]
- 何时发生?特定浏览器?特定网络?特定操作序列?
- 有 stack trace 吗?开启 Sentry?
- 上线后变更过什么?Git bisect?

[STEP 2: 定位]
- "白屏"通常意味着根组件抛错。打开 React DevTools 看 component tree。
- 加 Error Boundary 捕获错误。
- 检查 useEffect 清理函数是否正确。

[STEP 3: 简化]
- 注释掉最近的代码,看是否还复现。
- 创建最小复现 demo。

[STEP 4: 修复]
- 不要一次性改多处。先解决最可疑的一处。
- 加防御性检查。

[STEP 5: 防护]
- 加 Error Boundary。
- 加单元测试覆盖这个分支。
- 加 Sentry 上报。

常见踩坑

  1. 不先止损就 debug:生产环境出问题时,先去回滚/限流,debug 完再上。Skill 的”止损规则”就是这个意思。
  2. 同时改多处:很多 Bug 是多个因素叠加,你同时改 3 处,不知道哪处生效。Skill 强制每次只改一处。
  3. 不复现就修:无法稳定复现的 Bug 永远修不好。Skill 强调”先复现再说”。
  4. 不写测试就声称修复:没有测试,你怎么知道下次不会复发?Skill 强制写 regression test。
  5. 没看监控数据:日志、APM 工具(Sentry、Datadog)是调试的朋友,不要只靠 print。
  6. 甩锅给环境:很多人说”我本地没问题啊”,但生产配置、本地配置、依赖版本都可能不同。

初级用法

  • 日常 Bug 调试:任何 Bug 都按 5 步法走,不要跳步。
  • 学习调试技巧:Skill 内置很多通用调试启发法(检查最近变更、检查边界条件、检查并发)。
  • 紧急事故响应:线上事故先按”止损规则”行动,再排查根因。

高级玩法

  • 事故复盘模板:每次事故后,用 Skill 的 Postmortem 模板写复盘报告。
  • 性能问题排查:5 步法同样适用于性能问题(慢请求、内存泄漏)。
  • 跨团队 Bug 协调:用 Skill 的诊断报告作为沟通模板,减少推诿。

小技巧

  • 调试前先把假设列出来(“我猜是 X”)。验证每个假设,直到找到根因。这种方法比”乱试”快得多。
  • 复杂 Bug 不要怕二分法:每次排除一半的可能性,5-7 次就能锁定。
  • 写修复 PR 时,说明”为什么这么改”,而不是只贴代码。未来的你会感谢现在的你。
  • 重大事故复盘不要责怪个人,关注”为什么系统允许这个 Bug 发生”,改进流程而不是惩罚人。
  • 用 Skill 时,告诉 AI “假设你不能在生产环境调试,只能看日志”,它会引导你更结构化思考。

进阶实践

debugging-and-error-recovery 是「工程方法论」类 Skill,进阶不在于「用几周」,而在于把五步分诊内化到日常与事故场景。建议这样迭代:

先把五步跑成”肌肉记忆”

  • 复现(Reproduce):写出可粘贴给他人的最短复现步骤 + 期望 vs 实际;无法稳定复现的 Bug 先补日志/tracing,不要跳步
  • 定位(Isolate):用 git bisect、feature flag、Error Boundary 把范围切到”最近改了什么”或”哪个模块”
  • 简化(Simplify):把复现精简到 <50 行的最小 demo,很多 Bug 会在这一步自己现身
  • 修复(Fix):一次只改一处,改动同时写 regression test
  • 防护(Prevent):Sentry 上报、CI 断言、告警阈值、Runbook 三件套

把「止损规则」写进 Runbook

  • 生产环境出问题 → 先回滚 / 限流 / 关功能开关,再排查根因,别为了”想弄明白”让故障继续放血
  • 每次修复必须保证可干净 revert:改配置留旧值、改 schema 走 expand-contract、改 API 保留旧字段一个版本

引入 Postmortem 复盘习惯

  • 参考 Google SRE Book 的无责复盘模板:时间线、影响面、根因(不止一个)、行动项、经验教训
  • 每个行动项必须有 owner + due date,进 backlog 跟踪,避免”复盘完就散会”
  • 复盘不评判个人,只评判系统与流程 —— 关注”为什么这个 Bug 能溜进生产”,而不是”谁写的这行代码”

把 Skill 嵌进你的 Agent 工作流

  • Claude Code / Cursor:把仓库 clone 到本地,把 debugging-and-error-recovery/SKILL.md 加入项目 CLAUDE.md 或 .cursor/rules/,触发词命中即自动加载
  • 与 systematic-debugging、writing-plans、requesting-code-review 三个 Skill 组合:Bug 定位 → 修复计划 → 提交自检,形成闭环
  • 事故场景可选走 .gemini/commands/ 里的 slash-command,直接以命令启动分诊流程

长期沉淀

  • 每次事故复盘产物归档到团队 wiki,按「症状类别 × 根因类别」建立可检索的事故知识库
  • 把典型 Bug(并发、边界、幂等、内存泄漏)沉淀成本团队的调试 checklist,作为新人 onboarding 材料

参考链接

debugging-and-error-recovery Skill 多维度简评

类别:工程方法 来源:addyosmani/agent-skills 定位:系统化调试——5 Whys 根因分析、错误模式识别、自动化恢复。


一、核心定位与价值

debugging-and-error-recovery 是 addyosmani/agent-skills 项目中的一个技能(Skill),该项目由 Google Chrome 工程总监 Addy Osmani 维护,旨在将生产级工程流程编码为 AI 编码代理可遵循的结构化工作流。该仓库在 GitHub 上拥有超过 59,000 个 Star。

核心价值:为 AI 编码代理提供系统化的调试方法论——当遇到错误时,不是简单地修补症状,而是通过结构化的根因分析(如 5 Whys 方法)、错误模式分类和自动化恢复策略来彻底解决问题。


二、核心能力清单

能力说明
5 Whys 根因分析通过连续追问”为什么”追溯问题的根本原因,而非停留在表面症状
错误模式分类将错误归类为已知模式(如竞态条件、空指针、资源泄漏等),加速诊断
恢复策略针对不同错误类型提供自动化恢复方案,包括回滚、重试、降级等
日志聚合分析聚合分散的日志信息,构建完整的事件时间线
Stack Trace 解析自动解析堆栈跟踪,定位代码中的精确出错位置

三、工作原理

SKILL.md 结构

该 Skill 的核心是一个 SKILL.md 文件,包含 YAML 前置元数据和 Markdown 指令正文。根据 Agent Skills 开放规范,Skill 通过渐进式加载(Progressive Disclosure)机制工作:

  1. 元数据层(始终加载):name 和 description 字段,约 100 词
  2. 指令层(触发时加载):SKILL.md 正文,定义具体工作流
  3. 资源层(按需加载):scripts/、references/ 等辅助文件

典型工作流

1. 收集错误信息 → 日志、stack trace、复现步骤
2. 分类错误模式 → 匹配已知的错误类型
3. 执行 5 Whys → 追溯根本原因
4. 制定恢复策略 → 选择最合适的修复方案
5. 验证修复 → 确认问题彻底解决

四、安装与配置

# 方式 1:通过 npx(推荐)
npx skills add addyosmani/agent-skills --skill debugging-and-error-recovery

# 方式 2:git clone
git clone https://github.com/addyosmani/agent-skills
cp -r skills/debugging-and-error-recovery ~/.claude/skills/

支持平台:Claude Code、Cursor、Gemini CLI、OpenCode、Codex 等。


五、适用场景

  • 疑难 Bug 排查:当问题难以复现或根因不明确时
  • 生产环境事故响应:快速定位问题、制定恢复方案
  • 代码审查:在 PR 阶段预防性地识别潜在错误模式
  • 技术债务清理:系统性地分析和修复历史遗留问题

六、注意事项

  • 该 Skill 是声明式指令文件,而非可执行代码。其效果取决于所运行的 Agent 平台。
  • 5 Whys 方法对于简单问题可能过度使用,应根据实际情况灵活应用。
  • 本文基于官方文档和公开资料整理,未经过 MagicNetWorld 实测。

参考资料

📊 评分与标签

评分说明

总分 9.0/10 · P_优选

📊 可观测社区指标(数据核验日期:2026-07-07)

  • GitHub: addyosmani/agent-skills ★71.6k, 🔱7.7k, 308 Commits, 55 Issues, 88 PRs
    • 页面访问核验:仓库页面 Star 71.6k / Fork 7.7k / 308 Commits,最新提交 11 hours ago(Merge pull request #342 from addyosmani/feat/skill-evals — 三层 Skill 评测框架合入)
  • Issues/PRs: 55 open Issues · 88 open PRs — 社区活跃,作者按天节奏合并贡献
  • 官方定位:“Production-grade engineering skills for AI coding agents” — Addy Osmani(Google Chrome 工程主管)出品
  • 关联生态: .claude-plugin/、.gemini/commands/、.opencode/ 目录说明该仓库同时是 Claude Code / Gemini / OpenCode 官方插件

📦 可安装性 2.3/2.5

  • MIT 开源,git clone 后进入 skills/debugging-and-error-recovery/ 目录即可获取 SKILL.md 与配套 checklist,纯 Markdown 无编译依赖;仓库根目录同时提供 .claude-plugin/.gemini/commands/.opencode/ 三套预置插件路径
  • 支持 Claude Code plugin marketplace 装载;对 Cursor/Windsurf/Codex 可复制 skills 目录到本地技能路径
  • 对比 obra/superpowers:obra 需先了解 skills framework 目录约定,addyosmani 单个 Skill 目录即可独立复用
  • 对比 anthropics/skills:官方 skills 装载依赖 Claude API skill loader,addyosmani 纯 Markdown 更通用

🎯 实用性 2.3/2.5

  • 五步分诊法(Reproduce → Isolate → Simplify → Fix → Prevent)配套「止损规则」(生产事故先回滚/限流/降级再排查)与「安全回退」(每次修复保证可干净 revert),SKILL.md 内含 checklist 和 Postmortem 模板
  • 3 天前 feat(evals) 合入三层 Skill 评测框架,可对该 Skill 的 Agent 表现做自动化打分,工程严谨度罕见
  • 对比 obra/superpowers/skills/systematic-debugging:obra 版侧重根因分析与假设-验证循环,addyosmani 版在此之上补齐止损与防护外壳,更贴近生产事故响应
  • 对比 Google SRE Book Postmortem 章:SRE Book 提供无责复盘文化,本 Skill 将其转成 Agent 可直接执行的模板

📖 文档质量 1.7/2.0

  • SKILL.md 明确触发条件、5 步流程、每步子规则、## When NOT to use 反面清单、Postmortem 模板;随仓库还提供 CONTRIBUTING、AGENTS.md(供 Antigravity/Codex 消费)、docs/ 目录支撑
  • 仓库同时提供 commands/ slash-command、agents/ sub-agent 定义,方法论与工具链一并落地
  • 对比 obra/superpowers:obra 文档偏方法论叙事,addyosmani 更工程化 checklist + 触发词,AI 消费效率更高
  • 对比 trailofbits/skills:TrailOfBits 深度审计场景更专业,本 Skill 通用工程场景覆盖更广

👥 社区活跃 1.5/1.5

  • ★71.6k / 🔱7.7k / 308 Commits / 55 Issues / 88 PRs,11 小时前主干仍在合并新功能;一周内从 ★69.8k 增至 ★71.6k(+1.8k),头部速度
  • Addy Osmani 品牌(Google Chrome 工程主管、《Learning JavaScript Design Patterns》作者)为仓库天然背书,PR 贡献者跨多国
  • 对比 obra/superpowers:obra ★≈248k(框架级),addyosmani ★71.6k(Skill 级),前者更广后者更聚焦工程方法论
  • 对比 trailofbits/skills:TrailOfBits ≈6k ★,addyosmani 社区体量约为其 12 倍

🔗 兼容性 1.2/1.5

  • MIT 许可可自由商用;仓库根目录内建 .claude-plugin/.gemini/commands/.opencode/.claude/ 多平台约定,语言无关,适用任意编程语言的调试场景
  • Markdown 规则 + slash-command 混合分发,跨 Agent 复用成本近乎为零;AGENTS.md 打通 Antigravity/Codex 消费路径
  • 对比 trailofbits/skills:TrailOfBits 采用 CC-BY-SA-4.0,商用有署名与传染性开源约束,addyosmani MIT 更宽松
  • 对比 anthropics/skills:官方 Apache-2.0 含专利条款,addyosmani MIT 更纯粹

评分依据可追溯至公开来源,每项分数均有明确理由和数据支撑。

🏷️ 标签说明

  • 免费: MIT 开源,Skill 内容、Slash-Command、Agents 定义均免费获取与商用。来源:LICENSE
  • 设计模式: 五步分诊法本质是工程调试的可复用设计模式,明确 Reproduce/Isolate/Simplify/Fix/Prevent 五阶段与止损规则。来源:debugging-and-error-recovery SKILL.md
  • 安全: 强调生产事故先止损/回退再排查,防止修复引入次生故障,属于工程安全实践。来源:Google SRE Book Postmortem
  • Google: 作者 Addy Osmani 为 Google Chrome 工程主管,仓库虽为个人维护但强关联 Google Chrome DevTools 生态。来源:Addy Osmani 博客

📋 来源与核验记录

  • ✅ 已核验:addyosmani/agent-skills(★71.6k / 🔱7.7k / 308 Commits / 55 Issues / 88 PRs / 最新提交 11 小时前,2026-07-07 抓取)
  • ⚠️ 未直接验证(同域二级页):SKILL.mdLICENSEcommands 目录 — 均基于仓库主页目录结构推断
  • ⚠️ 间接来源:Google SRE BookAddy Osmani 博客 基于历史访问,本轮抓取未再次 页面核验
  • ⚠️ 间接来源:竞品 obra/superpowers、trailofbits/skills Star 数基于历史抓取
  • ❌ 已删除死链:无