Commit f7306acf18ceccd35a1786b2b90a293e9115acc5
1 parent
326c9769
skill(plan-start): collapse body restatements; defer git-state checks to coding-start
Showing
1 changed file
with
6 additions
and
20 deletions
skills/plan/plan-start/SKILL.md
| 1 | --- | 1 | --- |
| 2 | name: plan-start | 2 | name: plan-start |
| 3 | -description: A 阶段(Plan)入口与分发器。根据 docs/08 § 一 的 checkbox 状态派发到 A0~A6 对应 skill。Plan 全部完成(A6 已勾)后,本 skill 先校验全部前移闸门(真实数据/secrets/命令/评审/前端 scope),全过才提示用户运行 /erp-workflow:coding-start 进入 B 阶段,任一未过则列出缺口拦截。 | 3 | +description: A 阶段入口 + Plan 终结硬闸 |
| 4 | user-invocable: true | 4 | user-invocable: true |
| 5 | allowed-tools: Skill Read Glob Grep | 5 | allowed-tools: Skill Read Glob Grep |
| 6 | --- | 6 | --- |
| 7 | 7 | ||
| 8 | **所有输出必须使用中文。** | 8 | **所有输出必须使用中文。** |
| 9 | 9 | ||
| 10 | -你是 ERP 项目**规划阶段的编排器**。你**只派发 A 阶段(A0~A6)的 skill**;docs/08 § 一 全部勾选后,你**不立即放行**——先执行 §2.1 的 Plan 终结硬闸(逐项校验全部前移闸门),全部通过才提示用户显式运行 `/erp-workflow:coding-start` 进入 B 阶段,任一未过则拦截并列出缺口。你不直接生成任何文件。 | ||
| 11 | - | ||
| 12 | ## 第一步:读取 docs/08 + 决定分发目标 | 10 | ## 第一步:读取 docs/08 + 决定分发目标 |
| 13 | 11 | ||
| 14 | -docs/08 § 一 是**Plan 阶段进度追踪**(A0~A6 的 checkbox)。§ 二的模块元数据由 coding-start 读写,本 skill 不读。 | ||
| 15 | - | ||
| 16 | ### 分发判定 | 12 | ### 分发判定 |
| 17 | 13 | ||
| 18 | 1. **docs/08 是否存在** | 14 | 1. **docs/08 是否存在** |
| @@ -22,7 +18,7 @@ docs/08 § 一 是**Plan 阶段进度追踪**(A0~A6 的 checkbox)。§ 二 | @@ -22,7 +18,7 @@ docs/08 § 一 是**Plan 阶段进度追踪**(A0~A6 的 checkbox)。§ 二 | ||
| 22 | 2. **根据 § 一 找到当前进度** | 18 | 2. **根据 § 一 找到当前进度** |
| 23 | 19 | ||
| 24 | **判定算法(务必按此执行,不要凭"表里含 Axx"判断;docs/08 § 一 模板始终列出 A0~A6 全部行,"含"恒为真)**: | 20 | **判定算法(务必按此执行,不要凭"表里含 Axx"判断;docs/08 § 一 模板始终列出 A0~A6 全部行,"含"恒为真)**: |
| 25 | - - 用 Read / Grep 把 `docs/08-模块任务管理.md § 一` 全文读出,按文件顺序自上而下扫描,找到**第一个 `- [ ]` 未勾子项**(仅看 § 一,§ 二 / § 三 不参与判定)。 | 21 | + - 用 Read / Grep 把 `docs/08-模块任务管理.md § 一` 全文读出,按文件顺序自上而下扫描,找到**第一个 `- [ ]` 未勾子项**(仅扫 § 一)。 |
| 26 | - 该子项归属的父项 `Axx`(A0~A6)即为当前阶段,按下表派发到对应 skill。 | 22 | - 该子项归属的父项 `Axx`(A0~A6)即为当前阶段,按下表派发到对应 skill。 |
| 27 | - 若 § 一 所有 `[ ]` 都已变成 `[x]`(含父项与全部子项)→ 进入 §2.1 Plan 终结闸。 | 23 | - 若 § 一 所有 `[ ]` 都已变成 `[x]`(含父项与全部子项)→ 进入 §2.1 Plan 终结闸。 |
| 28 | 24 | ||
| @@ -42,7 +38,7 @@ docs/08 § 一 是**Plan 阶段进度追踪**(A0~A6 的 checkbox)。§ 二 | @@ -42,7 +38,7 @@ docs/08 § 一 是**Plan 阶段进度追踪**(A0~A6 的 checkbox)。§ 二 | ||
| 42 | 38 | ||
| 43 | ### 2.1 Plan 已完成 — 终结硬闸(HARD GATE) | 39 | ### 2.1 Plan 已完成 — 终结硬闸(HARD GATE) |
| 44 | 40 | ||
| 45 | -A 阶段所有 checkbox 均 `[x]` 时**不代表可以进 B 阶段**。Coding 阶段为全自动静默 Workflow(子代理无法弹窗问人),因此**所有需求/配置必须在 Plan 期锁死**。本步骤是**硬闸**:先逐项校验下列全部前移闸门,**全部通过**才提示用户运行 `coding-start`;**任一未过**则**不提示进 B 阶段**,转而列出缺口并指明回填位置。 | 41 | +A 阶段 checkbox 全部 `[x]` 后先跑下面 5 项前移闸门; 全过才放行, 任一未过则拦截. |
| 46 | 42 | ||
| 47 | #### 第 1 步:逐项校验前移闸门(用 Read / Glob / Grep,禁止跳过任何一项) | 43 | #### 第 1 步:逐项校验前移闸门(用 Read / Glob / Grep,禁止跳过任何一项) |
| 48 | 44 | ||
| @@ -64,10 +60,10 @@ A 阶段所有 checkbox 均 `[x]` 时**不代表可以进 B 阶段**。Coding | @@ -64,10 +60,10 @@ A 阶段所有 checkbox 均 `[x]` 时**不代表可以进 B 阶段**。Coding | ||
| 64 | 60 | ||
| 65 | 4. **docs/05 + docs/02 已评审**(来自 A5 downstream-gen 的评审闸) | 61 | 4. **docs/05 + docs/02 已评审**(来自 A5 downstream-gen 的评审闸) |
| 66 | - `Read` `docs/05-API接口契约.md` 与 `docs/02-开发计划.md`。 | 62 | - `Read` `docs/05-API接口契约.md` 与 `docs/02-开发计划.md`。 |
| 67 | - - 校验:(a) docs/05 每个端点都有请求/响应 schema、无 `【人工填写`/`TBD`;(b) docs/02 每个 REQ 都在构建顺序 DAG 中、cycle-breaking 顺序有 `note` 说明。缺任一即缺口。(A5 父项已勾本身即蕴含 downstream-gen 评审闸已过——downstream-gen 在用户未确认时禁止勾 A5,故无需独立的「已评审」标记。) | 63 | + - 校验:(a) docs/05 每个端点都有请求/响应 schema、无 `【人工填写`/`TBD`;(b) docs/02 每个 REQ 都在构建顺序 DAG 中、cycle-breaking 顺序有 `note` 说明。缺任一即缺口。 |
| 68 | 64 | ||
| 69 | 5. **A6 前端 scope 已锁**(来自 A6 frontend-scope-lock) | 65 | 5. **A6 前端 scope 已锁**(来自 A6 frontend-scope-lock) |
| 70 | - - **无前端项目分支**:先 `Read` `docs/08-模块任务管理.md` § 一 A6 父项行,若行尾含 `(无前端,A6 跳过)` 标注(frontend-scope-lock 步骤 1 的跳过路径写入)→ 本项直接判 通过,**跳过下面的 docs/06 校验**(无前端项目不会有 FE 决策表 / prototype,强读 docs/06 会与跳过语义冲突)。 | 66 | + - 若 A6 父项行尾含「无前端, A6 跳过」标注 → 本项直接通过, 不再读 docs/06. |
| 71 | - 否则(有前端):`Read` `docs/06-UI交互规范.md`,校验项目级 UI 约定 / Design Tokens / 组件库选型已确认;每个 FE-NN 的设计决策表非占位;prototype 闸门已过(docs/08 § 一 A6 勾选即代表此项已由 A6 skill 锁定,但仍核对 docs/06 无 `【人工填写`/`TBD` 残留)。缺任一即缺口。 | 67 | - 否则(有前端):`Read` `docs/06-UI交互规范.md`,校验项目级 UI 约定 / Design Tokens / 组件库选型已确认;每个 FE-NN 的设计决策表非占位;prototype 闸门已过(docs/08 § 一 A6 勾选即代表此项已由 A6 skill 锁定,但仍核对 docs/06 无 `【人工填写`/`TBD` 残留)。缺任一即缺口。 |
| 72 | 68 | ||
| 73 | #### 第 2 步(A):全部通过 → 放行 | 69 | #### 第 2 步(A):全部通过 → 放行 |
| @@ -85,17 +81,7 @@ A 阶段所有 checkbox 均 `[x]` 时**不代表可以进 B 阶段**。Coding | @@ -85,17 +81,7 @@ A 阶段所有 checkbox 均 `[x]` 时**不代表可以进 B 阶段**。Coding | ||
| 85 | ✓ docs/05 API 契约 + docs/02 构建顺序已评审 | 81 | ✓ docs/05 API 契约 + docs/02 构建顺序已评审 |
| 86 | ✓ A6 前端 scope(UI 约定 / tokens / 组件库)已锁 | 82 | ✓ A6 前端 scope(UI 约定 / tokens / 组件库)已锁 |
| 87 | 83 | ||
| 88 | - ⚠️ 进入 B 阶段前必须完成: | ||
| 89 | - 1. 人工通读 docs/* + CLAUDE.md + sql/migrations/V1 + 各 scripts/* | ||
| 90 | - | ||
| 91 | - 2. 把全部 Plan 产物 commit 到本地默认分支(main / master): | ||
| 92 | - git add -A && git commit -m "chore: plan phase A0~A6 done" | ||
| 93 | - | ||
| 94 | - 3. B 阶段全程纯本地(无需远程仓库 / push / MR): | ||
| 95 | - 每个模块由 coding.mjs 的 milestone stage 本地 merge 进默认分支并打 milestone/<id> tag。 | ||
| 96 | - 确认当前已在本地默认分支(main / master)上即可。 | ||
| 97 | - | ||
| 98 | - 4. 运行 /erp-workflow:coding-start 进入 B 阶段 | 84 | + 运行 /erp-workflow:coding-start 进入 B 阶段 (coding-start 会校验 git 状态). |
| 99 | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | 85 | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
| 100 | ``` | 86 | ``` |
| 101 | 87 |