Skip to content
cccskills
FreePublished on GitHub

forge-bugfix

系统性 Bug 修复流水线(P0-P8):一次修一个,强制根因分析、独立 worktree、TDD、双层验收报告、forge-qa 回归;多会话经 .forge/active.md 防撞车。铁律:不做根因分析不写代码;新发现禁止顺手修;没有用户最终结论不合并。

触发方式:用户说"bugfix"、"反馈个问题"、"修这个 bug"、"这里有问题"、"为什么不对"、"排查一下"、"investigate"、"forge-bugfix",或报告错误、异常行为、功能失效时。

The English summary is being prepared. Showing the original description.

See how to install

Files included (11)

  • SKILL.md12.4 KB
  • README.md2.9 KB
  • references/p0-p1-session-setup.md8.9 KB
  • references/p2-scoping.md6.0 KB
  • references/p3-p5-fix-loop.md16.8 KB
  • references/p6-p7-acceptance.md20.0 KB
  • scripts/get-session-id.sh1.7 KB
  • scripts/validate-bugfix-report.py7.0 KB
  • templates/active.md3.3 KB
  • templates/backlog.md5.6 KB
  • templates/review-checklist.md9.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

文档落地路径:遵循 forge-doc-policy 规范。完整白名单 + frontmatter schema 见 ~/.claude/skills/forge-doc-policy/doc-paths.md。 当前文档加载顺序:先读项目 CLAUDE.md、docs/README.md、docs/INDEX.md、 docs/QA.md / docs/ENGINEERING.md 相关当前真相源,再读活跃 BF 报告和 backlog。 历史 BF 报告在 docs/archive/raw/bugfix-reviews/,只作追溯证据。 详细规则见 ~/.claude/skills/_shared/current-doc-loading.md。

/forge-bugfix:一次一 bug + Bug 修复验收报告

设计哲学

短会话、单 bug 隔离、结构化证据、可追溯、可丢弃。

核心机制:

  • Bug 修复验收报告:每个 bug 从登记/领取开始就创建活跃报告 docs/bugfix/reviews/BF-XX.md(status: draft)
    • 发现时:记录来源、现象、初始截图/日志、关联 Feature Spec
    • 修复时:记录 worktree、TDD 红绿证据、根因、commit、涉及文件
    • QA 时:forge-qa 回填前后端地址、环境身份校验、逐步截图、深度断言
    • 人工验收时:用户只看"人工验收指南"和同一组验收地址,填最终结论
    • 结案后:移动到 docs/archive/raw/bugfix-reviews/(status: archive),backlog 保留链接
  • 两种验收节奏:
    • 单 bug 模式:QA 全过后立即进入 P6.5,等用户验收该 bug
    • QA 自动闭环 / 批量模式:单 bug QA 通过后标记 qa-pass-pending-final-review,最后由批次汇总统一交给用户验收
  • 新发现必须分流(禁止顺手修):
    • 原 bug 未 Pass 前:只记录为“待确认新发现”,不进入当前修复
    • 原 bug 已 Pass 后:先明确告知用户“本次 bug 修复已完成”,再询问是否写入文档
    • 用户确认后,独立 bug → docs/bugfix/backlog.md 的待修区,分配 BF-XX 编号
    • 用户确认后,新需求 → docs/bugfix/backlog.md 的新需求区,建议 /forge-prd 立项
    • 用户确认后,模糊反馈 → docs/bugfix/backlog.md 的待澄清区
    • 同根(并入当前修复)→ AI 必须举证(同文件/同函数/同数据流的具体证据),举证不通过默认独立 bug
  • Pass 边界接力:
    • 只要原 bug 已 Pass,不论新问题来自用户验收、QA 发现,还是 AI 在修复中发现的衍生问题,都不得继续修
    • AI 必须先说清楚:原 bug 已收敛、证据是什么、当前修复到此关闭
    • 再问用户:是否把新问题更新到 docs/bugfix/backlog.md / 报告中
    • 用户确认后,AI 完成 P7.5 分流,并给一段简短接力 prompt,让用户开另一个会话继续
  • 下一个 bug 默认建议新会话或 /clear、/compact:
    • 上下文干净 + 边界清晰 + 避免长会话的 scope 蔓延
    • 除非用户明确要共因地一起修

演进历史和设计决策背景见 forge-cookbook/docs/forge-bugfix-changelog.md。

