Commit f7306acf18ceccd35a1786b2b90a293e9115acc5

Authored by zichun
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 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 4 user-invocable: true
5 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 10 ## 第一步:读取 docs/08 + 决定分发目标
13 11  
14   -docs/08 § 一 是**Plan 阶段进度追踪**(A0~A6 的 checkbox)。§ 二的模块元数据由 coding-start 读写,本 skill 不读。
15   -
16 12 ### 分发判定
17 13  
18 14 1. **docs/08 是否存在**
... ... @@ -22,7 +18,7 @@ docs/08 § 一 是**Plan 阶段进度追踪**(A0~A6 的 checkbox)。§ 二
22 18 2. **根据 § 一 找到当前进度**
23 19  
24 20 **判定算法(务必按此执行,不要凭"表里含 Axx"判断;docs/08 § 一 模板始终列出 A0~A6 全部行,"含"恒为真)**:
25   - - 用 Read / Grep 把 `docs/08-模块任务管理.md § 一` 全文读出,按文件顺序自上而下扫描,找到**第一个 `- [ ]` 未勾子项**(仅看 § 一,§ 二 / § 三 不参与判定)。
  21 + - 用 Read / Grep 把 `docs/08-模块任务管理.md § 一` 全文读出,按文件顺序自上而下扫描,找到**第一个 `- [ ]` 未勾子项**(仅扫 § 一)。
26 22 - 该子项归属的父项 `Axx`(A0~A6)即为当前阶段,按下表派发到对应 skill。
27 23 - 若 § 一 所有 `[ ]` 都已变成 `[x]`(含父项与全部子项)→ 进入 §2.1 Plan 终结闸。
28 24  
... ... @@ -42,7 +38,7 @@ docs/08 § 一 是**Plan 阶段进度追踪**(A0~A6 的 checkbox)。§ 二
42 38  
43 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 43 #### 第 1 步:逐项校验前移闸门(用 Read / Glob / Grep,禁止跳过任何一项)
48 44  
... ... @@ -64,10 +60,10 @@ A 阶段所有 checkbox 均 `[x]` 时**不代表可以进 B 阶段**。Coding
64 60  
65 61 4. **docs/05 + docs/02 已评审**(来自 A5 downstream-gen 的评审闸)
66 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 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 67 - 否则(有前端):`Read` `docs/06-UI交互规范.md`,校验项目级 UI 约定 / Design Tokens / 组件库选型已确认;每个 FE-NN 的设计决策表非占位;prototype 闸门已过(docs/08 § 一 A6 勾选即代表此项已由 A6 skill 锁定,但仍核对 docs/06 无 `【人工填写`/`TBD` 残留)。缺任一即缺口。
72 68  
73 69 #### 第 2 步(A):全部通过 → 放行
... ... @@ -85,17 +81,7 @@ A 阶段所有 checkbox 均 `[x]` 时**不代表可以进 B 阶段**。Coding
85 81 ✓ docs/05 API 契约 + docs/02 构建顺序已评审
86 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  
... ...