Use when 需要在 sdlc-dev 的 Spec Pack 中执行 I1(实现计划),把 requirements/design 转成 `{FEATURE_DIR}/implementation/plan.md`(唯一执行清单与状态 SSOT),并为后续 I2 执行提供无歧义任务清单。
From sdlc-dev-skillsnpx claudepluginhub zixun-github/aisdlcThis skill uses the workspace's default tool permissions.
assets/plan-template.mdI1 的目标是把 {FEATURE_DIR}/requirements/* 与 {FEATURE_DIR}/design/* 转换为可直接执行的实现计划 {FEATURE_DIR}/implementation/plan.md,并将其作为唯一执行清单与状态 SSOT(checkbox 任务 + 每任务步骤 + 最小验证 + 提交点 + 按 repo 审计信息)。
开始时宣布:「我正在使用 spec-plan 技能创建实现计划(plan.md SSOT)。」
{FEATURE_DIR}/implementation/plan.md(I1 必做)。spec-context 失败、拿不到 FEATURE_DIR(此时必须停止)。requirements/solution.md 与 requirements/prd.md 都不存在,且无法追溯范围/验收(必须在 plan.md 标注 NEEDS CLARIFICATION 并阻断进入 I2)。REQUIRED SUB-SKILL:正在执行 spec-context 获取上下文,并在对话中回显 FEATURE_DIR=...(允许 (reuse))。
立刻停止(满足其一即可):
FEATURE_DIR.aisdlc/specs/... 路径”)requirements/solution.md 与 requirements/prd.md 均缺失,导致目标/范围/验收口径无法追溯plan.md/## NEEDS CLARIFICATION,并明确“阻断进入 I2”)project/memory/*、project/contracts/、project/adr/{FEATURE_DIR}/requirements/solution.md 或 {FEATURE_DIR}/requirements/prd.md(至少其一){FEATURE_DIR}/requirements/solution.md#impact-analysis,提取受影响模块清单与需遵守的不变量,作为 I1 的约束输入(缺失则停止并回到 R1 补齐){FEATURE_DIR}/design/design.md、{FEATURE_DIR}/design/research.md.gitmodules(如存在;用于识别可参与实现的 submodule 静态清单){FEATURE_DIR}/implementation/plan.md每一步是一个动作(2–5 分钟),并在 plan.md 中写到“任何人照抄即可执行”:
约束:I1 只写计划,不写代码;但每个任务必须声明其最小验证方式(命令 + 期望信号)。
plan.md 头部(必须)必须以该头部开头(模板见 ./assets/plan-template.md):
# [需求名] 实现计划(SSOT)
> **必需技能:** `spec-execute`(按批次执行本计划)
> **上下文获取:** 必须先执行 `spec-context` 获取上下文,定位 `{FEATURE_DIR}`,失败即停止
**目标:** [一句话描述要交付什么]
**范围:** In / Out
**架构:** [2–3 句方法说明 + 关键约束]
**验收口径:** [引用 requirements/solution.md 或 requirements/prd.md 的 AC/验收点]
**影响范围:** [引用 requirements/solution.md#impact-analysis 的受影响模块清单]
**需遵守的不变量:** [从 requirements/solution.md#impact-analysis 提取的关键 API/Data 契约不变量]
**子仓范围:** [若存在 `.gitmodules`,列出本次需求涉及的 submodule;无则写“无”]
---
requirements/solution.md#impact-analysis).gitmodules 引用受影响子仓路径requiredCURRENT_BRANCH 同名exception_reasonplan.md 内必须包含可勾选的任务清单,作为唯一的执行清单与状态来源(- [ ]/- [x])。
每个任务必须包含:
branch/commit/pr/changed_files)任务模板(示例骨架):
## 任务清单(SSOT)
### Task T1: [任务标题]
- [ ] **状态**:未开始 / 进行中 / 完成 / 阻塞(阻塞必须写明取证路径)
**代码仓范围:**
- 根项目:
- 子仓:(如适用;填写 `.gitmodules` 中的路径,并注明 `required=true/false`)
**文件:**
- 创建:`exact/path/to/new.file`
- 修改:`exact/path/to/existing.file`(可选:精确到段落/函数)
- 测试:`tests/exact/path/to/test.file`(如适用)
**验收点:**
- [可验证条件 1]
- [可验证条件 2]
**步骤 1:写失败测试(如适用)**
- 修改点:`tests/...`
- Run: `[精确命令]`
- Expected: FAIL(写出期望看到的关键失败信号)
**步骤 2:写最少实现**
- 修改点:`path/to/file`
**步骤 3:运行验证**
- Run: `[精确命令]`
- Expected: PASS(写出期望看到的关键通过信号)
**步骤 4:提交(频繁提交;commit message 必须中文)**
- Commit message: `[一句话说明 why(中文)]`
- 审计信息:
- repo: `root`
branch: `{CURRENT_BRANCH}`
commit: `<TBD>`
pr: `<TBD>`
changed_files: `<TBD>`
- repo: `<submodule path>`(如适用)
branch: `{CURRENT_BRANCH}`
commit: `<TBD>`
pr: `<TBD>`
changed_files: `<TBD>`
命令书写约定:默认面向 PowerShell;同一行多命令请用
;分隔(不要用&&)。
{FEATURE_DIR}/requirements/*、{FEATURE_DIR}/design/* 一致且可追溯requirements/prd.md 或 requirements/solution.md)plan.md 包含"影响范围与约束"段落,受影响模块与需遵守的不变量已从 requirements/solution.md#impact-analysis 提取并逐条列出.gitmodules 存在且影响分析命中子仓:plan.md 已声明受影响子仓、required 标记、默认同名分支要求与例外原因plan.md 内存在“任务清单(SSOT)”,且每个任务包含:文件路径、验收点、最小验证方式、提交点与审计信息NEEDS CLARIFICATION,且未消除前不得进入 I2spec-context 获取上下文,拿到 FEATURE_DIR=...,失败就停止NEEDS CLARIFICATION 并阻断 I2保存计划后,本技能不再决定“下一步/执行方式”。统一做法:
{FEATURE_DIR}/implementation/plan.md 已落盘,且是实现侧唯一 SSOTusing-aisdlc 路由下一步(通常路由到 I2:spec-execute,再到 Finish:finishing-development)using-aisdlc 明确路由结论后再开始执行(避免出现第二个路由源)plan.md 落盘后,必须完成以下动作(按顺序,不可省略):
ROUTER_SUMMARY:
stage: I1
artifacts:
- "{FEATURE_DIR}/implementation/plan.md"
needs_human_review: false
blocked: false
block_reason: ""
notes: "软检查点:plan.md 建议评审;如不触发硬中断 Router 可继续自动推进"
立即执行 using-aisdlc:将上述 ROUTER_SUMMARY 作为路由输入传递给 using-aisdlc,由 Router 判定下一步并自动推进(无需等待用户说「继续」)。
对话输出:在调用 using-aisdlc 前,可简短说明「本阶段产物已落盘,正在调用 using-aisdlc 路由下一步。」