铁律

  1. 不做根因分析,就不写修复代码。 直觉再强也要先验证。
  2. 每次只修 1 bug,或 1-2 个经 P4.5 确认共因的 bug。其余进 docs/bugfix/backlog.md。
  3. 每个 bug 独立 worktree + 独立 TDD + 独立 commit + 独立 QA 回归。批量只做编排,不合并工程单元。
  4. 修完不自动合并,必须等用户填完单 bug 或批次最终验收结论。
  5. 没有活跃 Bug 修复验收报告不算完。每个 BF 编号必须先有 docs/bugfix/reviews/BF-XX.md,经 forge-qa 和用户/批次两层验收后才进 P7;P8 结案时归档到 docs/archive/raw/bugfix-reviews/。
  6. 新发现的 bug / 新需求 / 模糊反馈 → 原 bug Pass 后询问是否写入 docs/bugfix/backlog.md,绝不在当前修复内夹带。
  7. 同根判定必须举证。AI 声称"这条新发现是当前 bug 同根"时,必须列出具体证据(同文件、同函数、同数据流),证据不足默认为独立 bug。
  8. 并行协调必须登记(v6.0)。P2 确认范围 + P3 创建 worktree 之后,必须在项目根 .forge/active.md 追加一行会话登记;P2 推荐前必须读 .forge/active.md 做功能域判重;P7 合并前必须跑 git merge --no-commit --no-ff 预演。清理 active 的责任在 forge-fupan 或 /forge-status,不在 forge-bugfix 自己。
  9. 自动闭环有上限。同一 bug 连续回修失败 3 次,或遇到需求/设计/环境身份不确定,必须标记 blocked-human 并让用户判断,禁止无限循环。
  10. 生产写面先取授权(账本复发 5 次后固化,2026-07-17)。P2 范围确认时同步枚举本次修复预计触碰的仓库外写面(DB 写 / 部署 / 第三方账号写 / self-merge;判断标准:动作对象不在本仓库工作区内),一次性列清单向用户取点名授权,需要时请用户亲手在 .claude/settings.local.json 预置 allow 规则(AI 代改会被反自授权拦截);禁止逐次撞权限门后原样重试。

流程总览

═══════════ 会话级(每会话一次,多次修复复用)═══════════
P0  环境探测(前置脚本,自动执行)
P1  问题理解 + 强制读 PRD/ENGINEERING/Bugfix 历史/Memory

═══════════ 每次修复(一次一 bug,可循环)═══════════
P2   范围推荐
     ├─ AI 从 docs/bugfix/backlog.md 捞候选 + 列出本会话新报告的 bug
     ├─ AI 接收 forge-qa 发现的结构化 bug(若来自 QA 自动闭环)
     ├─ 推荐"本次修 X"(1 个 / 或 1-2 共因),其余 → backlog
     └─ 用户确认范围
P2.5 创建/更新 Bug 修复验收报告 docs/bugfix/reviews/BF-XX.md
     ├─ 写入来源、现象、初始证据、Feature Spec 场景、功能域、当前状态
     └─ 同步 backlog.md 的报告链接
P3   创建 worktree(端口预检)+ 复现
P4   根因追踪 + 假设验证 + 5 Whys + 修复方案确认
P5   worktree 内独立 TDD 驱动修复 + 原子提交
P5.3 ⭐ 更新 Bug 修复验收报告为待 QA 状态
     ├─ 写入 TDD 红绿证据、根因、修复摘要、commit、涉及文件
     └─ 写入人工验收指南草案,QA 区域留给 forge-qa
P6   ⭐ 调用 forge-qa 自动验收
     ├─ forge-qa 针对每个验证项跑自动化测试
     ├─ 强校验 Frontend/Backend 地址、PID、cwd、commit 一致性
     ├─ 把每个前端交互关键步骤截图嵌入报告
     ├─ QA 全过 → 单 bug 模式进 P6.5;批量模式标记 qa-pass-pending-final-review
     └─ QA 有挂 → 有界回 P5;达到上限或有疑问则 blocked-human
P6.5 ⭐ 用户人工验收 / 批次最终验收
     ├─ AI 输出"请人工验收 @ docs/bugfix/reviews/BF-XX.md"
     ├─ 用户打开文档填"你的验收"列 + 最终结论(Pass / Fail / Pass + 新发现)
     └─ 用户说"验收了" → AI 读报告 → 判定
