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