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