--- name: module-start description: 后端模块循环入口。定位当前未完成(未打里程碑 tag)模块与未完成 REQ,派发 feature-brainstorm 或 test-gate;幂等可重入。阶段路由由 coding-start 负责,本 skill 不感知前端阶段。 user-invocable: false allowed-tools: Read Write Skill Glob Grep Bash(git branch *) Bash(git checkout *) Bash(git rev-parse *) Bash(git status *) Bash(git symbolic-ref *) Bash(git tag *) --- **所有输出必须使用中文。** # module-start ## 职责说明 本 skill 单一职责:推进**后端模块循环**。`coding-start` 已在派发前确认存在未完成后端模块;本 skill 不再做"后端是否全完"的判定,也不感知前端阶段。 ## 执行步骤 ### 步骤 1:定位当前模块与本模块 REQ 列表 按 `docs/02 § 二 开发顺序清单` 的 REQ 顺序扫描,找到第一个所属模块尚未打里程碑 tag 的模块作为 `current_module`,并抽取本模块 REQ 序列。 模块状态判定(`里程碑:` 字段 + `git tag -l 'milestone/'` 存在性)参见 `CLAUDE.md § ✅ 阶段完成判定规则 § 状态语义`。 找到 `current_module` 后,从 docs/02 § 二 的 REQ 列表里取出所有 `module_id == current_module` 的项,按原序得 `req_list[]`(A5 约束保证同模块 REQ 连续)。模块名、需求卡目录等其它字段由后续步骤按需从 `docs/08 § 二` 或 `docs/01-需求清单/` 取,不在本步骤预读。 约束: - 模块完成 = `docs/08 § 二` 该模块 `里程碑:` 字段为 `milestone/` 且 `git tag -l` 能查到该 tag;二者任一缺失即视为未完成 - 任何文件读取或解析失败 → 打印错误并停止 ### 步骤 2:找不到未完成后端模块的处理 如果步骤 1 没找到任何未完成的后端模块——理论上不应触达此分支(`coding-start` 步骤 3 已确认存在未完成模块才会派发到本 skill),属于异常调用: - 打印诊断:"`module-start` 未发现未完成后端模块。请通过 `/erp-workflow:coding-start` 入口重新驱动——coding-start 会按 docs/08 § 二/§ 三 自动路由到正确阶段(后端 / 前端 / 全部完成)。" - 结束本 skill,不派发下游 ### 步骤 3:确保处于模块分支 确保工作树位于 `target_branch = module-`(例 `module-module_sys`)。 - 已在该分支 → 继续步骤 4 - 该分支已存在但当前不在 → checkout 过去 - 该分支不存在 → 先把工作树切到本地默认分支(main 或 master,已由 milestone-tag 的本地 merge 累积所有已完成模块),作为新分支的干净 base,再 `git checkout -b` 创建模块分支 任何错误(定位不到默认分支 / 切换前工作树脏 / checkout 失败)一律停下并打印诊断信息,不自动 stash、不强制覆盖。 ### 步骤 4:计算已完成 REQ 集合 `done_reqs[]` 对 `req_list[]` 中每个 REQ,检查 `docs/superpowers/reviews/` 下是否存在该 REQ 的 review 文件、且其 `verdict` 字段为 `approve`。两条件都满足 → 收入 `done_reqs[]`,步骤 6 推进时跳过这些 REQ。 每次进入本 skill 都重新计算(不缓存),保证中断/重跑后能从最新进度继续。 ### 步骤 5:渲染并打印模块横幅 按 `${CLAUDE_SKILL_DIR}/templates/module-start-banner-template.md` 渲染输出。 ### 步骤 6:派发 - 还有未完成 REQ → 调用 `Skill(feature-brainstorm)` 启动该 REQ 的功能循环 - 本模块 REQ 全部完成 → 调用 `Skill(test-gate)` 进入模块测试闸门 ## 参考 - `docs/02-开发计划.md § 二 开发顺序清单`(分发权威) - `docs/08-模块任务管理.md § 二`(后端模块元数据,含 `里程碑:` 字段;完成判定以 tag 存在为准) - `docs/superpowers/reviews/*.md`(REQ 级进度事实——verdict=approve 即完成) - `${CLAUDE_SKILL_DIR}/templates/module-start-banner-template.md` - 下游: - `feature-brainstorm`(每个未完成 REQ) - `test-gate`(本模块全部 REQ approve 后;phase=backend 由分支推断) - 上游:`coding-start`(步骤 3 派发到此;后端模块全部打里程碑时不会派发到此)