用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/ryanzhao1011/workframe --skill systematic-debugging命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | systematic-debugging |
| description | 系统化调试 SOP,通过复现→根因→影响面→修复→回归的五步流程,避免盲目修 Bug 引入新问题 |
| when_to_use | 用于 Bug 调试、根因分析、复现验证、影响面评估、回归避免时调用。 典型触发:"修这个 bug" / "为什么会出错" / "复现 X" / "根因是什么" / "影响面"。 不用于:技术方案设计(用 technical-design)/ 代码审查(用 code-review)/ 测试用例设计(用 test-case-design)。 |
| user-invocable | true |
| allowed-tools | ["Read","Write","Edit","Glob","Grep","Bash"] |
RCA / 调试结论默认只在响应中呈现。需要留痕时:修复本身进 commit message;
值得跨需求复用的根因结论按 skill: document-norms §1 落 <sub>/decisions/;
线上故障走 projects/issues/BUG-*.yaml。不默认写文件。
先理解,再修复。修复前必须能回答三个问题:
目标:确认问题存在且能稳定复现。
| 步骤 | 动作 |
|---|---|
| 读取 Issue | 从 projects/issues/{issue-id}.yaml 读取问题描述、复现步骤(issue-id 是全局唯一扁平 ID,例:BUG-001 / SEC-001;issues 目录是扁平结构,不按模块分子目录) |
| 解析归属 | 读取 Issue 的 area / module / component / spec_ref 字段,决定影响面分析的起点(例:area=backend, module=auth 提示先排查 auth 模块代码与相关 spec) |
| 构造复现条件 | 按 Issue 描述构造输入数据、执行环境、操作序列 |
| 执行复现 | 运行并观察实际输出 vs 期望输出 |
| 复现结论 | ✅ 能稳定复现 / ⚠️ 偶发 / ❌ 无法复现 |
如果无法复现:
status: open,把「待补充的复现信息」写进 issue 的复现步骤/描述字段(issue schema 无 tags 字段,见 projects/issues/TEMPLATES.md)目标:定位问题代码并理解"为什么会出错"。
## 根因分析
### 症状
{Bug 的外在表现}
### 触发路径
{代码执行的调用链:A → B → C → 出错}
### 根因
{具体哪行代码、哪个逻辑导致问题}
### 为什么会写成这样
{原作者的意图 / 遗漏的边界条件 / 错误的假设}
### 为什么之前没暴露
{之前的使用场景为何没触发此问题}
目标:评估修复可能波及的其他模块(Blast Radius)。
| 评估维度 | 说明 |
|---|---|
| 代码依赖 | 谁调用了这段出错代码?改动后他们会受影响吗? |
| 数据影响 | 修复会改变数据结构/存储吗?老数据需要迁移吗? |
| 接口变更 | 是否改变了对外 API 行为?调用方需要知晓吗? |
| 性能影响 | 修复引入的新逻辑是否影响性能? |
| 安全影响 | 修复是否引入新的安全隐患? |
目标:执行修复并验证修复有效。
目标:为 @qa 标注此次修复的回归测试要点。
## 回归测试要点
### 必测(直接相关)
- [ ] 原 Bug 复现场景已修复
- [ ] 修复代码的边界条件测试
### 建议测(影响面)
- [ ] {被影响的模块 A}
- [ ] {被影响的模块 B}
### 关注点(潜在风险)
- {需要长期观察的性能/稳定性指标}
## RCA 报告:{Issue-ID}
### 1. 复现确认
- 复现结果:{✅ 稳定复现 / ⚠️ 偶发 / ❌ 无法复现}
- 复现步骤:{...}
### 2. 根因分析
- 症状:{...}
- 触发路径:{...}
- 根因:{具体代码位置 + 错误逻辑}
- 为什么会写成这样:{...}
### 3. 影响面评估
- 代码依赖:{...}
- 数据影响:{...}
- 接口变更:{...}
### 4. 修复方案
- 修改文件:{路径}
- 修改内容:{具体改动}
- 自测结果:{...}
### 5. 回归测试要点
- 必测:{...}
- 建议测:{...}
pending_qa