Commit 87ba268f624988d5c3ddc4e0dbab5b4364b89285

Authored by zichun
1 parent 5d67162b

skill(plan A3-A5): hoist 'tick docs/08 after step' boilerplate to a single global note

skills/plan/db-design-gen/SKILL.md
... ... @@ -9,6 +9,8 @@ allowed-tools: Read Write Edit Grep Glob AskUserQuestion
9 9  
10 10 # db-design-gen
11 11  
  12 +每步骤完成后用 `Edit` 在 `docs/08-模块任务管理.md` § 一 勾选对应子项。
  13 +
12 14 ## 执行步骤
13 15  
14 16 ### 步骤 A0:确认 ERP schema 约定(一次性)
... ... @@ -49,8 +51,7 @@ allowed-tools: Read Write Edit Grep Glob AskUserQuestion
49 51 2. 渲染「表清单」:对每张表:读取并填充 `${CLAUDE_SKILL_DIR}/templates/docs-03-table-template.md`,其中标准列区块用步骤 A0 确认的 `{{PK_CONVENTION}}` / `{{TENANT_COLS}}` 展开(`TENANT_COLS` = 「无」时不输出租户列行)。
50 52 3. 写入 `docs/03-数据库设计文档.md`。
51 53  
52   -完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选:
53   -- ` - [ ] docs/03-数据库设计文档.md 已生成`
  54 +勾选:` - [ ] docs/03-数据库设计文档.md 已生成`
54 55  
55 56 ### D. 回填模块头 + REQ 卡片的 TBD 字段
56 57  
... ... @@ -58,13 +59,11 @@ allowed-tools: Read Write Edit Grep Glob AskUserQuestion
58 59 2. 在这些文件中搜索 `TBD(A3 自动补)` 的并回填。 不动 `TBD(A5 自动补)`
59 60 3. 打印回填统计:`A3 回填 <M> 处模块"涉及表" + <N> 处 REQ"依赖表"`。
60 61  
61   -完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选:
62   -- ` - [ ] docs/01 各 REQ 卡片"依赖表" + 模块头"涉及表" 已回填`
  62 +勾选:` - [ ] docs/01 各 REQ 卡片"依赖表" + 模块头"涉及表" 已回填`
63 63  
64 64 ### E. 勾选 A3 顶层 + 停下等人工审阅
65 65  
66   -1. 完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选 A3 顶层(A3 两个子项已在 C / D 步骤分别勾选):
67   - - `- [ ] A3 DB 设计 + REQ 回填 — db-design-gen`
  66 +1. 勾选 A3 顶层(A3 两个子项已在 C / D 步骤分别勾选):`- [ ] A3 DB 设计 + REQ 回填 — db-design-gen`
68 67  
69 68 2. 打印停下横幅并**停下**,不调用任何下游 skill:
70 69  
... ...
skills/plan/db-init/SKILL.md
... ... @@ -9,6 +9,8 @@ allowed-tools: Read Write Edit Glob Skill Bash(node *) Bash(mysql *)
9 9  
10 10 # db-init
11 11  
  12 +每步骤完成后用 `Edit` 在 `docs/08-模块任务管理.md` § 一 勾选对应子项。
  13 +
12 14 ## 执行步骤
13 15  
14 16 ### A. DDL 生成(不依赖数据库连接)
... ... @@ -48,7 +50,7 @@ node &quot;${CLAUDE_PLUGIN_ROOT}/lib/validate-ddl.mjs&quot; \
48 50 3. 退出 0 → 进入 B;退出 1 且本轮 < 3 → 回步骤 1;本轮 ≥ 3 仍失败 → 停下,打印最终残留差异 + 已尝试的 3 轮修正摘要,让用户介入
49 51 - `2` → 用法错(docs/03 / V1 路径找不到),打印路径并停下
50 52  
51   -完成后(V1 写入并通过 `validate-ddl.mjs` 校验),用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选:
  53 +完成后(V1 写入并通过 `validate-ddl.mjs` 校验),勾选:
52 54 - ` - [ ] sql/migrations/V1__initial_schema.sql 已生成`
53 55 - ` - [ ] DDL 与 docs/03 全量一致`
54 56  
... ... @@ -64,8 +66,7 @@ mysql -h&lt;DB_HOST&gt; -P&lt;DB_PORT&gt; -u&lt;DB_USER&gt; -p&lt;DB_PASSWORD&gt; -e &quot;SELECT 1;&quot;
64 66  
65 67 成功 → 进入步骤 C;失败 → 打印具体错误(认证 / 主机不可达 / 端口拒接)并停下。
66 68  
67   -完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选:
68   -- ` - [ ] .env.local 凭据已验证(mysql -e "SELECT 1" OK)`
  69 +勾选:` - [ ] .env.local 凭据已验证(mysql -e "SELECT 1" OK)`
69 70  
70 71 ### C. 自动导入 MySQL
71 72  
... ... @@ -88,12 +89,11 @@ node &quot;${CLAUDE_PLUGIN_ROOT}/lib/apply-ddl.mjs&quot; .env.local sql/migrations/V1__ini
88 89 - `1` → 失败:打印 stderr 并停下
89 90 - `2` → 用法错(路径找不到),打印路径并停下
90 91  
91   -完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选:
92   -- ` - [ ] setup-test-db.mjs 防护通过 + DROP+CREATE + apply V1 已执行`
  92 +勾选:` - [ ] setup-test-db.mjs 防护通过 + DROP+CREATE + apply V1 已执行`
