بنقرة واحدة
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 个全 ✓ 才能输出状态文件。