P7   ⭐ 按最终结论分流
     ├─ Pass → worktree 合并决策(合并 / 暂存 / 推迟)
     ├─ Fail → 回 P5(只修原 bug,不接新问题)
     └─ Pass + 新发现 → 先完成当前修复的合并/暂存决策 → 进 P7.4
P7.4 ⭐ Pass 边界确认 + 文档更新询问
     ├─ 告知用户:本次 bug 已完成,当前修复到此关闭
     ├─ 列出新问题来源:用户反馈 / QA 发现 / AI 发现的衍生问题
     ├─ 询问是否写入 docs/bugfix/backlog.md / 报告索引
     ├─ 用户确认 → 进 P7.5 分流,并输出简短接力 prompt
     └─ 用户不确认 → 不写 backlog,不继续修新问题,结束本次 bugfix
P7.5 ⭐ 新发现分流到 backlog
     ├─ 逐条分析,AI 做分类判断(同根 / 独立 bug / 新需求 / 模糊反馈)
     ├─ 同根(声称时必须举证)→ 新 bug 建议在新会话修
     ├─ 独立 bug → backlog.md 的 🐛 待修区,分配 BF-XX
     ├─ 新需求 → backlog.md 的 💡 新需求区,建议 /forge-prd 立项
     └─ 模糊反馈 → backlog.md 的 🌀 待澄清区
P8   沉淀:归档 backlog 对应条目 + BF 报告移动到 archive/raw

═══════════ 出口 ═══════════
- 用户想继续修下一个 bug → 默认建议新会话或 /clear、/compact
  (除非明确共因才本会话继续,由用户主动选择)
- 全部完成 → 建议 /forge-review、/forge-ship 或 /forge-fupan

红线:

  1. 写任何修复代码前必须完成 P2-P4(含范围确认和 5 Whys 根因确认)
  2. 每个 BF 编号必须先有 Bug 修复验收报告(P2.5),修复后必须更新报告(P5.3)才能进入 QA
  3. 报告没有用户最终结论或批次最终结论前,不进 P7——即使 QA 全过
  4. 同根判定声称必须举证,证据不足默认独立 bug → 原 bug Pass 后问用户是否写入 backlog,再走新会话

阶段手册(按需加载,进入对应阶段前必读)

本文件只保留哲学、铁律、流程总览和 P8 收尾。执行各阶段前必须先读对应手册:

阶段必读文件内容
P0-P1(会话级准备)references/p0-p1-session-setup.md环境探测脚本、active.md 判重、PRD/ENG/历史阅读
P2/P2.5(定范围建报告)references/p2-scoping.mdbacklog 捞候选、范围确认、BF 报告创建
P3-P5.3(修复循环)references/p3-p5-fix-loop.mdworktree/复现、根因/5 Whys、TDD 修复、报告更新
P6-P7.5(验收与分流)references/p6-p7-acceptance.mdforge-qa 调用、人工验收、分流、边界确认

规矩:骨架没写的操作细节一律以对应手册为准;手册与骨架冲突时,以骨架的铁律和红线为准。 Mode B 调用 forge-qa 的参数契约以 ~/.claude/skills/forge-qa/SKILL.md「调用模式」节为唯一出处,本 skill 不再复制该表。


P8 沉淀与出口

docs/bugfix/reviews/{BUG_ID}.md 是处理中的案卷;结案后进入 archive/raw,成为历史证据。P8 只做这些硬动作:

  1. 如果 bug 来自 backlog,将待修条目移动到“已处理”区,并把链接改到 docs/archive/raw/bugfix-reviews/{BUG_ID}.md;已处理区永久保留。
  2. 将活跃 BF 报告从 docs/bugfix/reviews/{BUG_ID}.md 移动到 docs/archive/raw/bugfix-reviews/{BUG_ID}.md,frontmatter status 改为 archive,并确认截图链接仍可打开。
  3. 批量修复时维护 docs/bugfix/batches/BATCH-YYYY-MM-DD.md,用于最终人工验收汇总;每个 bug 的技术证据仍回到各自 BF 报告。
  4. Memory 默认不写,除非能说明这条经验下次会触发什么具体行为。
  5. 修复改变了设计(规则、文案、交互、阈值、prompt 等)时,调用 forge-feature-doc 更新需求设计文档对应部分并记一行关键改动;只是修回原设计则不用。
  6. 同类模式扫描不在 bugfix 内做,交给 /forge-review。
  7. 出口默认建议新会话或 /clear、/compact 后继续下一个 bug;全部完成则建议 /forge-review、/forge-ship、/forge-fupan 或 /forge-status。