93 93  
94 94 ### D. 勾选 docs/08 进度 + 进入 A5
95 95  
96   -1. 完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选(A4 子项 + A4 顶层;DDL ↔ docs/03 5 维一致已由 A.3 校验过,V1 文件自此未变):
  96 +1. 勾选(A4 子项 + A4 顶层;DDL ↔ docs/03 5 维一致已由 A.3 校验过,V1 文件自此未变):
97 97 - ` - [ ] DDL ↔ docs/03 apply 后 5 维一致(validate-ddl.mjs)`
98 98 - `- [ ] A4 DB 初始化 — db-init`
99 99  
... ...
skills/plan/downstream-gen/SKILL.md
... ... @@ -9,6 +9,8 @@ allowed-tools: Read Write Edit Glob Grep Skill AskUserQuestion
9 9  
10 10 # downstream-gen
11 11  
  12 +每步骤完成后用 `Edit` 在 `docs/08-模块任务管理.md` § 一 勾选对应子项。
  13 +
12 14 ## 执行步骤
13 15  
14 16 ### A. docs/02 — 开发计划(含 REQ 级开发顺序清单)
... ... @@ -19,45 +21,39 @@ allowed-tools: Read Write Edit Glob Grep Skill AskUserQuestion
19 21 2. 为每项生成 `index`(从 1)/ `req_id` / `module_id` / `rationale`(依赖驱动短描述)/ `note`。
20 22 3. 读取并填充 `${CLAUDE_SKILL_DIR}/templates/docs-02-template.md`,写入 `docs/02-开发计划.md`。
21 23  
22   -完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选:
23   -- ` - [ ] docs/02 开发计划已生成`
  24 +勾选:` - [ ] docs/02 开发计划已生成`
24 25  
25 26 ### B. docs/05 — API 接口契约
26 27  
27 28 1. 读取 `${CLAUDE_SKILL_DIR}/templates/docs-05-header-template.md`,写入 `docs/05-API接口契约.md` 头部。
28 29 2. 对所有模块的每个 REQ:读取并推断 `${CLAUDE_SKILL_DIR}/templates/docs-05-endpoint-template.md`,追加到 docs/05。
29 30  
30   -完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选:
31   -- ` - [ ] docs/05 API 契约已生成`
  31 +勾选:` - [ ] docs/05 API 契约已生成`
32 32  
33 33 ### B2. 回填模块头 + REQ 卡片的 TBD(A5) 字段
34 34  
35 35 1. 在`docs/01-需求清单/*/_module.md`(模块头)和 `docs/01-需求清单/*/REQ-*.md`(REQ 卡片)中搜索并回填 `TBD(A5 自动补)`
36 36 2. 打印回填统计:`A5 回填 <M> 处模块"依赖模块" + <N> 处 REQ"依赖接口"`。
37 37  
38   -完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选:
39   -- ` - [ ] REQ 卡片依赖接口已回填`
  38 +勾选:` - [ ] REQ 卡片依赖接口已回填`
40 39  
41 40 ### C. docs/06 — 页面清单
42 41  
43 42 对每个有前端页面的模块:读取并填充 `${CLAUDE_SKILL_DIR}/templates/docs-06-module-pagelist-template.md`,追加到 `docs/06-UI交互规范.md` § 三。
44 43  
45   -完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选:
46   -- ` - [ ] docs/06 § 三 页面清单已填入`
  44 +勾选:` - [ ] docs/06 § 三 页面清单已填入`
47 45  
48 46 ### D. docs/08 — 追加模块清单
49 47  
50 48 读 `${CLAUDE_SKILL_DIR}/templates/docs-08-module-row-template.md`,按 `module_id` 字母序为每个模块渲染 bullet(模块元数据 + REQ 子项清单,REQ 序保持步骤 A 模块内顺序),追加到 docs/08。
51 49  
52   -完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选:
53   -- ` - [ ] 下方模块列表已填入`
  50 +勾选:` - [ ] 下方模块列表已填入`
54 51  
55 52 ### E. docs/10 — 验收清单(项目级 SOP)
56 53  
57 54 用 `Read` 读取 `${CLAUDE_SKILL_DIR}/templates/docs-10-header-template.md`,用 `Write` 原样写到 `docs/10-验收检查清单.md`(跨平台,不用 `cp`)。
58 55  
59   -完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选:
60   -- ` - [ ] docs/10 验收清单已生成`
  56 +勾选:` - [ ] docs/10 验收清单已生成`
61 57  
62 58 ### F. 验证 + 勾选 docs/08 进度 + 结束 Plan
63 59  
... ... @@ -71,8 +67,7 @@ allowed-tools: Read Write Edit Glob Grep Skill AskUserQuestion
71 67  
72 68 2. **docs/05 + docs/02 人工评审闸**(未确认不得勾选 A5):摘要展示 docs/05 全部端点(`METHOD PATH — REQ-ID`,标注「由 A5 自动推断」的项)+ docs/02 `req_order[]`(特别标 `note ≠ —` 的环依赖打破项)。`AskUserQuestion` 多问题表单同时问两项:「docs/05 端点/字段无误」+「docs/02 构建顺序可接受」,各二选一 `确认` / `需要修改`。任一需修改 → 收集修改点就地修订并重跑本闸,直到两项均 `确认`;否则禁止勾选 A5、禁止打印横幅。
73 69  
74   -3. 用 `Edit` 在 `docs/08-模块任务管理.md` 勾选 A5 父项:
75   - - `- [ ] A5 下游文档生成 — downstream-gen`
  70 +3. 勾选 A5 父项:`- [ ] A5 下游文档生成 — downstream-gen`
76 71  
77 72 4. 打印 A5 完成横幅并**停下**:
78 73  
... ...