Commit ce708e4b531aeeb1bbb9bbd101b753b2ffeaf39e

Authored by zichun
1 parent a734f10a

skills: prune dead allowed-tools grants + fix stale frontmatter/README refs

- db-design-gen: drop unused `AskUserQuestion` grant (the A0 convention-
  confirm step was removed; conventions are now fixed in step B). Update the
  stale README A3 row that still described the dropped AskUserQuestion flow.
- downstream-gen: drop unused `Skill` grant (terminal A step — it stops for
  /plan-start, never dispatches).
- skeleton-gen: QA banner 产出清单 referenced docs/07, which was removed
  (the skill itself states A2 no longer emits docs/06/07/09) → drop it.
- project-init: align description with body + README — dependency check is
  auto-install-then-stop, not give-instructions-and-stop.
README.md
... ... @@ -121,7 +121,7 @@ erp-workflow-plugin/
121 121 | A0 | `project-init` | • **依赖检查**:检测 git / mysql / node 是否在 PATH,缺失则按 OS 自动安装,装不上再停下提示用户<br>• 空目录初始化:用 Read/Write/Glob 工具拷模板创建 CLAUDE.md / docs/01/index.md / docs/08<br>• `git init` | `plan-start` |
122 122 | A1 | `scope-lock` | • 引导填项目概述 / 技术栈 / 需求索引<br>• 按 `docs/01-需求清单/<module>/{_module.md, REQ-*.md}` 子目录结构生成 REQ 卡片(CC 据 index.md 填 `{{req_id/title/goal/rules/constraints/acceptance}}` 6 个占位,模板其余内容含输入/输出示例字段表原样复制)<br>• **A1 终结校验**:REQ 6 个占位均填真实数据、无 `{{` 残留、`config-vars.yaml` **全部配置**(包名 / 端口 / 初始账号 + DB 凭据 / 密钥占位)已锁、各 stack 的 build/lint/unit/e2e 命令写入 docs/04 § 零;缺失则在此(Plan 期)用 `AskUserQuestion` 问清(敏感凭据由用户自填,不进会话)<br>• 据模板直接 `Write` 生成 `_module.md` / `REQ-*.md`<br>• 终结校验通过后**自动**调用 `Skill(skeleton-gen)` 进入 A2(不停下) | A0 |
123 123 | A2 | `skeleton-gen` | • 生成架构文档:docs/04 § 一+<br>• 生成跨平台工具脚本:`scripts/*.mjs`(**无 chmod**;凭据 / 配置统一在 A1 产出的 config-vars.yaml)<br>• 据 `gitignore-append-template` 用 Read/Write 并入项目 .gitignore | `plan-start` |
124   -| A3 | `db-design-gen` | • A3 起始用 `AskUserQuestion` 确认 ERP 约定(主键策略 / 租户列 / 列前缀规则,默认值可覆盖),结果写 docs/04 + CLAUDE.md<br>• 从 docs/01 REQ 卡片正向设计 `docs/03-数据库设计文档.md`(schema SSoT)<br>• 回填 REQ 卡片依赖表(`TBD(A3 自动补)` → 实际表名)<br>• **停下**等人工审阅 docs/03,审阅完毕用 `/plan-start` 续进 A4 | A2 |
  124 +| A3 | `db-design-gen` | • 套用固定 ERP 约定(列前缀 `i/s/t`、`iIncrement` 主键、`sBrandsId`/`sSubsidiaryId` 租户列)从 docs/01 REQ 卡片正向设计 `docs/03-数据库设计文档.md`(schema SSoT)<br>• 回填 REQ 卡片依赖表(`TBD(A3 自动补)` → 实际表名)<br>• **停下**等人工审阅 docs/03,审阅完毕用 `/plan-start` 续进 A4 | A2 |
