From 6013e7fbf887fb31f4663d0b63fd8bdf9c12520f Mon Sep 17 00:00:00 2001 From: zichun Date: Tue, 26 May 2026 11:48:39 +0800 Subject: [PATCH] refactor: drop 7 per-step banner files + remaining bash deps --- README.md | 16 ---------------- skills/db-design-gen/SKILL.md | 10 +--------- skills/db-design-gen/banners/flow.txt | 17 ----------------- skills/db-init/SKILL.md | 4 ---- skills/db-init/banners/flow.txt | 17 ----------------- skills/downstream-gen/SKILL.md | 14 ++------------ skills/downstream-gen/banners/flow.txt | 17 ----------------- skills/plan-start/SKILL.md | 24 ++++++------------------ skills/plan-start/banners/flow-overview.txt | 15 --------------- skills/project-init/SKILL.md | 6 +----- skills/project-init/banners/flow.txt | 17 ----------------- skills/scope-lock/SKILL.md | 10 +--------- skills/scope-lock/banners/flow.txt | 17 ----------------- skills/skeleton-gen/SKILL.md | 4 ---- skills/skeleton-gen/banners/flow.txt | 17 ----------------- 15 files changed, 11 insertions(+), 194 deletions(-) delete mode 100644 skills/db-design-gen/banners/flow.txt delete mode 100644 skills/db-init/banners/flow.txt delete mode 100644 skills/downstream-gen/banners/flow.txt delete mode 100644 skills/plan-start/banners/flow-overview.txt delete mode 100644 skills/project-init/banners/flow.txt delete mode 100644 skills/scope-lock/banners/flow.txt delete mode 100644 skills/skeleton-gen/banners/flow.txt diff --git a/README.md b/README.md index 4fb4783..078862e 100644 --- a/README.md +++ b/README.md @@ -173,22 +173,6 @@ coding-start(skill)校验 Plan 终结闸 → Workflow({scriptPath:"…/workf |---|---|---| | `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'})` | -## Banners 清单(7 份,`bash cat` 直接输出,绕开 LLM 复读) - -step 0 流程图被抽到独立 `.txt` 文件,SKILL.md 步骤 0 改为 `bash cat` 输出——保证 ASCII 边框对齐不被 LLM 复读破坏 + 减少 LLM 输出 token。 - -| 所属 Skill | Banner 文件 | 用途 | -|---|---|---| -| project-init | `banners/flow.txt` | A 阶段流程图(▶ 标在 A0) | -| scope-lock | `banners/flow.txt` | A 阶段流程图(▶ 标在 A1) | -| skeleton-gen | `banners/flow.txt` | A 阶段流程图(▶ 标在 A2) | -| db-design-gen | `banners/flow.txt` | A 阶段流程图(▶ 标在 A3) | -| db-init | `banners/flow.txt` | A 阶段流程图(▶ 标在 A4) | -| downstream-gen | `banners/flow.txt` | A 阶段流程图(▶ 标在 A5) | -| plan-start | `banners/flow-overview.txt` | A 阶段整体流程图(入口处打印) | - -**字节对齐保证**:每个文件 17 行,每行 visible width = 58 cell(内宽 56 + 2 个 `│` 边框)。改动需重新校准。 - ## Templates 清单(24 份) | 所属 Skill | 模板文件 | 用途 | diff --git a/skills/db-design-gen/SKILL.md b/skills/db-design-gen/SKILL.md index e37b67d..ce41b6e 100644 --- a/skills/db-design-gen/SKILL.md +++ b/skills/db-design-gen/SKILL.md @@ -2,7 +2,7 @@ name: db-design-gen description: A3 DB 设计 + REQ 回填——基于 docs/01-需求清单//REQ-*.md 正向设计 docs/03-数据库设计文档.md(业务实体 → 表 + 字段 + 索引 + 外键 + 业务注记),并把回填值写入 REQ 卡片的「依赖表: TBD(A3 自动补)」与模块头的「涉及表: TBD(A3 自动补)」占位。生成完毕停下等人工审阅。 user-invocable: false -allowed-tools: Read Write Edit Grep Glob AskUserQuestion Bash(cat *) +allowed-tools: Read Write Edit Grep Glob AskUserQuestion --- **所有输出必须使用中文。** @@ -16,14 +16,6 @@ allowed-tools: Read Write Edit Grep Glob AskUserQuestion Bash(cat *) ## 执行步骤 -### 步骤 0:打印当前位置流程图 - -用 `Bash` 执行 `cat` 命令向用户展示当前位置流程图(stdout 即 ASCII 框图): - -```bash -cat "${CLAUDE_PLUGIN_ROOT}/skills/db-design-gen/banners/flow.txt" -``` - ### 步骤 A0:确认 ERP schema 约定(一次性) 在正向设计 schema 之前,**先确认本项目的 3 项数据库约定**。默认值即现 ERP 约定,用户可逐项覆盖。结果写入 `docs/04` + `CLAUDE.md`,本 skill 后续步骤(B/C)严格引用确认后的值,不再字面写死。 diff --git a/skills/db-design-gen/banners/flow.txt b/skills/db-design-gen/banners/flow.txt deleted file mode 100644 index 1d4c9ac..0000000 --- a/skills/db-design-gen/banners/flow.txt +++ /dev/null @@ -1,17 +0,0 @@ -┌────────────────────────────────────────────────────────┐ -│ 📋 阶段 A:规划(一次性) │ -│ │ -│ A0 初始化项目 │ -│ ↓ │ -│ A1 锁范围(生成 REQ 卡片) → 人工审核 │ -│ ↓ │ -│ A2 生成骨架 │ -│ ↓ │ -│ ▶ A3 生成 DB 设计 → 人工审核 │ -│ ↓ │ -│ A4 初始化 DB │ -│ ↓ │ -│ A5 生成下游文档 │ -│ │ -│ 规划阶段到此结束 │ -└────────────────────────────────────────────────────────┘ diff --git a/skills/db-init/SKILL.md b/skills/db-init/SKILL.md index d574abc..ea9cbbc 100644 --- a/skills/db-init/SKILL.md +++ b/skills/db-init/SKILL.md @@ -11,10 +11,6 @@ allowed-tools: Read Write Edit Glob Skill Bash(node *) Bash(mysql *) ## 执行步骤 -### 步骤 0:打印当前位置流程图 - -用 `Read` 读取 `${CLAUDE_PLUGIN_ROOT}/skills/db-init/banners/flow.txt`,再把其内容**原样直接输出**给用户(ASCII 框图,不要用 `cat`)。 - ### A. DDL 生成(不依赖数据库连接) #### A.1 读 docs/03 并翻译为 DDL diff --git a/skills/db-init/banners/flow.txt b/skills/db-init/banners/flow.txt deleted file mode 100644 index b8cba75..0000000 --- a/skills/db-init/banners/flow.txt +++ /dev/null @@ -1,17 +0,0 @@ -┌────────────────────────────────────────────────────────┐ -│ 📋 阶段 A:规划(一次性) │ -│ │ -│ A0 初始化项目 │ -│ ↓ │ -│ A1 锁范围(生成 REQ 卡片) → 人工审核 │ -│ ↓ │ -│ A2 生成骨架 │ -│ ↓ │ -│ A3 生成 DB 设计 → 人工审核 │ -│ ↓ │ -│ ▶ A4 初始化 DB │ -│ ↓ │ -│ A5 生成下游文档 │ -│ │ -│ 规划阶段到此结束 │ -└────────────────────────────────────────────────────────┘ diff --git a/skills/downstream-gen/SKILL.md b/skills/downstream-gen/SKILL.md index 6c78c88..1487c32 100644 --- a/skills/downstream-gen/SKILL.md +++ b/skills/downstream-gen/SKILL.md @@ -2,7 +2,7 @@ name: downstream-gen description: A5 下游文档生成——基于 docs/01 和 docs/03 推导,一次性生成 docs/02 + docs/05 + docs/06 § 三 + docs/10,回填 REQ 卡片依赖接口,把模块清单追加到 docs/08 § 二。 user-invocable: false -allowed-tools: Read Write Edit Glob Grep Skill AskUserQuestion Bash(cat *) Bash(cp *) +allowed-tools: Read Write Edit Glob Grep Skill AskUserQuestion --- **所有输出必须使用中文。** @@ -11,14 +11,6 @@ allowed-tools: Read Write Edit Glob Grep Skill AskUserQuestion Bash(cat *) Bash( ## 执行步骤 -### 步骤 0:打印当前位置流程图 - -用 `Bash` 执行 `cat` 命令向用户展示当前位置流程图(stdout 即 ASCII 框图): - -```bash -cat "${CLAUDE_PLUGIN_ROOT}/skills/downstream-gen/banners/flow.txt" -``` - ### A. docs/02 — 开发计划(含 REQ 级开发顺序清单) **清单颗粒度**:一行一个 REQ,同一模块的 REQ 必须**连续排列**。 @@ -74,9 +66,7 @@ cat "${CLAUDE_PLUGIN_ROOT}/skills/downstream-gen/banners/flow.txt" ### E. docs/10 — 验收清单(项目级 SOP) -```bash -cp "${CLAUDE_SKILL_DIR}/templates/docs-10-header-template.md" docs/10-验收检查清单.md -``` +用 `Read` 读取 `${CLAUDE_SKILL_DIR}/templates/docs-10-header-template.md`,用 `Write` 原样写到 `docs/10-验收检查清单.md`(跨平台,不用 `cp`)。 完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选: - ` - [ ] docs/10 验收清单已生成` diff --git a/skills/downstream-gen/banners/flow.txt b/skills/downstream-gen/banners/flow.txt deleted file mode 100644 index f53fce1..0000000 --- a/skills/downstream-gen/banners/flow.txt +++ /dev/null @@ -1,17 +0,0 @@ -┌────────────────────────────────────────────────────────┐ -│ 📋 阶段 A:规划(一次性) │ -│ │ -│ A0 初始化项目 │ -│ ↓ │ -│ A1 锁范围(生成 REQ 卡片) → 人工审核 │ -│ ↓ │ -│ A2 生成骨架 │ -│ ↓ │ -│ A3 生成 DB 设计 → 人工审核 │ -│ ↓ │ -│ A4 初始化 DB │ -│ ↓ │ -│ ▶ A5 生成下游文档 │ -│ │ -│ 规划阶段到此结束 │ -└────────────────────────────────────────────────────────┘ diff --git a/skills/plan-start/SKILL.md b/skills/plan-start/SKILL.md index cb4dc95..1be47e7 100644 --- a/skills/plan-start/SKILL.md +++ b/skills/plan-start/SKILL.md @@ -2,7 +2,7 @@ name: plan-start description: A 阶段(Plan)入口与分发器。根据 docs/08 § 一 的 checkbox 状态派发到 A0~A6 对应 skill。Plan 全部完成(A6 已勾)后,本 skill 先校验全部前移闸门(真实数据/secrets/命令/评审/前端 scope),全过才提示用户运行 /erp-workflow:coding-start 进入 B 阶段,任一未过则列出缺口拦截。 user-invocable: true -allowed-tools: Skill Read Glob Grep Bash(cat *) +allowed-tools: Skill Read Glob Grep --- **所有输出必须使用中文。** @@ -39,13 +39,7 @@ docs/08 § 一 是**Plan 阶段进度追踪**(A0~A6 的 checkbox)。§ 二 A 阶段所有 checkbox 均 `[x]` 时**不代表可以进 B 阶段**。Coding 阶段为全自动静默 Workflow(子代理无法弹窗问人),因此**所有需求/配置必须在 Plan 期锁死**。本步骤是**硬闸**:先逐项校验下列全部前移闸门,**全部通过**才提示用户运行 `coding-start`;**任一未过**则**不提示进 B 阶段**,转而列出缺口并指明回填位置。 -#### 第 1 步:先打印整体流程图 - -```bash -cat "${CLAUDE_PLUGIN_ROOT}/skills/plan-start/banners/flow-overview.txt" -``` - -#### 第 2 步:逐项校验前移闸门(用 Read / Glob / Grep,禁止跳过任何一项) +#### 第 1 步:逐项校验前移闸门(用 Read / Glob / Grep,禁止跳过任何一项) 逐项检查,记录每项 `通过` / `缺口`。任一缺口即整闸 `不通过`。 @@ -71,9 +65,9 @@ cat "${CLAUDE_PLUGIN_ROOT}/skills/plan-start/banners/flow-overview.txt" - `Read` `docs/06-UI交互规范.md`。 - 校验:项目级 UI 约定 / design tokens / 组件库选型已确认;每个 FE-NN 的设计决策表非占位;prototype 闸门已过(docs/08 § 一 A6 勾选即代表此项已由 A6 skill 锁定,但仍核对 docs/06 无 `【人工填写`/`TBD` 残留)。缺任一即缺口。 -#### 第 3 步(A):全部通过 → 放行 +#### 第 2 步(A):全部通过 → 放行 -仅当第 2 步 **5 项全部 `通过`** 时,向用户输出完成横幅: +仅当第 1 步 **5 项全部 `通过`** 时,向用户输出完成横幅: ``` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ @@ -102,9 +96,9 @@ cat "${CLAUDE_PLUGIN_ROOT}/skills/plan-start/banners/flow-overview.txt" 不调任何下游 skill。 -#### 第 3 步(B):存在缺口 → 拦截,**不提示进 B 阶段** +#### 第 2 步(B):存在缺口 → 拦截,**不提示进 B 阶段** -只要第 2 步出现**任一缺口**,**禁止**输出上面的放行横幅、**禁止**提示运行 `coding-start`。改为输出拦截横幅,逐条列出缺口与回填位置,让用户先补齐: +只要第 1 步出现**任一缺口**,**禁止**输出上面的放行横幅、**禁止**提示运行 `coding-start`。改为输出拦截横幅,逐条列出缺口与回填位置,让用户先补齐: ``` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ @@ -127,12 +121,6 @@ cat "${CLAUDE_PLUGIN_ROOT}/skills/plan-start/banners/flow-overview.txt" ### 2.2 正常派发(`后续` 非空) -先打印整体流程图,再打印分发通知: - -```bash -cat "${CLAUDE_PLUGIN_ROOT}/skills/plan-start/banners/flow-overview.txt" -``` - 打印简短分发通知: ``` diff --git a/skills/plan-start/banners/flow-overview.txt b/skills/plan-start/banners/flow-overview.txt deleted file mode 100644 index b3e7a4d..0000000 --- a/skills/plan-start/banners/flow-overview.txt +++ /dev/null @@ -1,15 +0,0 @@ -┌────────────────────────────────────────────────────────┐ -│ 📋 阶段 A:规划(一次性) │ -│ │ -│ A0 初始化项目 │ -│ ↓ │ -│ A1 锁范围(生成 REQ 卡片) → 人工审核 │ -│ ↓ │ -│ A2 生成骨架 │ -│ ↓ │ -│ A3 生成 DB 设计 → 人工审核 │ -│ ↓ │ -│ A4 初始化 DB │ -│ ↓ │ -│ A5 生成下游文档 │ -└────────────────────────────────────────────────────────┘ diff --git a/skills/project-init/SKILL.md b/skills/project-init/SKILL.md index b5bdf86..1b93b12 100644 --- a/skills/project-init/SKILL.md +++ b/skills/project-init/SKILL.md @@ -1,6 +1,6 @@ --- name: project-init -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。 +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。 user-invocable: false allowed-tools: Read Write Glob Edit Skill Bash(node *) Bash(git init) Bash(git rev-parse *) --- @@ -11,10 +11,6 @@ allowed-tools: Read Write Glob Edit Skill Bash(node *) Bash(git init) Bash(git r ## 执行步骤 -### 步骤 0:打印当前位置流程图 - -用 `Read` 读取 `${CLAUDE_PLUGIN_ROOT}/skills/project-init/banners/flow.txt`,再把其内容**原样直接输出**给用户(ASCII 框图,不要用 `cat`)。 - ### A. 幂等复制模板文件(用 Glob + Read + Write,跨平台无 shell) 对下表每个文件:先用 `Glob` 判断目标路径是否已存在;**已存在则跳过**(不覆盖,幂等);不存在则用 `Read` 读模板、用 `Write` **原样**写到目标路径(`Write` 会自动创建缺失的父目录 `docs/01-需求清单/`,无需 `mkdir`)。 diff --git a/skills/project-init/banners/flow.txt b/skills/project-init/banners/flow.txt deleted file mode 100644 index fd2e547..0000000 --- a/skills/project-init/banners/flow.txt +++ /dev/null @@ -1,17 +0,0 @@ -┌────────────────────────────────────────────────────────┐ -│ 📋 阶段 A:规划(一次性) │ -│ │ -│ ▶ A0 初始化项目 │ -│ ↓ │ -│ A1 锁范围(生成 REQ 卡片) → 人工审核 │ -│ ↓ │ -│ A2 生成骨架 │ -│ ↓ │ -│ A3 生成 DB 设计 → 人工审核 │ -│ ↓ │ -│ A4 初始化 DB │ -│ ↓ │ -│ A5 生成下游文档 │ -│ │ -│ 规划阶段到此结束 │ -└────────────────────────────────────────────────────────┘ diff --git a/skills/scope-lock/SKILL.md b/skills/scope-lock/SKILL.md index 7441abc..e258353 100644 --- a/skills/scope-lock/SKILL.md +++ b/skills/scope-lock/SKILL.md @@ -2,7 +2,7 @@ name: scope-lock 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 问清。 user-invocable: false -allowed-tools: Read Write Edit Grep Glob Skill AskUserQuestion Bash(mkdir *) Bash(node *) Bash(rm *) Bash(cat *) +allowed-tools: Read Write Edit Grep Glob Skill AskUserQuestion Bash(mkdir *) Bash(node *) Bash(rm *) --- **所有输出必须使用中文。** @@ -11,14 +11,6 @@ allowed-tools: Read Write Edit Grep Glob Skill AskUserQuestion Bash(mkdir *) Bas ## 执行步骤 -### 步骤 0:打印当前位置流程图 - -用 `Bash` 执行 `cat` 命令向用户展示当前位置流程图(stdout 即 ASCII 框图): - -```bash -cat "${CLAUDE_PLUGIN_ROOT}/skills/scope-lock/banners/flow.txt" -``` - ### A. 提示用户填写项目概述并等待 向用户输出: diff --git a/skills/scope-lock/banners/flow.txt b/skills/scope-lock/banners/flow.txt deleted file mode 100644 index e012667..0000000 --- a/skills/scope-lock/banners/flow.txt +++ /dev/null @@ -1,17 +0,0 @@ -┌────────────────────────────────────────────────────────┐ -│ 📋 阶段 A:规划(一次性) │ -│ │ -│ A0 初始化项目 │ -│ ↓ │ -│ ▶ A1 锁范围(生成 REQ 卡片) → 人工审核 │ -│ ↓ │ -│ A2 生成骨架 │ -│ ↓ │ -│ A3 生成 DB 设计 → 人工审核 │ -│ ↓ │ -│ A4 初始化 DB │ -│ ↓ │ -│ A5 生成下游文档 │ -│ │ -│ 规划阶段到此结束 │ -└────────────────────────────────────────────────────────┘ diff --git a/skills/skeleton-gen/SKILL.md b/skills/skeleton-gen/SKILL.md index 4d097c8..cde2862 100644 --- a/skills/skeleton-gen/SKILL.md +++ b/skills/skeleton-gen/SKILL.md @@ -11,10 +11,6 @@ allowed-tools: Read Write Edit Skill Grep Glob AskUserQuestion Bash(node *) ## 执行步骤 -### 步骤 0:打印当前位置流程图 - -用 `Read` 读取 `${CLAUDE_PLUGIN_ROOT}/skills/skeleton-gen/banners/flow.txt`,再把其内容**原样直接输出**给用户(ASCII 框图,不要用 `cat`)。 - ### A. 读取锁定的输入 用 `Read` 读取: diff --git a/skills/skeleton-gen/banners/flow.txt b/skills/skeleton-gen/banners/flow.txt deleted file mode 100644 index 798f4a9..0000000 --- a/skills/skeleton-gen/banners/flow.txt +++ /dev/null @@ -1,17 +0,0 @@ -┌────────────────────────────────────────────────────────┐ -│ 📋 阶段 A:规划(一次性) │ -│ │ -│ A0 初始化项目 │ -│ ↓ │ -│ A1 锁范围(生成 REQ 卡片) → 人工审核 │ -│ ↓ │ -│ ▶ A2 生成骨架 │ -│ ↓ │ -│ A3 生成 DB 设计 → 人工审核 │ -│ ↓ │ -│ A4 初始化 DB │ -│ ↓ │ -│ A5 生成下游文档 │ -│ │ -│ 规划阶段到此结束 │ -└────────────────────────────────────────────────────────┘ -- libgit2 0.22.2