Files
.pouch/skills/bugfix-ship/SKILL.md
T
2026-10-13 20:17:26 +08:00

51 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: bugfix-ship
description: >-
处理已复现或有证据的 bug:查根因、修复、补回归测试、验证并按配置继续发 PR、合并、
构建、发布和部署。用户说修复、修好、回归、上线 bug 时使用;不处理新需求规划。
---
# Bugfix Ship:修复到交付
将一次 bug 修复推进到项目配置允许的最终停止点,而不是在本地测试通过后提前结束。
## 何时使用
- 用户报告错误、回归、崩溃、截图缺陷或明确要求修 bug。
- 用户要求修复后继续测试、发 PR、合并、构建、发布或部署。
## 不适用
- 尚未定义目标的复杂新需求:交给 `specifier` 和 `requirement-flow`。
- 已有 PR 的合并和发布:交给 `pr-ship`。
- 只做根因分析、不改代码:使用 `hunt`。
## 工作规则
1. 读取项目约束、当前分支/工作树和相关任务;使用 `hunt` 确认根因、复现和验收信号。
2. 修改代码并补充或更新回归用例;行为、API、图片、UI 改动不得只跑编译。
3. 使用 `tester` 执行黑盒、浏览器或真机验证;涉及资源加载时检查真实 URL、状态、类型、
内容和截图,不把接口返回“有 URL”当作图片可用。
4. 读取并执行共享 `delivery-loop` 的状态机。停止点由用户选择或项目 delivery profile
决定,使用 ACK canonical 状态:`verified`、`validation_ready`、`review_ready` 或 `released`。
5. 只有达到配置的停止点并拿到证据后才结束;提交、推送、合并、发布和部署不能静默跳过。
需要产物时只调用 builder `obtain.sh --sha <merged-or-pushed-commit>`:CI 项目等该
SHA 的流水线,失败(无流水线、job 失败、digest 不对)则停止,不要本机 `docker push`。
合进默认分支若项目不构建,把预览推到 `dev/*` 或等 releaser 打 tag。
## 安全门
- 根因不清、测试缺失、真机不可达、CI/回归失败或工作树有无关改动时停止并说明。
- 不强推、不覆盖他人分支、不绕过 PR 审核,不把测试环境成功当生产成功。
- 数据迁移、破坏性 API、权限/密钥、安全修复和不可逆生产操作需要额外确认。
## 必读资料
- 执行交付阶段时读取已安装的 `delivery-loop` skill 及其状态机 reference。
- 测试环境或回归时使用项目的 `tester`、`deployer` 和 `builder` 契约。
- 提交、合并或发布前使用 `check` 与 `releaser` 的规则。
## 完成报告
报告根因、变更、测试/真机证据、停止点、commit、PR/tag、产物摘要、部署状态和任何未完成项。