125 125 | A4 | `db-init` | • LLM 解析 docs/03 → `sql/migrations/V1__initial_schema.sql`(DDL only)<br>• `node ${CLAUDE_PLUGIN_ROOT}/lib/validate-ddl.mjs` 校验 DDL ↔ docs/03(5 维:表/列名/列类型/索引/FK),fail-closed<br>• `node ${CLAUDE_PLUGIN_ROOT}/lib/apply-ddl.mjs config-vars.yaml V1.sql`(解析 config-vars.yaml database: 段 + mysql2 apply,**无 shell-source**) | A3 |
126 126 | A5 | `downstream-gen` | • 一次性生成 docs/02 / docs/05<br>• 回填 REQ 卡片依赖接口(`TBD(A5 自动补)` → 实际 endpoint)<br>• 追加模块清单到 docs/08 § 二<br>• **docs/05 + docs/02 评审闸**:用 `AskUserQuestion` 让用户确认 API 端点/字段无误 + 构建顺序可接受,未确认不勾 A5<br>• **prototype/ 门禁 + 推导 FE 清单写 docs/08 § 三**(原 A6 已并入;无 prototype 则问「无前端」→ § 三 留空)<br>• 最终占位符 + 结构残留扫描 | A4 |
127 127  
... ...
skills/plan/db-design-gen/SKILL.md
... ... @@ -2,7 +2,7 @@
2 2 name: db-design-gen
3 3 description: A3 DB 设计 + REQ 回填——基于 docs/01 REQ 卡片正向设计 docs/03 并回填 REQ 卡片与模块头的 TBD 占位。
4 4 user-invocable: false
5   -allowed-tools: Read Write Edit Grep Glob AskUserQuestion
  5 +allowed-tools: Read Write Edit Grep Glob
6 6 ---
7 7  
8 8 **所有输出必须使用中文。**
... ...
skills/plan/downstream-gen/SKILL.md
... ... @@ -2,7 +2,7 @@
2 2 name: downstream-gen
3 3 description: A5 下游文档生成——基于 docs/01 和 docs/03 推导,一次性生成 docs/02 + docs/05,回填 REQ 卡片依赖接口,把模块清单追加到 docs/08 § 二,并由 prototype/ + docs/01 + docs/05 推导 FE 清单写入 docs/08 § 三。这是 Plan 阶段最后一个 A 步骤(A6 已并入此处)。
4 4 user-invocable: false
5   -allowed-tools: Read Write Edit Glob Grep Skill AskUserQuestion
  5 +allowed-tools: Read Write Edit Glob Grep AskUserQuestion
6 6 ---
7 7  
8 8 **所有输出必须使用中文。**
... ...
skills/plan/project-init/SKILL.md
1 1 ---
2 2 name: project-init
3   -description: A0 项目初始化——从插件模板幂等地用 Read/Write 落盘 CLAUDE.md / docs/01-需求清单/index.md / docs/04-技术规范.md / docs/08-模块任务管理.md(已存在则跳过),做跨平台依赖检查(git/mysql/node 缺失则按 OS 给安装指引并停下),并初始化 Git(如未初始化)。plan-start 在 docs/08 缺失时派发本 skill。
  3 +description: A0 项目初始化——从插件模板幂等地用 Read/Write 落盘 CLAUDE.md / docs/01-需求清单/index.md / docs/04-技术规范.md / docs/08-模块任务管理.md(已存在则跳过),做跨平台依赖检查(git/mysql/node 缺失则按 OS 自动安装,装不上再停下提示用户),并初始化 Git(如未初始化)。plan-start 在 docs/08 缺失时派发本 skill。
4 4 user-invocable: false
5 5 allowed-tools: Read Write Glob Edit Skill Bash(node *) Bash(git init) Bash(git rev-parse *)
6 6 ---
... ...
skills/plan/skeleton-gen/SKILL.md
... ... @@ -106,7 +106,7 @@ docs/04 已由 scope-lock 写入 § 零。本步骤追加 § 一 ~ 三:
106 106  
107 107 每次弹 QA 前重扫;有残留则打印残留位置清单(文件:行号 — 说明)+ 再弹 QA。
108 108  
109   -QA 横幅涵盖:产出文件清单(docs/04 / 07 + scripts/*.mjs + .gitignore;config-vars.yaml 由 A1 产出,此处仅扫其待填项)、占位状态(N=0 或待填清单)、「继续」/「有疑问先沟通」两选项。
  109 +QA 横幅涵盖:产出文件清单(docs/04 + scripts/*.mjs + .gitignore;config-vars.yaml 由 A1 产出,此处仅扫其待填项)、占位状态(N=0 或待填清单)、「继续」/「有疑问先沟通」两选项。
110 110  
111 111 通过后(N=0 且用户选「继续」),用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选:
112 112 - `- [ ] A2 骨架生成 — skeleton-gen`
... ...