--- name: coding-start description: 编码阶段入口与分发器。验证计划完成(docs/08 § 一 ①②③ 全勾)后按"先后端、再前端"次序检查并立即派发:后端未完成 → phase-driver {phase:backend};后端已完成 + 前端未完成 → phase-driver {phase:frontend};都完成 → 全部完成。本 skill 只做分发。 user-invocable: true allowed-tools: Skill Read Glob Grep Bash(cat *) Bash(git tag *) --- **所有输出必须使用中文。** 编码阶段的入口分发器。按"先后端、再前端"次序检查并立即派发到 `phase-driver`——本 skill **只做分发,不做功能实现**。 ## 执行步骤 ### 步骤 0:打印流程图 **第一件事**:打印 整体流程图。 ```bash cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/coding-start/banners/flow.txt" ``` ### 步骤 1:确认 docs/08 存在 检查 `docs/08-模块任务管理.md` 存在。 - 不存在 → 打印"⚠️ 项目尚未初始化,请先运行 `/erp-workflow:plan-start`"并停下。 ### 步骤 2:计划完成性检查 读取 `docs/08-模块任务管理.md § 一`,判断 ①②③ 三个 计划阶段是否**全部勾选**(含各阶段子项)。 - 任一未勾选 → 提示用户先运行 `/erp-workflow:plan-start` 完成计划阶段,并停下。 - 全部勾选 → 进入步骤 3。 ### 步骤 3:后端完成性检查 + 派发 读 `docs/08 § 二`,对每个后端模块的 `里程碑:` 字段(并用 `git tag -l 'milestone/'` 校验 tag 真实存在): - **任一模块 `里程碑: —` 或对应 `milestone/` tag 不存在** → 后端未完成,打印 `[coding-start] 后端未完成 → 派发 phase-driver(phase=backend)`,立即用 `Skill` 工具调用 `phase-driver` 并传入 `{ "phase": "backend" }`,本 skill 结束,不进入步骤 4。 - **所有模块 `里程碑: milestone/` 且 tag 存在** → 后端已完成,进入步骤 4。 ### 步骤 4:前端完成性检查 + 派发 读 `docs/08 § 三 整体里程碑:` 字段(并用 `git tag -l 'milestone/frontend-phase'` 校验): - **`整体里程碑: —` 或 tag 不存在** → 前端未完成,打印 `[coding-start] 后端已完成、前端未完成 → 派发 phase-driver(phase=frontend)`,立即用 `Skill` 工具调用 `phase-driver` 并传入 `{ "phase": "frontend" }`,本 skill 结束。 - **`整体里程碑: milestone/frontend-phase` 且 tag 存在** → 前端已完成,打印 `所有阶段已完成(后端模块 + 前端阶段里程碑均已标记)`,结束本 skill。 ## 参考 - `docs/08-模块任务管理.md § 一`(①②③ 计划阶段进度,步骤 2 读取) - `docs/08-模块任务管理.md § 二`(后端模块元数据 + 里程碑字段,步骤 3 读取) - `docs/08-模块任务管理.md § 三`(前端阶段整体里程碑,步骤 4 读取) - 下游: - `phase-driver {phase:backend}`(写后端:步骤 3 派发) - `phase-driver {phase:frontend}`(写前端:步骤 4 派发) - `plan-start`(姊妹入口,计划阶段) - `CLAUDE.md`(项目指令)