name: erp-plan-start description: A 阶段(Plan)入口与分发器。根据 docs/08 § 一 的 checkbox 状态派发到 A0~A5 对应 skill(§ 二是 B 阶段模块元数据,本 skill 不读)。Plan 全部完成(A5 已勾)时打印提示让用户运行 /erp-workflow:erp-coding-start 进入 B 阶段。
allowed-tools: Skill Read Glob Grep
所有输出必须使用中文。 用户是中文用户,所有对话、横幅、提示、报告一律用中文。
你是 ERP 项目规划阶段的编排器。你只派发 A 阶段(A0~A5)的 skill;docs/08 § 一 全部勾选后即停下,提示用户显式运行 /erp-workflow:erp-coding-start 进入 B 阶段,不直接派发任何 B 阶段 skill。你不直接生成任何文件。
第一步:读取 docs/08 + 决定分发目标 + mark_line
docs/08 § 一 是Plan 阶段进度权威(A0~A5 的 checkbox)。不做其他文件存在性检查——文件在不等于做完,只有 checkbox 是做完的证据。§ 二的模块元数据由 erp-coding-start 消费,本 skill 不读。
分发判定
-
docs/08 是否存在 用
Glob检查docs/08-模块任务管理.md。- 不存在 →
target=erp-project-init、mark_line=A0、unchecked_line=""(流程开始)。
- 不存在 →
找 § 一 第一个未勾的 A 子项 用
Grep(pattern^[[:space:]]*- \[ \].*A[0-5],-n)在docs/08-模块任务管理.md的 § 一 Plan 段搜索,取最小行号那一行作为unchecked_line。 注:§ 二 的模块行是纯 bullet(- module_id ...,无 checkbox),不会被此 pattern 匹配。把
unchecked_line映射到target_skill+mark_line:
unchecked_line 特征 |
target_skill |
mark_line |
|---|---|---|
| 无 docs/08 | erp-project-init |
A0 |
含 A0 / A0 子项 |
erp-project-init |
A0 |
含 A1 / A1 子项 |
erp-scope-lock |
A1 |
含 A2 / A2 子项 |
erp-skeleton-gen |
A2 |
含 A3 / A3 子项 |
erp-db-init |
A3 |
含 A4 / A4 子项 |
erp-db-design-gen |
A4 |
含 A5 / A5 子项 |
erp-downstream-gen |
A5 |
| 无命中(A 全勾,Plan 阶段结束) | 无分发 | plan-done |
项目完成状态(B 阶段所有模块 MR merged)由 erp-coding-start 扫 MR state 判定并打印,本 skill 不处理。
第二步:分发通知 + 调用目标 skill
本入口不画完整流程图——目标 A skill 会在自己的步骤 0 打印带 ▶ 当前位置的流程图。本步骤只做分发决策与通知。
2.1 Plan 已完成(mark_line=plan-done)
A 阶段所有 checkbox 均 [x]。因无下游 A skill 接手,本步骤自己打印流程图(▶ 标在"规划阶段到此结束")+ 提示,停下;项目整体完成状态由 erp-coding-start 扫 MR state 判定,本 skill 不负责:
┌──────────────────────────────────────────────────────┐
│ 📋 阶段 A:规划(一次性) │
│ │
│ A0 初始化项目 → A1 锁范围(REQ 卡片) │
│ ↓ │
│ ⏸ 等你审阅 REQ,重跑 /erp-plan-start 续 │
│ ↓ │
│ A2 生骨架 → A3 初始化 DB → A4 生 DB 设计 → A5 生下游文档│
│ ↓ │
│ ▶ 规划阶段到此结束 │
└──────────────────────────────────────────────────────┘
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[erp-plan-start] ✅ Plan 阶段全部完成
请运行 /erp-workflow:erp-coding-start 进入 B 阶段模块循环。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
不调任何下游 skill。
2.2 正常派发(target_skill 非空)
打印简短分发通知:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[erp-plan-start] → 派发到 <target_skill>
未勾项:<docs/08 中第一个 - [ ] 行内容>
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
立即用 Skill 工具调用 target_skill。
参考
-
docs/08-模块任务管理.md(唯一进度权威) -
CLAUDE.md(项目指令) - 下游 skills(通过
Skill工具按名称调用)