一键导入
implementation-planner
Turn a PRD or shaped package of work into a kickoff doc, technical design plan, initial vertical slices, tracker, and agent handoff packets.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Turn a PRD or shaped package of work into a kickoff doc, technical design plan, initial vertical slices, tracker, and agent handoff packets.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | implementation-planner |
| description | Turn a PRD or shaped package of work into a kickoff doc, technical design plan, initial vertical slices, tracker, and agent handoff packets. |
| planning | true |
| implementation_planning | true |
| technical_design | true |
Use this skill when a PRD, pitch, or shaped package of work needs to become a technical design plan that humans and agents can build from.
The skill sits between shaping and implementation. It preserves the intent of the product work while translating it into a builder-facing kickoff doc, a technical design outline, initial slices, and compact implementation handoff packets.
It is not a generic ticket generator. It is a tool for working on what the work is before doing the work.
Produce a plan that answers:
Accept any of these:
Prefer source material that includes:
If the input is not ready, do not fake certainty. Run the readiness check and label assumptions.
Create these sections:
Before planning implementation, determine whether the input is shaped enough.
Use this table:
| Dimension | Status | Evidence | Concern | Needed before build? |
|---|---|---|---|---|
| Problem / outcome | clear / partial / missing | yes/no | ||
| Appetite | clear / partial / missing | yes/no | ||
| Selected approach | clear / partial / missing | yes/no | ||
| Non-goals | clear / partial / missing | yes/no | ||
| User-visible behavior | clear / partial / missing | yes/no | ||
| System context | clear / partial / missing | yes/no | ||
| Risks / unknowns | clear / partial / missing | yes/no |
If core shaping is missing, produce a planning-risk warning and continue with explicit assumptions.
Preserve the shaped intent before technical decomposition.
Include:
Do not turn the project into tasks until this boundary is clear.
The kickoff doc is the builder-facing interpretation of the package.
It should answer the anxieties at handoff:
Kickoff doc format:
# Kickoff Doc
## Shape in one paragraph
## Appetite
## What we are building
## What we are not building
## Key user/system behaviors
## Technical surfaces likely touched
## Known risks and unknowns
## First thing to learn or prove
## What can happen in parallel
## What to show after the first slice
## Cut lines if time gets tight
Translate the product shape into technical territory without overbuilding.
Affected surfaces:
| ID | Surface | Existing/New | Why it matters | Notes |
|---|---|---|---|---|
| SURF-01 | existing/new |
Data / state:
| ID | Data or state | Created/Read/Updated/Deleted | Owner/source | Persistence | Notes |
|---|---|---|---|---|---|
| STATE-01 | none/temp/db/external |
Interfaces / contracts:
| ID | Interface | Producer | Consumer | Contract / payload / behavior | Open question |
|---|---|---|---|---|---|
| IF-01 |
Technical decisions:
| ID | Decision | Rationale | Reversible? | Risk |
|---|---|---|---|---|
| TD-01 | yes/no |
Do not write production code here. Keep this at design-plan fidelity unless the user explicitly asks to implement a slice.
Unknowns are not defects. They are the main scheduling signal.
| ID | Unknown / risk | Why it matters | Earliest way to learn | Related surfaces | Must resolve before |
|---|---|---|---|---|---|
| RISK-01 | SURF-01 | TG-01 / SLICE-01 |
Dump everything that may be needed. Do not sequence yet.
Include product, design, code, data, migration, QA, instrumentation, docs, launch, and cleanup when relevant.
| ID | Task | Type | Known/Unknown | Notes |
|---|---|---|---|---|
| T-01 | product/design/code/data/QA/launch | unknown |
Group tasks by what can be completed together and judged in isolation from the rest.
Rules:
| ID | Name | Included tasks | Behavior / output produced | Risk state | Cuttable? | Notes |
|---|---|---|---|---|---|---|
| TG-01 | T-01, T-04 | not-started / figuring-it-out / executing-down / done / cut | no |
Draw arrows where one task group provides input to another or reduces uncertainty for another.
| ID | From | To | Relationship | Why it matters |
|---|---|---|---|---|
| D-01 | TG-01 | TG-02 | input / unlocks / derisks / blocks |
Optional Mermaid:
flowchart LR
TG01["TG-01: Name"] --> TG02["TG-02: Name"]
Use the map to expose dependencies. Do not decide the final sequence from the map alone.
Foliation turns the interrelationship map into dependency layers.
First ask only the dependency question:
If all unknowns were equal, what order is valid based on what must feed what?
Process:
Foliation table:
| Layer | Task groups | Dependency reason | Can start when... | Dependency-parallel candidates |
|---|---|---|---|---|
| L1 | TG-01, TG-03 | no unmet inbound dependencies | project starts | yes |
| L2 | TG-02 | needs TG-01 output | TG-01 stop condition met | no |
Layering rule:
Dependencies and unknowns are two different dimensions.
Use dependency foliation to find the valid starting set. Then use unknowns to choose priority inside that set.
Decision rules:
Parallelization table:
| Candidate set | Groups | Dependency status | Unknown profile | Capacity conflict? | Decision | Rationale |
|---|---|---|---|---|---|---|
| PSET-01 | TG-01, TG-03 | same layer | TG-03 has major unknown | no | start TG-03 first, TG-01 can follow/parallel if capacity allows | project fails if TG-03 is not solved |
For each task group, define what it must enable next. Done is relative to what comes next.
Sequence after considering:
| Order | Task group | Layer | Why now | What it must enable next | Parallel with | Stop when... |
|---|---|---|---|---|---|---|
| 1 | TG-03 | L1 | biggest project-killing unknown among valid starts | decision for TG-04 | none | the risky path is proven or cut |
The stop condition should be narrower than “everything eventually needed.” It should say what output the next task group needs as input.
A slice is a buildable, judgeable increment. It may contain one task group or a path through several groups.
Each slice should produce a concrete demonstration or proof:
| ID | Slice | Purpose | Included task groups | Demo / proof | Acceptance checks | Non-goals |
|---|---|---|---|---|---|---|
| SLICE-01 | derisk / core behavior / finishing | TG-01 | AC-01 |
Prefer 2–4 initial slices. Do not create a full backlog when the next slice is enough.
Variable scope is a feature of the process.
| ID | Remove/defer | Preserved behavior | Cost of cutting | Decision trigger |
|---|---|---|---|---|
| CUT-01 |
Acceptance checks should verify behavior and plan alignment.
| ID | Check | Applies to | Verification method |
|---|---|---|---|
| AC-01 | SLICE-01 / TG-01 / project | manual / automated / review |
Good checks:
Track at the level of slices and task groups, not individual chores.
| Item | Type | State | Layer | Current unknown | Next visible proof | Blocked by | Parallelization note |
|---|---|---|---|---|---|---|---|
| SLICE-01 | slice | not-started / figuring-it-out / executing-down / done / cut | L1 |
End with a compact implementation packet for only the first selected slice.
Active slice:
Source artifacts:
Authority order:
Must preserve:
Do not build:
Relevant requirements:
Relevant technical design decisions:
Relevant surfaces/files/modules, if known:
Included task groups:
Relevant tasks:
Dependency layer:
Parallelization decision:
Known unknowns:
Dependencies:
Acceptance checks:
Stop condition:
A good output: