Overview
The goal of I1 is to convert {FEATURE_DIR}/requirements/* and {FEATURE_DIR}/design/* intodirectly executableimplementation plan {FEATURE_DIR}/implementation/plan.md, and treat it as thesingle execution checklist and status SSOT(checkbox tasks + steps per task + minimal verification + commit points + audit information).
At the start, announce:"I am using the spec-implementation-plan skill to create the implementation plan (plan.md SSOT)."
When to use / when not to use
- When to use
- You need to produce or update
{FEATURE_DIR}/implementation/plan.md(required for I1). - You are about to enter I2 execution, but there is currently no "checkable + executable" task list.
- You need to produce or update
- Do not use when
spec-contextfails, andFEATURE_DIRcannot be obtained (in this case you must stop).- Input-side SSOT is insufficient:
requirements/solution.mdandrequirements/prd.mdboth do not exist, and scope/acceptance cannot be traced (you must mark NEEDS CLARIFICATION in plan.md and block entry into I2).
Gates / stop (strictly enforced)
REQUIRED SUB-SKILL: first satisfy the spec-context gate and echo it in the conversation FEATURE_DIR=...(allowing (reuse))。
Stop immediately (satisfying any one is sufficient):
- Did not obtain
FEATURE_DIR - Branch/directory is uncertain (you find yourself wanting to "guess the
.aisdlc/specs/...path") requirements/solution.mdandrequirements/prd.mdare both missing, making the goal/scope/acceptance criteria untraceable- Any key uncertainty cannot be evidenced in the input (must be written into
plan.md/## NEEDS CLARIFICATION, and explicitly state "block entry into I2")
Input / output (persistence conventions)
- Read (progressive disclosure, minimum necessary)
- Project level (must read its index or necessary fragments):
project/memory/*、project/contracts/、project/adr/ - Spec level (read the minimum as needed):
{FEATURE_DIR}/requirements/solution.mdor{FEATURE_DIR}/requirements/prd.md(at least one of them) - Impact analysis (mandatory, if solution.md exists): must read
{FEATURE_DIR}/requirements/solution.md#impact-analysis, extract the list of affected modules and the invariants that must be observed, and use them as constraint input for I1 (if missing, stop and return to R1 to fill in) - Spec level (if it exists and is relevant):
{FEATURE_DIR}/design/design.md、{FEATURE_DIR}/design/research.md
- Project level (must read its index or necessary fragments):
- Write (only)
{FEATURE_DIR}/implementation/plan.md
Small-block task granularity (reuse writing-plans)
Each step is one action (2–5 minutes), and in plan.md write it so that "anyone can copy it and execute it":
- "Write a failing test" (if applicable) - one step
- "Run to ensure it fails" - one step
- "Implement the minimum code to make the test pass" - one step
- "Run verification to ensure it passes" - one step
- "Commit" (commit frequently) - one step
Constraint: I1 only writes the plan, not code; but each task must declare itsminimal verification method(command + expected signal).
plan.md header (required)
Must begin with this header(Template see ./assets/plan-template.md):
# [需求名] 实现计划(SSOT)
> **必需技能:** `spec-implementation-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 契约不变量]
---
Plan body (required)
- TL;DR: Summarize the plan's goals and scope in one sentence
- Scope and boundaries: In/Out (align with requirements and design)
- Impact scope and constraints (required):
- List of affected modules and impact types (reference
requirements/solution.md#impact-analysis) - API/Data contract invariants that must be followed (list them one by one, annotate source module/anchor)
- Cross-module impacts and coordination items (based on dependency graph/impact analysis)
- List of affected modules and impact types (reference
- Milestones and cadence: Phase breakdown, time estimates, deliverables list
- Dependencies and resources: External systems/teams/permissions/environments/data dependencies
- Risks and verification: Risk list, verification methods, Owner
- Acceptance criteria: Key ACs corresponding to the PRD/solution and the acceptance person
- NEEDS CLARIFICATION (required): Uniformly list unresolved uncertainties (must not enter I2 before they are resolved)
Task structure (reuse writing-plans, but add SSOT/audit/gates)
plan.md must containcheckabletask list, as the sole execution list and source of status (- [ ]/- [x])。
Each task must include:
- Exact file paths (create/modify/test)
- Verifiable acceptance points (testable conditions)
- Executable steps (command + expected output/signal)
- Commit points and minimal audit information (
commit/pr/changed_files)
Task template (example skeleton):
## 任务清单(SSOT)
### Task T1: [任务标题]
- [ ] **状态**:未开始 / 进行中 / 完成 / 阻塞(阻塞必须写明取证路径)
**文件:**
- 创建:`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(中文)]`
- 审计信息:`commit=<TBD>`、`pr=<TBD>`、`changed_files=<TBD>`
Command writing convention: default to PowerShell; for multiple commands on the same line use
;as separator (do not use&&)。
I1-DoD (gate: none may be missing)
- Plan scope and
{FEATURE_DIR}/requirements/*、{FEATURE_DIR}/design/*are consistent and traceable - Milestones are clear and acceptable (each has a corresponding artifact or verifiable standard)
- Dependencies and risks are listed, with minimal verification/mitigation actions (including Owner)
- Key acceptance criteria are traceable (reference at least
requirements/prd.mdorrequirements/solution.md) - Impact scope and constraints have been injected:
plan.mdcontains an "Impact scope and constraints" section; affected modules and invariants to be followed have been extracted fromrequirements/solution.md#impact-analysisand listed one by one plan.mdcontains a "Task list (SSOT)", and each task includes: file paths, acceptance points, minimal verification method, commit points, and audit information- Any uncertain item goes into
NEEDS CLARIFICATION, andmust not enter I2 before it is resolved
Keep in mind (quick reference for high-frequency rules)
- Always first
spec-contextgetFEATURE_DIR=..., stop on failure - Always writeexact paths、exact commandsandexpected signals
- Do not write uncertainty as known; uniformly put it into
NEEDS CLARIFICATIONand block I2 - DRY, YAGNI, TDD, frequent commits (the plan must also reflect commit cadence)
Execution handoff (after writing plan.md)
After saving the plan, this skill no longer decides "next step/execution method". Uniform approach:
- Announce:
{FEATURE_DIR}/implementation/plan.mdhas been written to disk, and is the sole SSOT on the implementation side - Prompt:immediately call
using-aisdlcRoute the next step (usually route to I2:spec-implementation-execute, then to Finish:finishing-development) - If the user explicitly requests "use subagent-driven-development for parallel execution in this session", you should also firstcall
using-aisdlcclarify the routing conclusion before starting execution (to avoid having a second routing source)
After completion, output and automatic routing (must be executed)
plan.md After being written to disk,mustcomplete the following actions (in order, none may be omitted):
- Output ROUTER_SUMMARY(in YAML form, for Router decision-making):
ROUTER_SUMMARY:
stage: I1
artifacts:
- "{FEATURE_DIR}/implementation/plan.md"
needs_human_review: false
blocked: false
block_reason: ""
notes: "软检查点:plan.md 建议评审;如不触发硬中断 Router 可继续自动推进"
-
Immediately execute
using-aisdlc: pass the aboveROUTER_SUMMARYas routing input to using-aisdlc, let the Router determine the next step andautomatically advance(no need to wait for the user to say "continue").- If the Router determines that automatic continuation is possible: continue executing the next worker skill (such as I2, Finish, etc.) within the same conversation turn
- If the Router triggers a hard interrupt: stop and output the blocking reason, the required input, and candidate next steps
-
Conversation output: before calling using-aisdlc, you may briefly state "the artifacts for this stage have been written to disk, and using-aisdlc is being called to route the next step."