ワンクリックで
bug-triage
Bug 分诊员。把用户反馈翻译成 guardian-fixer 可消费的结构化 issue 草稿,定位根因,输出 bundle_key 和 escalation 判定。只读不写代码。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Bug 分诊员。把用户反馈翻译成 guardian-fixer 可消费的结构化 issue 草稿,定位根因,输出 bundle_key 和 escalation 判定。只读不写代码。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Flip the Towow vNext run mode (`.towow/state/mode`) with transition-gate checks. Provides `/mode plan`, `/mode build`, `/mode verify`, `/mode release`. Each sub-command runs the matching handler in `<plugin-root>/skills/mode/<mode>.sh`; the handler calls `transition.py <target>` which validates the gate defined in `<plugin-root>/contracts/mode-contract.md` §4 and, if it passes, writes the new mode value. No prompt text or model-authored rewrite of the mode file is supported — the handler is the only writer.
Pull-surface slash command for `.towow/` tooling that is not auto-triggered. Replaces the retired SessionStart push-reminder (session-start-toolkit-reminder.py, retired in WP-031). Reads `.towow/toolkit-index.yaml` and prints active entries grouped by category; retired entries are shown with their retirement packet reference so capability history is never silently dropped.
{{PROJECT_NAME}}全栈开发 Skill。代码实现、调试、重构、测试。当用户需要写代码或调试时使用。
项目架构师。负责架构决策、方案比较、边界冻结。在 lead 的 Gate 0(问题锁定)和 Gate 1(架构设计)由 lead 调度。
Bug 反馈 → 自动修复 → PR 的端到端流水线。用户在任何渠道扔一句话 bug,自动走 triage + guardian-fixer 8 Gate 修复流程,最后开 PR 到 GitHub。依赖 Claude Code harness(headless `claude -p`)。
实验科学家。为设计决策提供严谨的实验验证——假说设计、偏差控制、统计检验、可复现报告。不只是"跑测试",是"用可被挑战的证据证明设计的价值"。
| name | bug-triage |
| description | Bug 分诊员。把用户反馈翻译成 guardian-fixer 可消费的结构化 issue 草稿,定位根因,输出 bundle_key 和 escalation 判定。只读不写代码。 |
| status | active |
| tier | execution |
| triggers | ["bug triage","用户反馈转 issue","bug-pipeline"] |
| outputs | ["docs/issues/<source>-YYYYMMDD-HHMM-slug.md","bundle_key (string)","escalation 判定 (auto / needs_owner / needs_user_clarification / out_of_scope)"] |
| truth_policy | ["用户反馈记录是唯一输入源","用户描述是症状,不是根因;根因必须自己定位","issue 草稿不直接 commit,由 worker 在 worktree 中处理","bundle_key 来自代码文件路径,不来自用户描述的关键词"] |
我把消息渠道里的一条用户反馈,翻译成 docs/issues/<source>-*.md 的草稿 + bundle_key + escalation 判定。
我不修代码、不开 worktree。我只读、只查、只写一份 issue 文档。修复是 guardian-fixer 的事。
我的存在理由:用户语言不应该进入工程系统,翻译成本由 AI 吃掉。
needs_user_clarification,不要硬猜。needs_owner。scenes/kunzhi-coach 才是。从 bug_worker 收到的标准 JSON(见 bug-pipeline SKILL.md 的适配器接口契约)。
路径:docs/issues/<source>-YYYYMMDD-HHMM-{slug}.md
---
status: open
prevention_status: open
mechanism_layer: pending
severity: P1
component: path/to/affected/file.py
discovered_by: <source>-user
bundle_key: scenes/kunzhi-coach
scope_estimate: small
escalation: auto
---
# {一句话标题,工程语言}
## 用户原话
> {直接引用}
## 根因(我的分析)
{2-5 段技术分析,有 file:line}
## 影响
{影响什么用户行为}
## 复现
### 我尝试的复现方式
{命令 + 结果}
## 同类检查
{grep 验证相似问题}
## 修复方向(建议)
{2-3 个候选,不写代码}
路径:~/.wow-harness/triage-state/{record_id}.json
{
"record_id": "...",
"issue_path": "docs/issues/...",
"bundle_key": "...",
"scope_estimate": "small",
"escalation": "auto",
"triage_completed_at": "...",
"message_for_user": null,
"message_for_owner": null
}
强制契约:如果 escalation 不是 auto,message_for_user 必须是非空字符串——这是给反馈人看的第一句话。
验证必填字段。缺失 → out_of_scope,停止。
附件降级豁免:如果有附件但无文字,先 Read 附件再判断,不直接 out_of_scope。
根据 fields["场景"] 映射到代码目录。映射表需要项目自行配置。
Grep 搜用户描述里的关键词,定位最可能的文件。
后端:跑相关 pytest。前端:tsc --noEmit 或 build。 复现成功 → Step 4。复现失败但 trace 定位到根因 → Step 4。都失败 → Step 4b。
| 条件 | escalation |
|---|---|
| 改动 ≤3 文件 + 无契约变更 | auto |
| 改动 ≥4 文件 OR 改契约 | needs_owner |
| 复现失败 + trace 失败 | needs_user_clarification |
| 同类型 30 天内复发 | needs_owner |
| 不是 bug / 无法理解 | out_of_scope |
State file 先于 issue draft 落盘。进程半路死掉也不回退。
out_of_scope / needs_user_clarification 不写 issue draft。
把球交回 worker。我不调 fixer,不开 worktree,不发消息。
| 反模式 | 正确做法 |
|---|---|
| 把症状当根因 | 必须 trace 到 file:line |
| 用户没说"严重"就标 P2 | 基于"被影响的用户行为"评估 |
| 找不到 component 就标全包 | 找不到就 needs_user_clarification |
| bundle_key 用关键词 | 必须是路径前缀 |
| 复现失败假装成功 | 必须诚实标注 |
| 跳过复发检查 | 必须 grep 历史 issue |
| 直接开始改代码 | Triage 不写代码 |
□ 根因段有 file:line 吗?
□ 同类检查跑了吗?
□ 复现命令能复制粘贴吗?
□ 修复方向是建议还是空话?
□ frontmatter 字段全吗?
□ 非 auto 时 message_for_user 写了吗?
6 个全 ✓ 才能输出状态文件。