补充速查(铁律与红线见上,此处只列正文未覆盖的执行细节)

  • 无法复现不修;3 次假设验证失败就停下来质疑架构(与铁律 9 的"回修失败 3 次 blocked-human"是两道不同的闸)。
  • P6 的 QA 截图、环境一致性和报告完整性不满足时,不得交给用户验收;用户结论只有 Pass / Fail / Pass + 新发现。
  • worktree 创建后如需启动应用,必须走项目统一 dev entrypoint;APP_URL 必须可追溯到正确 cwd/PID/commit。
  • 功能域标签从 active.md 声明区选,不自造。
  • 新发现只进 docs/bugfix/backlog.md,不进 TODO;顺手重构想法只写代码注释。

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

forge

Free

Forge 工作流总入口。只读检测项目状态,推荐下一步该用哪个 skill,自己不干活。触发方式:用户说"forge"、"下一步"、"接下来做什么"。

The English summary is being prepared. Showing the original description.

yike-gunshi/forge-skills13Updated Oct 14, 2026

通用头脑风暴:4 种模式(产品/内容/构建/探索)× 6 阶段,强制前提挑战和 2-3 方案,产出可跨会话续聊的思考文档;支持 Mermaid/图辅助判断。 触发方式:用户说"头脑风暴"、"brainstorm"、"讨论一下"、"我有个想法"、"帮我想想"、"画图梳理想法"。

The English summary is being prepared. Showing the original description.

yike-gunshi/forge-skills13Updated Oct 14, 2026

端到端交付纯编排层:调用 forge-* 子 skill 从需求一路编排到发布和文档,.deliver/state.json 检查点,支持 --auto / --resume。 触发方式:用户说"forge-deliver"、"端到端交付"、"全自动交付"。

The English summary is being prepared. Showing the original description.

yike-gunshi/forge-skills13Updated Oct 14, 2026

全栈设计规划:分级门控管理 DESIGN.md 与 DESIGN-CHANGELOG,内置可检索设计规则库(UX 规则/配色/字体),三层 Token、forge-design-lab 工作台门禁(布局/比例/密度在真 token 骨架上定,Image 2 退为气质稿)、反 AI 模板检测。 触发方式:用户说"设计"、"forge-design"、"先看效果图",或 forge-dev 调度、需要创建/更新设计文档时。

The English summary is being prepared. Showing the original description.

yike-gunshi/forge-skills13Updated Oct 14, 2026

设计实现:把 DESIGN.md 转成代码,只改样式不改逻辑;CSS 优先、Token 驱动、反 AI 模板、原子提交,以真实截图和 CSS 断言验证。 触发方式:用户说"实现设计"、"forge-design-impl"、设计文档确认后需要写代码时。

The English summary is being prepared. Showing the original description.

yike-gunshi/forge-skills13Updated Oct 14, 2026

在真实 token、真实像素的 HTML 骨架上做页面与组件的设计决策:生成可点、可改、可存的设计工作台,按七层逐节点审查,保存即导出 token 与 CSS 并回写 DESIGN.md 的 token 表。用户说「开工作台」「看骨架」「讨论 XX 的设计稿」「改 token」「我保存好了,按调整后的来」时用;只要在争论比例、密度、一屏几张、行长、栏宽、留白这类要看见才能判断的问题,哪怕没提工作台也用;forge-design 第三步遇到页面、组件、布局决策时必调。也负责全站唯一的设计零件库(一套模板 + 逐条确认的定制 + 守门检查):说「零件库」「设计模板」「全站设计 token 总表」「这个算不算定制」「查一下有没有用模板外的值」时用。不处理:DESIGN.md 散文与评分(forge-design)、产品代码(forge-eng、forge-design-impl)、效果图气质预判(Image 2)、实现后截图验收(forge-qa)、设计概念问答(直接答)。

The English summary is being prepared. Showing the original description.

yike-gunshi/forge-skills13Updated Oct 14, 2026

See all skills by yike-gunshi

Report a problem with this skill