From 304fb9fba4f6a72e23aafc248ea3f17afe6e7183 Mon Sep 17 00:00:00 2001 From: zichun Date: Mon, 25 May 2026 14:48:24 +0800 Subject: [PATCH] feat(lite): rewire entries to lite stages + phase-driver, add lite flow banner, trim interrupt-check, drop cross-module-log --- skills/crosscut/coding-start/SKILL.md | 34 +++++++++++++++++----------------- skills/crosscut/coding-start/banners/flow-lite.txt | 14 ++++++++++++++ skills/crosscut/coding-start/banners/flow-overview.txt | 66 ------------------------------------------------------------------ skills/crosscut/cross-module-log/SKILL.md | 31 ------------------------------- skills/crosscut/cross-module-log/templates/cross-module-log-row-template.md | 1 - skills/crosscut/cross-module-log/templates/cross-module-log-template.md | 8 -------- skills/crosscut/interrupt-check/SKILL.md | 13 ++++++------- skills/crosscut/plan-start/SKILL.md | 83 ++++++++++++++++++++++++++++++++++++----------------------------------------------- skills/crosscut/plan-start/banners/flow-lite.txt | 14 ++++++++++++++ skills/crosscut/plan-start/banners/flow-overview.txt | 15 --------------- 10 files changed, 87 insertions(+), 192 deletions(-) create mode 100644 skills/crosscut/coding-start/banners/flow-lite.txt delete mode 100644 skills/crosscut/coding-start/banners/flow-overview.txt delete mode 100644 skills/crosscut/cross-module-log/SKILL.md delete mode 100644 skills/crosscut/cross-module-log/templates/cross-module-log-row-template.md delete mode 100644 skills/crosscut/cross-module-log/templates/cross-module-log-template.md create mode 100644 skills/crosscut/plan-start/banners/flow-lite.txt delete mode 100644 skills/crosscut/plan-start/banners/flow-overview.txt diff --git a/skills/crosscut/coding-start/SKILL.md b/skills/crosscut/coding-start/SKILL.md index 9f653ae..3a92bf6 100644 --- a/skills/crosscut/coding-start/SKILL.md +++ b/skills/crosscut/coding-start/SKILL.md @@ -1,22 +1,22 @@ --- name: coding-start -description: B 阶段(Coding)入口与阶段分发器。验证 Plan 完成后做后端 + 前端的完成性检查,每段检查后立即派发:后端未完成 → module-start(写后端);后端已完成 + 前端未完成 → frontend-start(写前端);都完成 → 全部完成。本 skill 只做分发,不做 prototype/ 门禁。 +description: 编码阶段入口与分发器。验证计划完成(docs/08 § 一 ①②③ 全勾)后按"先后端、再前端"次序检查并立即派发:后端未完成 → phase-driver {phase:backend};后端已完成 + 前端未完成 → phase-driver {phase:frontend};都完成 → 全部完成。本 skill 只做分发。 user-invocable: true allowed-tools: Skill Read Glob Grep Bash(cat *) Bash(git tag *) --- **所有输出必须使用中文。** -B 阶段(Coding)的入口分发器。**`module-start` 写后端,`frontend-start` 写前端**——coding-start 在每次入口时按"先后端、再前端"的次序检查并立即派发。本 skill **只做分发,不做 prototype/ 门禁**——前端阶段的前置检查由 `frontend-start` 内部承担。 - -`module-start` 与 `frontend-start` 互不感知对方。 +编码阶段的入口分发器。按"先后端、再前端"次序检查并立即派发到 `phase-driver`——本 skill **只做分发,不做功能实现**。 ## 执行步骤 -### 步骤 0:打印 B 阶段整体流程图 +### 步骤 0:打印流程图 + +**第一件事**:打印 lite 整体流程图。 ```bash -cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/coding-start/banners/flow-overview.txt" +cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/coding-start/banners/flow-lite.txt" ``` ### 步骤 1:确认 docs/08 存在 @@ -24,18 +24,18 @@ cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/coding-start/banners/flow-overview.tx 检查 `docs/08-模块任务管理.md` 存在。 - 不存在 → 打印"⚠️ 项目尚未初始化,请先运行 `/erp-workflow:plan-start`"并停下。 -### 步骤 2:Plan 完成性检查 +### 步骤 2:计划完成性检查 -读取 `docs/08-模块任务管理.md § 一`,判断 A0~A5 是否全部勾选(含子项)。 +读取 `docs/08-模块任务管理.md § 一`,判断 ①②③ 三个 lite 计划阶段是否**全部勾选**(含各阶段子项)。 -- 任一未勾选 → 提示用户先运行 `/erp-workflow:plan-start` 完成 A 阶段,并停下 -- 全部勾选 → 进入步骤 3 +- 任一未勾选 → 提示用户先运行 `/erp-workflow:plan-start` 完成计划阶段,并停下。 +- 全部勾选 → 进入步骤 3。 ### 步骤 3:后端完成性检查 + 派发 读 `docs/08 § 二`,对每个后端模块的 `里程碑:` 字段(并用 `git tag -l 'milestone/'` 校验 tag 真实存在): -- **任一模块 `里程碑: —` 或对应 `milestone/` tag 不存在** → 后端未完成,打印 `[coding-start] 后端未完成 → 派发 module-start(写后端)`,立即用 Skill 工具调用 module-start,本 skill 结束,不进入步骤 4。 +- **任一模块 `里程碑: —` 或对应 `milestone/` tag 不存在** → 后端未完成,打印 `[coding-start] 后端未完成 → 派发 phase-driver(phase=backend)`,立即用 `Skill` 工具调用 `phase-driver` 并传入 `{ "phase": "backend" }`,本 skill 结束,不进入步骤 4。 - **所有模块 `里程碑: milestone/` 且 tag 存在** → 后端已完成,进入步骤 4。 @@ -43,17 +43,17 @@ cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/coding-start/banners/flow-overview.tx 读 `docs/08 § 三 整体里程碑:` 字段(并用 `git tag -l 'milestone/frontend-phase'` 校验): -- **`整体里程碑: milestone/frontend-phase` 且 tag 存在** → 前端已完成,打印 `所有阶段已完成(后端模块 + 前端阶段里程碑均已标记)`,结束本 skill。 +- **`整体里程碑: —` 或 tag 不存在** → 前端未完成,打印 `[coding-start] 后端已完成、前端未完成 → 派发 phase-driver(phase=frontend)`,立即用 `Skill` 工具调用 `phase-driver` 并传入 `{ "phase": "frontend" }`,本 skill 结束。 -- **`整体里程碑: —` 或 tag 不存在** → 前端未完成,打印 `[coding-start] 后端已完成、前端未完成 → 派发 frontend-start(写前端)`,立即用 Skill 工具调用 frontend-start,本 skill 结束。 +- **`整体里程碑: milestone/frontend-phase` 且 tag 存在** → 前端已完成,打印 `所有阶段已完成(后端模块 + 前端阶段里程碑均已标记)`,结束本 skill。 ## 参考 -- `docs/08-模块任务管理.md § 一`(A0~A5 进度勾选,步骤 2 读取) +- `docs/08-模块任务管理.md § 一`(①②③ 计划阶段进度,步骤 2 读取) - `docs/08-模块任务管理.md § 二`(后端模块元数据 + 里程碑字段,步骤 3 读取) - `docs/08-模块任务管理.md § 三`(前端阶段整体里程碑,步骤 4 读取) - 下游: - - `module-start`(写后端:步骤 3 派发) - - `frontend-start`(写前端:步骤 4 派发) -- `plan-start`(姊妹入口,A 阶段) + - `phase-driver {phase:backend}`(写后端:步骤 3 派发) + - `phase-driver {phase:frontend}`(写前端:步骤 4 派发) +- `plan-start`(姊妹入口,计划阶段) - `CLAUDE.md`(项目指令) diff --git a/skills/crosscut/coding-start/banners/flow-lite.txt b/skills/crosscut/coding-start/banners/flow-lite.txt new file mode 100644 index 0000000..d82cdf3 --- /dev/null +++ b/skills/crosscut/coding-start/banners/flow-lite.txt @@ -0,0 +1,14 @@ +┌────────────────────────────────────────────────────────┐ +│ erp-workflow-lite │ +│ │ +│ 计划(/plan-start,一次性,2 个审阅断点) │ +│ ① lite-init 初始化 + REQ 卡片 ⏸ 审阅 REQ │ +│ ② lite-design 脚手架 + docs/03 ⏸ 审阅 schema │ +│ ③ lite-build-db V1+apply + docs/05/08 │ +│ │ +│ 编码(/coding-start,统一功能循环) │ +│ 后端模块循环 ┐ │ +│ 前端整体阶段 ┘→ phase-driver │ +│ feature-spec → feature-tdd → feature-review │ +│ 全 approve → milestone(test→报告→merge+tag) │ +└────────────────────────────────────────────────────────┘ diff --git a/skills/crosscut/coding-start/banners/flow-overview.txt b/skills/crosscut/coding-start/banners/flow-overview.txt deleted file mode 100644 index a5bc42b..0000000 --- a/skills/crosscut/coding-start/banners/flow-overview.txt +++ /dev/null @@ -1,66 +0,0 @@ -┌────────────────────────────────────────────────────────┐ -│ 🛠️ 阶段 B:编码(后端模块循环 → 前端整体阶段) │ -│ │ -│ coding-start (只做分发) │ -│ ① Plan 完成校验(docs/08 § 一 A0~A5) │ -│ ② 后端完成性检查(§ 二 + git tag) │ -│ ├ 未完成 → 立即派发 module-start,结束 │ -│ └ 已完成 → 继续 ③ │ -│ ③ 前端完成性检查(§ 三 整体里程碑 + tag) │ -│ ├ 已完成 → 打印"全部完成",结束 │ -│ └ 未完成 → 派发 frontend-start,结束 │ -│ │ -│ ┌────┴───────────────────────┐ │ -│ ▼ 写后端 ▼ 写前端 │ -│ │ -│ module-start frontend-start │ -│ 切 module- 分支 ① 检查 prototype │ -│ 缺失 → AskUserQuestion│ -│ ② 准备 FE 清单 │ -│ § 三 已有 → 加载 │ -│ § 三 占位 → AI 推导写入│ -│ (无审阅断点) │ -│ ③ 切 frontend-phase 分支 │ -│ │ -│ ┌─ 后端功能循环(每 REQ)────────┐ │ -│ │ feature-brainstorm │ │ -│ │ ↓ │ │ -│ │ feature-plan │ │ -│ │ ↓ │ │ -│ │ feature-tdd(路径硬护栏) │ │ -│ │ ↓ │ │ -│ │ feature-verify │ │ -│ │ ↓ │ │ -│ │ feature-review │ │ -│ │ ├ approve → 回 module-start │ │ -│ │ └ request-changes ↺ ≤5 轮 │ │ -│ └────────────────────────────────┘ │ -│ ↓ 本模块所有 REQ approve │ -│ test-gate(phase=backend) │ -│ ↓ │ -│ module-report → milestone-tag │ -│ ↓ 本地 merge 进默认分支 + 打 milestone tag │ -│ ↺ 自动回 coding-start → 再分发(无人工) │ -│ │ -│ ┌─ 前端功能循环(每 FE-NN)─────┐ │ -│ │ fe-feature-brainstorm │ │ -│ │ ↓ │ │ -│ │ fe-feature-plan │ │ -│ │ ↓ │ │ -│ │ fe-feature-tdd(jsdom + E2E)│ │ -│ │ ↓ │ │ -│ │ fe-feature-verify │ │ -│ │ ↓ │ │ -│ │ fe-feature-review │ │ -│ │ (fe-code-reviewer agent) │ │ -│ │ ├ approve → 回 frontend-start │ -│ │ └ request-changes ↺ ≤5 轮 │ │ -│ └───────────────────────────────┘ │ -│ ↓ 全部 FE approve │ -│ test-gate(phase=frontend) │ -│ ↓ │ -│ module-report → milestone-tag │ -│ (分支 frontend-phase,docs/08 § 三 整体里程碑)│ -│ ↓ 本地 merge + 打 milestone/frontend-phase │ -│ ↺ 自动回 coding-start → 全部完成 │ -└────────────────────────────────────────────────────────┘ diff --git a/skills/crosscut/cross-module-log/SKILL.md b/skills/crosscut/cross-module-log/SKILL.md deleted file mode 100644 index 27e2f71..0000000 --- a/skills/crosscut/cross-module-log/SKILL.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -name: cross-module-log -description: 批量补填跨模块改动日志中 hook 留下的 `TBD(CC 补)`(原因 / 影响评估两列)。仅由 module-report § ⑦ 硬验收时调用。 -user-invocable: false -allowed-tools: Read Write Edit Bash(git branch *) ---- - -**所有输出必须使用中文。** - -# cross-module-log - -软规则 S2 自动留痕:hook `log-cross-module.sh` 在每次对**非当前模块**文件的改动时追加 4 列存根(时间戳 / 目标模块 / 文件 / 改动摘要),「原因」「影响评估」两列写 `TBD(CC 补)`。本 skill 在 `module-report § ⑦` 硬验收阶段一次性推断补齐两列;CC 编辑代码中途不主动调用(节省 LLM 调用次数)。 - -## 执行步骤 - -1. 从 `git branch --show-current` 取 `module_id`(去掉 `module-` 前缀;`module-start` 步骤 3 保证此时在 `module-*` 分支)。 -2. 打开 `docs/superpowers/module-reports/-cross-module.md`。文件不存在 → 输出 `cross-module-log: 无跨模块改动,跳过` 并结束(hook 是日志文件唯一创建者;缺失意味着本模块周期内没有跨模块改动)。 -3. 用 `Edit` 逐行替换「原因」或「影响评估」列含 `TBD(CC 补)` 的行: - - **保持时间戳 / 目标模块 / 文件 / 改动摘要四列不变** - - **原因**:为什么要改目标模块的代码?当前模块的哪个 REQ 迫使这样做? - - **影响评估**:目标模块的哪些 API / 行为 / 调用方可能受影响?现有测试是否仍有效?是否需要新测试?(1-3 句话) - - 推断依据:当前 session 的改动上下文 + REQ 卡片 + 目标模块代码 -4. 输出 `cross-module-log: 更新了 N 行`。 - -## 参考 - -- `${CLAUDE_SKILL_DIR}/templates/cross-module-log-template.md`(hook 创建日志文件时渲染表头,本 skill 不读) -- `${CLAUDE_SKILL_DIR}/templates/cross-module-log-row-template.md`(行结构参考,hook 拼接用;本 skill 直接 Edit 已有行) -- `CLAUDE.md § 🟡 软规则 S2` -- 上游:`module-report § ⑦`(唯一调用方) -- 下游:`module-report` 把补齐后的日志原文嵌入 § ⑦ diff --git a/skills/crosscut/cross-module-log/templates/cross-module-log-row-template.md b/skills/crosscut/cross-module-log/templates/cross-module-log-row-template.md deleted file mode 100644 index 883cdcd..0000000 --- a/skills/crosscut/cross-module-log/templates/cross-module-log-row-template.md +++ /dev/null @@ -1 +0,0 @@ -| {{timestamp}} | {{target_module}} | {{file_path}} | {{change_summary}} | {{reason}} | {{impact}} | diff --git a/skills/crosscut/cross-module-log/templates/cross-module-log-template.md b/skills/crosscut/cross-module-log/templates/cross-module-log-template.md deleted file mode 100644 index c7828f0..0000000 --- a/skills/crosscut/cross-module-log/templates/cross-module-log-template.md +++ /dev/null @@ -1,8 +0,0 @@ -# 跨模块改动日志 — {{module_name}} - -软规则 S2:本模块开发期间对**非当前模块**代码的改动(无论目标模块是否已打里程碑)记录在此;模块完成报告必须单列「跨模块改动」节完整贴入。漏留痕或未评估影响 → 升级为中断。 - -**本日志由 CC 自主维护**——hook `log-cross-module.sh` 自动落存根(含 `TBD(CC 补)` 占位),CC 调 `cross-module-log` skill 自主推断补「原因 / 影响评估」两列。**不需要人工填写**。 - -| 时间戳 | 目标模块 | 文件 | 改动摘要 | 原因 | 影响评估 | -|---|---|---|---|---|---| diff --git a/skills/crosscut/interrupt-check/SKILL.md b/skills/crosscut/interrupt-check/SKILL.md index 6ad7b57..f5f870e 100644 --- a/skills/crosscut/interrupt-check/SKILL.md +++ b/skills/crosscut/interrupt-check/SKILL.md @@ -1,6 +1,6 @@ --- name: interrupt-check -description: 检查 CLAUDE.md § 🚩 中断机制 3 项是否触发,触发则追加 Blocker 到当前 plan 文件并停下,等用户决策。 +description: 检查 CLAUDE.md § 🚩 中断机制 3 项是否触发,触发则追加 Blocker 到当前 spec 文件并停下,等用户决策。 user-invocable: false allowed-tools: Read Write Bash(mysql *) --- @@ -9,31 +9,30 @@ allowed-tools: Read Write Bash(mysql *) # interrupt-check -核对 CLAUDE.md § 🚩 中断机制中的 3 项是否触发;任一触发 → 按模板渲染 Blocker 块追加到当前 plan 文件,**停下,用户决策前不调用任何下游 skill**。 +核对 CLAUDE.md § 🚩 中断机制中的 3 项是否触发;任一触发 → 按模板渲染 Blocker 块追加到当前 spec 文件,**停下,用户决策前不调用任何下游 skill**。 > 需求歧义 / schema 缺口 / 技术栈外组件引入等场景不在本清单,由各 feature-* 的 `AskUserQuestion` 流程处理。 ## 调用方(现役) - **feature-tdd 步骤 3.e**:同一测试连续 >10 次修复失败时主动调用(命中条件 1) -- **test-gate 失败横幅 ③**:环境/依赖问题时引导用户手工调用(命中条件 3) +- **milestone 失败横幅 ③**:环境/依赖问题时引导用户手工调用(命中条件 3) 其它 skill 均已不再预防性调用本 skill;条件 2 / 3 在自然出错路径上由各 skill 自身的诊断信息覆盖,本 skill 主要承接条件 1 的硬触发与用户主动登记。 ## 检查清单(权威来源:`CLAUDE.md § 🚩 中断机制`) 1. **测试反复失败** — 同一功能中同一测试连续 10 次修复失败 -2. **要改密钥/账密/包名** — 涉及 `docs/07-环境配置.md` 中的人工填写字段 +2. **要改密钥/账密/包名** — 涉及 `.env.local` / `docs/04 § 零环境` 中的密钥 / 账密字段 3. **外部接口不可达** — 第三方 API / 证书 / 网络问题 ## 执行步骤 1. 逐项核对 3 个中断条件。**全部未触发** → 输出 `interrupt-check: 通过`,结束。 -2. **触发任一** → 按 `${CLAUDE_SKILL_DIR}/templates/interrupt-block-template.md` 渲染 Blocker 块,追加到当前 plan 文件(典型路径 `docs/superpowers/plans/-.md`;test-gate 场景下追加到本模块任一已有 plan 文件)。 -3. 向会话打印一句话摘要 + 指向 plan 文件路径,**停下**。 +2. **触发任一** → 按 `${CLAUDE_SKILL_DIR}/templates/interrupt-block-template.md` 渲染 Blocker 块,追加到当前 spec 文件(典型路径 `docs/superpowers/specs/-.md`;milestone 场景下追加到本模块任一已有 spec 文件)。 +3. 向会话打印一句话摘要 + 指向 spec 文件路径,**停下**。 ## 参考 - `${CLAUDE_SKILL_DIR}/templates/interrupt-block-template.md` - `CLAUDE.md § 🚩 中断机制`(权威 3 条) -- `CLAUDE.md § 🟡 软规则`(S2 跨模块改动不触发中断;由 `cross-module-log` 处理) diff --git a/skills/crosscut/plan-start/SKILL.md b/skills/crosscut/plan-start/SKILL.md index 2d25329..e91cdfd 100644 --- a/skills/crosscut/plan-start/SKILL.md +++ b/skills/crosscut/plan-start/SKILL.md @@ -1,64 +1,56 @@ --- name: plan-start -description: A 阶段(Plan)入口与分发器。根据 docs/08 § 一 的 checkbox 状态派发到 A0~A5 对应 skill。Plan 全部完成(A5 已勾)时打印提示让用户运行 /erp-workflow:coding-start 进入 B 阶段。 +description: 计划阶段(Plan)入口与分发器。根据 docs/08 § 一 的 checkbox 状态派发到 ①②③ 对应的 lite 计划 skill。三阶段全部完成后打印提示让用户运行 /erp-workflow:coding-start 进入编码阶段。 user-invocable: true allowed-tools: Skill Read Glob Grep Bash(cat *) --- **所有输出必须使用中文。** -你是 ERP 项目**规划阶段的编排器**。你**只派发 A 阶段(A0~A5)的 skill**;docs/08 § 一 全部勾选后即停下,提示用户显式运行 `/erp-workflow:coding-start` 进入 B 阶段。你不直接生成任何文件。 +你是 ERP 项目**计划阶段的编排器**。你**只派发计划阶段(①②③)的 skill**;docs/08 § 一 全部勾选后即停下,提示用户显式运行 `/erp-workflow:coding-start` 进入编码阶段。你不直接生成任何文件。 -## 第一步:读取 docs/08 + 决定分发目标 +## 步骤 0:打印流程图 -docs/08 § 一 是**Plan 阶段进度追踪**(A0~A5 的 checkbox)。§ 二的模块元数据由 coding-start 读写,本 skill 不读。 +**第一件事**:打印 lite 整体流程图。 -### 分发判定 +```bash +cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/plan-start/banners/flow-lite.txt" +``` -1. **docs/08 是否存在** - 用 `Glob` 检查 `docs/08-模块任务管理.md`。 - - 如果不存在 → 后续 = `project-init`。 +## 步骤 1:读取 docs/08 + 决定分发目标 -2. **根据 § 一 找到当前进度** +docs/08 § 一 是**计划阶段进度追踪**(①②③ 的 checkbox)。 -| `进度` | `后续` | `阶段` | -|---|---|---| -| 无 docs/08 | `project-init` | `A0` | -| 含 `A0` / `A0 子项` | `project-init` | `A0` | -| 含 `A1` / `A1 子项` | `scope-lock` | `A1` | -| 含 `A2` / `A2 子项` | `skeleton-gen` | `A2` | -| 含 `A3` / `A3 子项` | `db-design-gen` | `A3` | -| 含 `A4` / `A4 子项` | `db-init` | `A4` | -| 含 `A5` / `A5 子项` | `downstream-gen` | `A5` | -| `A` 全勾,Plan 阶段结束 | **无分发** | - | +用 `Glob` 检查 `docs/08-模块任务管理.md` 是否存在: +- 不存在 → 后续 = `lite-init`(对应阶段 ①) -## 第二步:分发通知 + 调用目标 skill +若存在,读取 `docs/08-模块任务管理.md § 一`,找到**第一个未勾选(`- [ ]`)的 lite 计划阶段**: -### 2.1 Plan 已完成 +| 进度 | 后续 | +|---|---| +| 无 docs/08,或 ① 未勾选 | `lite-init` | +| ① 已勾、② 未勾选 | `lite-design` | +| ①② 已勾、③ 未勾选 | `lite-build-db` | +| ①②③ 全部勾选 | **无分发**(计划阶段结束) | -A 阶段所有 checkbox 均 `[x]`。无后续 skill,本步骤**先打印整体流程图**,再输出完成横幅,然后**停下**: +## 步骤 2:分发通知 + 调用目标 skill -```bash -cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/plan-start/banners/flow-overview.txt" -``` +### 2.1 计划已完成 -再向用户输出完成横幅: +①②③ 全部 `[x]`。无后续 skill,输出完成横幅,然后**停下**: ``` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - [plan-start] ✅ Plan 阶段全部完成 - - ⚠️ 进入 B 阶段前必须完成: - 1. 人工通读 docs/* + CLAUDE.md + sql/migrations/V1 + 各 scripts/* - - 2. 把全部 Plan 产物 commit 到本地默认分支(main / master): - git add -A && git commit -m "chore: plan phase A0~A5 done" - - 3. B 阶段全程纯本地(无需远程仓库 / push / MR): - 每个模块由 milestone-tag 本地 merge 进默认分支并打 milestone/ tag。 + [plan-start] ✅ 计划阶段全部完成(①②③) + + ⚠️ 进入编码阶段前必须完成: + 1. 人工通读 docs/* + CLAUDE.md + sql/migrations/V1__init.sql + 2. 把全部计划产物 commit 到本地默认分支(main / master): + git add -A && git commit -m "chore: plan phase done" + 3. 编码阶段全程纯本地(无需远程 push): + 每个模块/前端阶段由 milestone 本地 merge 进默认分支并打 milestone/ tag。 确认当前已在本地默认分支(main / master)上即可。 - - 4. 运行 /erp-workflow:coding-start 进入 B 阶段 + 4. 运行 /erp-workflow:coding-start 进入编码阶段 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ``` @@ -66,12 +58,6 @@ cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/plan-start/banners/flow-overview.txt" ### 2.2 正常派发(`后续` 非空) -先打印整体流程图,再打印分发通知: - -```bash -cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/plan-start/banners/flow-overview.txt" -``` - 打印简短分发通知: ``` @@ -81,10 +67,13 @@ cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/plan-start/banners/flow-overview.txt" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ``` -立即用 `Skill` 工具调用 `后续`。 +立即用 `Skill` 工具调用 `后续`: +- ① → `Skill(lite-init)` +- ② → `Skill(lite-design)` +- ③ → `Skill(lite-build-db)` ## 参考 -- `docs/08-模块任务管理.md`(进度追踪) +- `docs/08-模块任务管理.md § 一`(计划阶段进度追踪,①②③ checkbox) - `CLAUDE.md`(项目指令) -- 后续 skills(通过 `Skill` 工具按名称调用) +- 后续 skills(通过 `Skill` 工具按名称调用):`lite-init`、`lite-design`、`lite-build-db` diff --git a/skills/crosscut/plan-start/banners/flow-lite.txt b/skills/crosscut/plan-start/banners/flow-lite.txt new file mode 100644 index 0000000..d82cdf3 --- /dev/null +++ b/skills/crosscut/plan-start/banners/flow-lite.txt @@ -0,0 +1,14 @@ +┌────────────────────────────────────────────────────────┐ +│ erp-workflow-lite │ +│ │ +│ 计划(/plan-start,一次性,2 个审阅断点) │ +│ ① lite-init 初始化 + REQ 卡片 ⏸ 审阅 REQ │ +│ ② lite-design 脚手架 + docs/03 ⏸ 审阅 schema │ +│ ③ lite-build-db V1+apply + docs/05/08 │ +│ │ +│ 编码(/coding-start,统一功能循环) │ +│ 后端模块循环 ┐ │ +│ 前端整体阶段 ┘→ phase-driver │ +│ feature-spec → feature-tdd → feature-review │ +│ 全 approve → milestone(test→报告→merge+tag) │ +└────────────────────────────────────────────────────────┘ diff --git a/skills/crosscut/plan-start/banners/flow-overview.txt b/skills/crosscut/plan-start/banners/flow-overview.txt deleted file mode 100644 index b3e7a4d..0000000 --- a/skills/crosscut/plan-start/banners/flow-overview.txt +++ /dev/null @@ -1,15 +0,0 @@ -┌────────────────────────────────────────────────────────┐ -│ 📋 阶段 A:规划(一次性) │ -│ │ -│ A0 初始化项目 │ -│ ↓ │ -│ A1 锁范围(生成 REQ 卡片) → 人工审核 │ -│ ↓ │ -│ A2 生成骨架 │ -│ ↓ │ -│ A3 生成 DB 设计 → 人工审核 │ -│ ↓ │ -│ A4 初始化 DB │ -│ ↓ │ -│ A5 生成下游文档 │ -└────────────────────────────────────────────────────────┘ -- libgit2 0.22.2