Commit 6013e7fbf887fb31f4663d0b63fd8bdf9c12520f

Authored by zichun
1 parent 97cd7504

refactor: drop 7 per-step banner files + remaining bash deps

- Delete all 7 banners/flow*.txt and remove the banner step from each
  Plan skill (plan-start renumbered: gate=第1步, 放行/拦截=第2步 A/B).
- Drop now-unused Bash(cat *) from scope-lock/db-design-gen/downstream-gen/
  plan-start allowed-tools.
- downstream-gen: replace `cp` (not Windows-safe) with Read+Write, drop Bash(cp *).
- project-init: fix stale dispatcher name session-start -> plan-start.
- README: remove the Banners 清单 section.
README.md
... ... @@ -173,22 +173,6 @@ coding-start(skill)校验 Plan 终结闸 → Workflow({scriptPath:"…/workf
173 173 |---|---|---|
174 174 | `code-reviewer` | 统一 reviewer。`phase=backend` 跑通用代码审查维度;`phase=frontend` 附加前端 7 维 checklist(prototype 一致性 / design tokens / a11y / 响应式 / 业务校验前端复刻 / API 一致性 / 状态机覆盖,主观维度仅标记明显问题不触发 request-changes)。非交互,返回结构化 verdict,绝不弹窗 | `workflows/coding.mjs` 的 review stage:`agent(..., {agentType:'code-reviewer'})` |
175 175  
176   -## Banners 清单(7 份,`bash cat` 直接输出,绕开 LLM 复读)
177   -
178   -step 0 流程图被抽到独立 `.txt` 文件,SKILL.md 步骤 0 改为 `bash cat` 输出——保证 ASCII 边框对齐不被 LLM 复读破坏 + 减少 LLM 输出 token。
179   -
180   -| 所属 Skill | Banner 文件 | 用途 |
181   -|---|---|---|
182   -| project-init | `banners/flow.txt` | A 阶段流程图(▶ 标在 A0) |
183   -| scope-lock | `banners/flow.txt` | A 阶段流程图(▶ 标在 A1) |
184   -| skeleton-gen | `banners/flow.txt` | A 阶段流程图(▶ 标在 A2) |
185   -| db-design-gen | `banners/flow.txt` | A 阶段流程图(▶ 标在 A3) |
186   -| db-init | `banners/flow.txt` | A 阶段流程图(▶ 标在 A4) |
187   -| downstream-gen | `banners/flow.txt` | A 阶段流程图(▶ 标在 A5) |
188   -| plan-start | `banners/flow-overview.txt` | A 阶段整体流程图(入口处打印) |
189   -
190   -**字节对齐保证**:每个文件 17 行,每行 visible width = 58 cell(内宽 56 + 2 个 `│` 边框)。改动需重新校准。
191   -
192 176 ## Templates 清单(24 份)
193 177  
194 178 | 所属 Skill | 模板文件 | 用途 |
... ...
skills/db-design-gen/SKILL.md
... ... @@ -2,7 +2,7 @@
2 2 name: db-design-gen
3 3 description: A3 DB 设计 + REQ 回填——基于 docs/01-需求清单/<module>/REQ-*.md 正向设计 docs/03-数据库设计文档.md(业务实体 → 表 + 字段 + 索引 + 外键 + 业务注记),并把回填值写入 REQ 卡片的「依赖表: TBD(A3 自动补)」与模块头的「涉及表: TBD(A3 自动补)」占位。生成完毕停下等人工审阅。
4 4 user-invocable: false
5   -allowed-tools: Read Write Edit Grep Glob AskUserQuestion Bash(cat *)
  5 +allowed-tools: Read Write Edit Grep Glob AskUserQuestion
6 6 ---
7 7  
8 8 **所有输出必须使用中文。**
... ... @@ -16,14 +16,6 @@ allowed-tools: Read Write Edit Grep Glob AskUserQuestion Bash(cat *)
16 16  
17 17 ## 执行步骤
18 18  
19   -### 步骤 0:打印当前位置流程图
20   -
21   -用 `Bash` 执行 `cat` 命令向用户展示当前位置流程图(stdout 即 ASCII 框图):
22   -
23   -```bash
24   -cat "${CLAUDE_PLUGIN_ROOT}/skills/db-design-gen/banners/flow.txt"
25   -```
26   -
27 19 ### 步骤 A0:确认 ERP schema 约定(一次性)
28 20  
29 21 在正向设计 schema 之前,**先确认本项目的 3 项数据库约定**。默认值即现 ERP 约定,用户可逐项覆盖。结果写入 `docs/04` + `CLAUDE.md`,本 skill 后续步骤(B/C)严格引用确认后的值,不再字面写死。
... ...
skills/db-design-gen/banners/flow.txt deleted
1   -┌────────────────────────────────────────────────────────┐
2   -│ 📋 阶段 A:规划(一次性) │
3   -│ │
4   -│ A0 初始化项目 │
5   -│ ↓ │
6   -│ A1 锁范围(生成 REQ 卡片) → 人工审核 │
7   -│ ↓ │
8   -│ A2 生成骨架 │
9   -│ ↓ │
10   -│ ▶ A3 生成 DB 设计 → 人工审核 │
11   -│ ↓ │
12   -│ A4 初始化 DB │
13   -│ ↓ │
14   -│ A5 生成下游文档 │
15   -│ │
16   -│ 规划阶段到此结束 │
17   -└────────────────────────────────────────────────────────┘
skills/db-init/SKILL.md
... ... @@ -11,10 +11,6 @@ allowed-tools: Read Write Edit Glob Skill Bash(node *) Bash(mysql *)
11 11  
12 12 ## 执行步骤
13 13  
14   -### 步骤 0:打印当前位置流程图
15   -
16   -用 `Read` 读取 `${CLAUDE_PLUGIN_ROOT}/skills/db-init/banners/flow.txt`,再把其内容**原样直接输出**给用户(ASCII 框图,不要用 `cat`)。
17   -
18 14 ### A. DDL 生成(不依赖数据库连接)
19 15  
20 16 #### A.1 读 docs/03 并翻译为 DDL
... ...
skills/db-init/banners/flow.txt deleted
1   -┌────────────────────────────────────────────────────────┐
2   -│ 📋 阶段 A:规划(一次性) │
3   -│ │
4   -│ A0 初始化项目 │
5   -│ ↓ │
6   -│ A1 锁范围(生成 REQ 卡片) → 人工审核 │
7   -│ ↓ │
8   -│ A2 生成骨架 │
9   -│ ↓ │
10   -│ A3 生成 DB 设计 → 人工审核 │
11   -│ ↓ │
12   -│ ▶ A4 初始化 DB │
13   -│ ↓ │
14   -│ A5 生成下游文档 │
15   -│ │
16   -│ 规划阶段到此结束 │
17   -└────────────────────────────────────────────────────────┘
skills/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 + docs/06 § 三 + docs/10,回填 REQ 卡片依赖接口,把模块清单追加到 docs/08 § 二。
4 4 user-invocable: false
5   -allowed-tools: Read Write Edit Glob Grep Skill AskUserQuestion Bash(cat *) Bash(cp *)
  5 +allowed-tools: Read Write Edit Glob Grep Skill AskUserQuestion
6 6 ---
7 7  
8 8 **所有输出必须使用中文。**
... ... @@ -11,14 +11,6 @@ allowed-tools: Read Write Edit Glob Grep Skill AskUserQuestion Bash(cat *) Bash(
11 11  
12 12 ## 执行步骤
13 13  
14   -### 步骤 0:打印当前位置流程图
15   -
16   -用 `Bash` 执行 `cat` 命令向用户展示当前位置流程图(stdout 即 ASCII 框图):
17   -
18   -```bash
19   -cat "${CLAUDE_PLUGIN_ROOT}/skills/downstream-gen/banners/flow.txt"
20   -```
21   -
22 14 ### A. docs/02 — 开发计划(含 REQ 级开发顺序清单)
23 15  
24 16 **清单颗粒度**:一行一个 REQ,同一模块的 REQ 必须**连续排列**。
... ... @@ -74,9 +66,7 @@ cat &quot;${CLAUDE_PLUGIN_ROOT}/skills/downstream-gen/banners/flow.txt&quot;
74 66  
75 67 ### E. docs/10 — 验收清单(项目级 SOP)
76 68  
77   -```bash
78   -cp "${CLAUDE_SKILL_DIR}/templates/docs-10-header-template.md" docs/10-验收检查清单.md
79   -```
  69 +用 `Read` 读取 `${CLAUDE_SKILL_DIR}/templates/docs-10-header-template.md`,用 `Write` 原样写到 `docs/10-验收检查清单.md`(跨平台,不用 `cp`)。
80 70  
81 71 完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选:
82 72 - ` - [ ] docs/10 验收清单已生成`
... ...
skills/downstream-gen/banners/flow.txt deleted
1   -┌────────────────────────────────────────────────────────┐
2   -│ 📋 阶段 A:规划(一次性) │
3   -│ │
4   -│ A0 初始化项目 │
5   -│ ↓ │
6   -│ A1 锁范围(生成 REQ 卡片) → 人工审核 │
7   -│ ↓ │
8   -│ A2 生成骨架 │
9   -│ ↓ │
10   -│ A3 生成 DB 设计 → 人工审核 │
11   -│ ↓ │
12   -│ A4 初始化 DB │
13   -│ ↓ │
14   -│ ▶ A5 生成下游文档 │
15   -│ │
16   -│ 规划阶段到此结束 │
17   -└────────────────────────────────────────────────────────┘
skills/plan-start/SKILL.md
... ... @@ -2,7 +2,7 @@
2 2 name: plan-start
3 3 description: A 阶段(Plan)入口与分发器。根据 docs/08 § 一 的 checkbox 状态派发到 A0~A6 对应 skill。Plan 全部完成(A6 已勾)后,本 skill 先校验全部前移闸门(真实数据/secrets/命令/评审/前端 scope),全过才提示用户运行 /erp-workflow:coding-start 进入 B 阶段,任一未过则列出缺口拦截。
4 4 user-invocable: true
5   -allowed-tools: Skill Read Glob Grep Bash(cat *)
  5 +allowed-tools: Skill Read Glob Grep
6 6 ---
7 7  
8 8 **所有输出必须使用中文。**
... ... @@ -39,13 +39,7 @@ docs/08 § 一 是**Plan 阶段进度追踪**(A0~A6 的 checkbox)。§ 二
39 39  
40 40 A 阶段所有 checkbox 均 `[x]` 时**不代表可以进 B 阶段**。Coding 阶段为全自动静默 Workflow(子代理无法弹窗问人),因此**所有需求/配置必须在 Plan 期锁死**。本步骤是**硬闸**:先逐项校验下列全部前移闸门,**全部通过**才提示用户运行 `coding-start`;**任一未过**则**不提示进 B 阶段**,转而列出缺口并指明回填位置。
41 41  
42   -#### 第 1 步:先打印整体流程图
43   -
44   -```bash
45   -cat "${CLAUDE_PLUGIN_ROOT}/skills/plan-start/banners/flow-overview.txt"
46   -```
47   -
48   -#### 第 2 步:逐项校验前移闸门(用 Read / Glob / Grep,禁止跳过任何一项)
  42 +#### 第 1 步:逐项校验前移闸门(用 Read / Glob / Grep,禁止跳过任何一项)
49 43  
50 44 逐项检查,记录每项 `通过` / `缺口`。任一缺口即整闸 `不通过`。
51 45  
... ... @@ -71,9 +65,9 @@ cat &quot;${CLAUDE_PLUGIN_ROOT}/skills/plan-start/banners/flow-overview.txt&quot;
71 65 - `Read` `docs/06-UI交互规范.md`。
72 66 - 校验:项目级 UI 约定 / design tokens / 组件库选型已确认;每个 FE-NN 的设计决策表非占位;prototype 闸门已过(docs/08 § 一 A6 勾选即代表此项已由 A6 skill 锁定,但仍核对 docs/06 无 `【人工填写`/`TBD` 残留)。缺任一即缺口。
73 67  
74   -#### 第 3 步(A):全部通过 → 放行
  68 +#### 第 2 步(A):全部通过 → 放行
75 69  
76   -仅当第 2 步 **5 项全部 `通过`** 时,向用户输出完成横幅:
  70 +仅当第 1 步 **5 项全部 `通过`** 时,向用户输出完成横幅:
77 71  
78 72 ```
79 73 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
... ... @@ -102,9 +96,9 @@ cat &quot;${CLAUDE_PLUGIN_ROOT}/skills/plan-start/banners/flow-overview.txt&quot;
102 96  
103 97 不调任何下游 skill。
104 98  
105   -#### 第 3 步(B):存在缺口 → 拦截,**不提示进 B 阶段**
  99 +#### 第 2 步(B):存在缺口 → 拦截,**不提示进 B 阶段**
106 100  
107   -只要第 2 步出现**任一缺口**,**禁止**输出上面的放行横幅、**禁止**提示运行 `coding-start`。改为输出拦截横幅,逐条列出缺口与回填位置,让用户先补齐:
  101 +只要第 1 步出现**任一缺口**,**禁止**输出上面的放行横幅、**禁止**提示运行 `coding-start`。改为输出拦截横幅,逐条列出缺口与回填位置,让用户先补齐:
108 102  
109 103 ```
110 104 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
... ... @@ -127,12 +121,6 @@ cat &quot;${CLAUDE_PLUGIN_ROOT}/skills/plan-start/banners/flow-overview.txt&quot;
127 121  
128 122 ### 2.2 正常派发(`后续` 非空)
129 123  
130   -先打印整体流程图,再打印分发通知:
131   -
132   -```bash
133   -cat "${CLAUDE_PLUGIN_ROOT}/skills/plan-start/banners/flow-overview.txt"
134   -```
135   -
136 124 打印简短分发通知:
137 125  
138 126 ```
... ...
skills/plan-start/banners/flow-overview.txt deleted
1   -┌────────────────────────────────────────────────────────┐
2   -│ 📋 阶段 A:规划(一次性) │
3   -│ │
4   -│ A0 初始化项目 │
5   -│ ↓ │
6   -│ A1 锁范围(生成 REQ 卡片) → 人工审核 │
7   -│ ↓ │
8   -│ A2 生成骨架 │
9   -│ ↓ │
10   -│ A3 生成 DB 设计 → 人工审核 │
11   -│ ↓ │
12   -│ A4 初始化 DB │
13   -│ ↓ │
14   -│ A5 生成下游文档 │
15   -└────────────────────────────────────────────────────────┘
skills/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(如未初始化)。session-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 ---
... ... @@ -11,10 +11,6 @@ allowed-tools: Read Write Glob Edit Skill Bash(node *) Bash(git init) Bash(git r
11 11  
12 12 ## 执行步骤
13 13  
14   -### 步骤 0:打印当前位置流程图
15   -
16   -用 `Read` 读取 `${CLAUDE_PLUGIN_ROOT}/skills/project-init/banners/flow.txt`,再把其内容**原样直接输出**给用户(ASCII 框图,不要用 `cat`)。
17   -
18 14 ### A. 幂等复制模板文件(用 Glob + Read + Write,跨平台无 shell)
19 15  
20 16 对下表每个文件:先用 `Glob` 判断目标路径是否已存在;**已存在则跳过**(不覆盖,幂等);不存在则用 `Read` 读模板、用 `Write` **原样**写到目标路径(`Write` 会自动创建缺失的父目录 `docs/01-需求清单/`,无需 `mkdir`)。
... ...
skills/project-init/banners/flow.txt deleted
1   -┌────────────────────────────────────────────────────────┐
2   -│ 📋 阶段 A:规划(一次性) │
3   -│ │
4   -│ ▶ A0 初始化项目 │
5   -│ ↓ │
6   -│ A1 锁范围(生成 REQ 卡片) → 人工审核 │
7   -│ ↓ │
8   -│ A2 生成骨架 │
9   -│ ↓ │
10   -│ A3 生成 DB 设计 → 人工审核 │
11   -│ ↓ │
12   -│ A4 初始化 DB │
13   -│ ↓ │
14   -│ A5 生成下游文档 │
15   -│ │
16   -│ 规划阶段到此结束 │
17   -└────────────────────────────────────────────────────────┘
skills/scope-lock/SKILL.md
... ... @@ -2,7 +2,7 @@
2 2 name: scope-lock
3 3 description: A1 计划范围锁定——引导用户填写项目概述 + 技术栈 + 需求索引,并按模块子目录生成 REQ 卡片骨架(CC 推断 req_id/title/goal/rules/constraints/acceptance;输入/输出 字段表为结构化 6 列表单由人工逐行填真实数据);末尾执行 A1 终结校验:每张 REQ 卡片字段含真实数据、secrets/account/包名/命名空间字段名锁进 docs/07、build/lint/unit/e2e 命令锁进 docs/04 §零,缺则当场 AskUserQuestion 问清。
4 4 user-invocable: false
5   -allowed-tools: Read Write Edit Grep Glob Skill AskUserQuestion Bash(mkdir *) Bash(node *) Bash(rm *) Bash(cat *)
  5 +allowed-tools: Read Write Edit Grep Glob Skill AskUserQuestion Bash(mkdir *) Bash(node *) Bash(rm *)
6 6 ---
7 7  
8 8 **所有输出必须使用中文。**
... ... @@ -11,14 +11,6 @@ allowed-tools: Read Write Edit Grep Glob Skill AskUserQuestion Bash(mkdir *) Bas
11 11  
12 12 ## 执行步骤
13 13  
14   -### 步骤 0:打印当前位置流程图
15   -
16   -用 `Bash` 执行 `cat` 命令向用户展示当前位置流程图(stdout 即 ASCII 框图):
17   -
18   -```bash
19   -cat "${CLAUDE_PLUGIN_ROOT}/skills/scope-lock/banners/flow.txt"
20   -```
21   -
22 14 ### A. 提示用户填写项目概述并等待
23 15  
24 16 向用户输出:
... ...
skills/scope-lock/banners/flow.txt deleted
1   -┌────────────────────────────────────────────────────────┐
2   -│ 📋 阶段 A:规划(一次性) │
3   -│ │
4   -│ A0 初始化项目 │
5   -│ ↓ │
6   -│ ▶ A1 锁范围(生成 REQ 卡片) → 人工审核 │
7   -│ ↓ │
8   -│ A2 生成骨架 │
9   -│ ↓ │
10   -│ A3 生成 DB 设计 → 人工审核 │
11   -│ ↓ │
12   -│ A4 初始化 DB │
13   -│ ↓ │
14   -│ A5 生成下游文档 │
15   -│ │
16   -│ 规划阶段到此结束 │
17   -└────────────────────────────────────────────────────────┘
skills/skeleton-gen/SKILL.md
... ... @@ -11,10 +11,6 @@ allowed-tools: Read Write Edit Skill Grep Glob AskUserQuestion Bash(node *)
11 11  
12 12 ## 执行步骤
13 13  
14   -### 步骤 0:打印当前位置流程图
15   -
16   -用 `Read` 读取 `${CLAUDE_PLUGIN_ROOT}/skills/skeleton-gen/banners/flow.txt`,再把其内容**原样直接输出**给用户(ASCII 框图,不要用 `cat`)。
17   -
18 14 ### A. 读取锁定的输入
19 15  
20 16 用 `Read` 读取:
... ...
skills/skeleton-gen/banners/flow.txt deleted
1   -┌────────────────────────────────────────────────────────┐
2   -│ 📋 阶段 A:规划(一次性) │
3   -│ │
4   -│ A0 初始化项目 │
5   -│ ↓ │
6   -│ A1 锁范围(生成 REQ 卡片) → 人工审核 │
7   -│ ↓ │
8   -│ ▶ A2 生成骨架 │
9   -│ ↓ │
10   -│ A3 生成 DB 设计 → 人工审核 │
11   -│ ↓ │
12   -│ A4 初始化 DB │
13   -│ ↓ │
14   -│ A5 生成下游文档 │
15   -│ │
16   -│ 规划阶段到此结束 │
17   -└────────────────────────────────────────────────────────┘