Back to skills
SKILL.md
Bug Debugging
ASecurity针对具体错误、失败测试、偶发异常或性能回归定位根因,并在用户确认修复方案后实施修复。适用于“排查这个 bug”“为什么这里失败”“修好这个异常”;不用于泛泛讲解报错含义、无具体症状的全仓找 bug 或仅评审 diff。
- 3 stars
- 0 votes
- 0 copies
- 1 view
- Added September 30, 2026
Security analysis
100/100Pro scans all 5 files and shows the line behind each finding
npx -y skills add Lixiuxiu559/AgentForge --skill bug-debugging --agent claude-codeAre you the author of Bug Debugging?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/lixiuxiu559-bug-debugging)---
name: bug-debugging
description: 针对具体错误、失败测试、偶发异常或性能回归定位根因,并在用户确认修复方案后实施修复。适用于“排查这个 bug”“为什么这里失败”“修好这个异常”;不用于泛泛讲解报错含义、无具体症状的全仓找 bug 或仅评审 diff。
---
# Bug 调试与修复
把一个具体症状推进到有证据的原因、可审阅的方案,以及经用户同意并验证的修复。
```text
确认症状 → 复现或取证 → 验证根因 → 展示方案并等待同意
→ 实施修复 → 回归验证与清理
```
## 执行边界
- **修复前必须展示原因、证据、修复方案、影响与验证办法,等用户明确同意该方案后再实施。** “帮我修好”、紧急程度、沉默或调查子 agent 的建议,都不代表对尚未展示的方案的同意。
- 用户只要求诊断时,交付结论与建议;不把诊断自动扩展成修复。已有具体方案和明确批准时复用批准记录,不重复确认。
- 确认前可读代码、运行本地测试、分析日志,在临时目录或隔离副本中制作复现与做可撤销的实验;不把实验性补丁应用到用户工作区,不修改业务代码、持久配置或弱化测试来“试修”。若取证必须改动用户工作区或共享环境,先说明具体诊断操作并取得同意;诊断授权不等于修复批准。
- 委派给 `research` 或 `implementation-workflow` 时传递当前阶段与授权范围,不通过委派绕过确认点。部署、外发、生产写操作不随修复批准自动获得授权。
## 1. 确认症状与当前状态
读取项目指令、相关代码与测试及当前 Git 状态,保留用户已有改动。明确期望行为的依据、实际行为、触发输入、版本/环境、影响范围;已有信息直接复用,只追问阻止调查的缺口。
先确认这是用户报告的那个失败。构建失败、缺失依赖或无效测试命令应单独记录,不能当作目标 bug 的复现。期望行为存在产品歧义时,先明确约定,不能把个人偏好当缺陷。
简单问题可用一个复现和一个有依据的假设完成诊断;不为填流程强凑多个原因、多个子 agent 或长报告。
## 2. 建立复现或可核对的观测
优先复用失败测试、用户操作或现有脚本。记录实际执行的命令/操作、环境、输入和关键输出;断言应能区分期望行为与该症状,不能只检查“没报错”。读代码以构造复现是允许的。
按需缩小输入和执行路径,每次缩减后重跑,并保留原始场景;缩减到足以区分原因即可,不要求证明全局最小。复杂复现、偶发异常、性能回归及仅人工可见的症状,按需读 `references/reproduction-strategies.md`。
无法复现时继续利用已有日志、调用链和环境差异取证,明确缺失信号;不得伪造失败命令或把一次通过当作不存在缺陷。调查受阻时交付已知事实、已排除项及最有区分力的下一项取证需求,不用猜测填满结论。
## 3. 用实验验证原因
从症状沿数据或控制流向上追踪:输入与状态在哪里首次偏离约定,什么触发条件使偏差传到用户可见结果。堆栈末端的报错位置不一定是原因。
有多个合理解释时列出候选,逐一写清“依据 → 预测 → 验证方法”;每次只验证一个假设或改变一个关键变量,失败后更新结论,不叠加补丁。用正常对照或反证检查解释是否只是在迎合现象。复杂调用链、插桩与证据交接见 `references/evidence-and-tracing.md`。
根因结论标注:**已验证**(触发链与区分性实验相符)、**有证据支持**(证据吻合但关键环节未验证)、**未确定**(仍有竞争解释)。附可定位的源码/日志证据和实际实验结果;修补实验变绿本身不足以排除隐藏错误或错误断言。
`research` 可调查限定的调用链、版本行为或日志问题。主 Agent 复用其报告,只抽查决定根因和修复方向的关键证据;不完整重跑调查。版本变化、证据冲突或缺失时才补查对应部分。委派方式和返回契约见 `references/evidence-and-tracing.md`。
## 4. 提交方案,等待用户同意
向用户说明以下内容,按问题复杂度控制篇幅:
1. **原因与证据**:发生条件、因果链、根因状态,以及仍未验证的部分。
2. **推荐修复**:要改的模块和行为、为什么能解决问题;有实质取舍时说明替代方案。
3. **影响与风险**:兼容性、调用方、数据或性能影响,以及必要的回退办法。
4. **验证办法**:如何证明旧行为失败、新行为符合约定,并覆盖原始场景及相邻边界。
最后明确询问是否按该方案实施,并**停在待确认状态**。不能一边问一边修改,不能先完成用户工作区中的修复再请求追认。展示示例与续接契约见 `references/proposal-and-handoff.md`。
根因未确定时,提交下一项取证计划;若用户需要先止损,把缓解措施与根因修复分开说明,单独征求同意,不承诺已找到根因。
## 5. 获批后实施修复
确认回复对应已展示的具体方案及范围;用户提出异议或另一个方案时,先分析并更新方案。批准后只实现该方案,不重复请求相同授权。根因、对外行为、影响范围或迁移方式发生实质变化时,暂停受影响的实施,解释变化并重新确认;局部实现细节不构成重新审批理由。
在能够覆盖真实触发路径的层次补回归验证,先见目标失败,再做最小必要修复;可以把诊断用的复现提升为仓库测试。既有失败测试充分覆盖时直接复用,不额外造测试。测试入口不足时选择集成测试、重放或人工验证并说明限制,不为写单测擅自重构架构。
单文件低风险修改直接实施;跨模块改动或需要集成时使用可用的 `implementation-workflow`,传入原因、证据、批准范围和验收标准。它负责实施组织,本技能继续负责原始症状是否解决。无相关技能或委派能力时按同一契约自行执行。
修复无效时回到证据和假设,撤销自己的失败实验,保留用户改动。连续失败或实验不再产生新信息时,停止堆补丁并复查前提、复现有效性和模块边界;失败次数不能证明架构有问题。新方案超出原批准范围时重新确认。
## 6. 验证、清理与交付
- 重跑回归验证和**原始未最小化的场景**,检查受影响的正常行为;按改动风险运行项目要求的检查,不无目的扩大测试。
- 偶发与性能问题记录前后样本和测量条件;一次通过不能证明偶发缺陷消失。环境不可用或用户操作尚未验证时明确报告。
- 清理本次临时探针与无用副本,检查最终 diff;保留有效回归测试和用户改动。不要用整文件回滚覆盖用户工作。
- 汇报原因、批准方案的实际改动、执行的验证及未解决项。只有证据支持时才称“已修复”,区分“已改但未验证”“仅缓解”和“调查受阻”。
通常在对话中交付。复杂调查需卸载上下文或用户要求保存时,遵循目标仓库报告目录约定,复用已有报告目录,兜底 `docs/research/YYYY-MM-DD-bug-debugging-主题.md`。长期复核所需的脱敏输入与命令应可重建,不留下指向已删除临时文件的唯一复现入口;临时数据不自动入库,也不擅自修改忽略规则。
## 技能验收
修改本技能时,用 `references/evaluation-cases.md` 检查诊断准确性、确认前后的文件变化和验证诚实性。结构校验只证明技能可发现,不证明调试有效。
Files in this skill
- SKILL.md
- references/evaluation-cases.md
- references/evidence-and-tracing.md
- references/proposal-and-handoff.md
- references/reproduction-strategies.md
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.