SKILL.md 2.12 KB

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-<REQ-id>.md
    • 向会话打印一句话摘要 + 指向计划文件的路径
    • 停止 — 在用户决策前不调用任何后续 skill

输出

red-flag-check: 通过(仅会话),或一个 ## 🚩 Blocker 块追加到功能计划文件。

参考

  • ${CLAUDE_SKILL_DIR}/templates/red-flag-block-template.md
  • CLAUDE.md § 🚩 静默执行红旗清单(权威 6 条)
  • CLAUDE.md § 🟡 软规则(S2 跨模块改动,不触发红旗但需留痕)