--- name: interrupt-check description: 在每个功能循环步骤和生成重要制品前运行。检查 CLAUDE.md 中的 3 项中断清单,触发任一项则追加 Blocker 到计划文件并停止。 user-invocable: false allowed-tools: Read Write Bash(mysql *) --- **所有输出必须使用中文。** # interrupt-check ## 说明 验证 CLAUDE.md § 🚩 中断机制中的 3 项均未触发。触发任一项则中断。 > 需求歧义 / schema 缺口 / 技术栈外组件引入等场景由各 feature-* skill 的 `AskUserQuestion` 流程承接,不进入本清单,不会在这里触发。 ## 调用时机 - 每个功能循环步骤开始前(3.1-3.5) - 生成模块级制品前(模块报告、MR 描述) - 用户请求涉及外部依赖、环境凭据变更时 ## 检查清单(3 项 — 权威来源:CLAUDE.md) 1. **测试反复失败** — 同一功能中同一测试连续 10 次修复失败 2. **要改密钥/账密/包名** — 涉及 `docs/07-环境配置.md` 中的人工填写字段 3. **外部接口不可达** — 第三方 API / 证书 / 网络问题 ## 执行步骤 1. 读取当前功能的规格/计划文件路径(从对话或 `docs/08` 获取)。 2. 逐项检查 3 个中断。如果全部未触发 → 输出 `interrupt-check: 通过`,退出。 3. 触发时: - 用 `Read` 读取 `${CLAUDE_SKILL_DIR}/templates/interrupt-block-template.md` - 填充槽位(interrupt_number、interrupt_name、description、affected_scope、recommendation、decision_needed) - 将渲染后的块追加到当前计划文件:`docs/superpowers/plans/YYYY-MM-DD-.md` - 向会话打印一句话摘要 + 指向计划文件的路径 - **停止** — 在用户决策前不调用任何后续 skill ## 输出 `interrupt-check: 通过`(仅会话),或一个 `## 🚩 Blocker` 块追加到功能计划文件。 ## 参考 - `${CLAUDE_SKILL_DIR}/templates/interrupt-block-template.md` - `CLAUDE.md` § 🚩 中断机制(权威 3 条) - `CLAUDE.md` § 🟡 软规则(S2 跨模块改动,不触发中断但需留痕)