doc-iplan
Purpose
Create an Implementation Plan (IPLAN) — Layer 8 of the SDD flow. An IPLAN
bridges SPEC + TDD to source code: declares test-first file order (inherited
from TDD), executable bash commands, session progress for stateless executors,
and an audit trail from spec to delivered files.
Layer: 8 (final doc layer; downstream is Code).
Upstream: SPEC, TDD (per the necessary-upstream contract; the rest of
the chain is reachable transitively via SPEC/TDD's own @-tag references).
One IPLAN per SPEC component (matching its TDD). Bugfixes with no new
functionality use a temporary plan in docs/08_IPLAN/tmp/ instead.
When to Use
Use doc-iplan when:
- Layers 1–7 exist and the source TDD has reached IPLAN-Ready ≥ 90/100.
- You are ready to bridge a SPEC/TDD component into source code.
- You need an executable, session-resumable plan for stateless coding agents.
For end-to-end generation from a SPEC/TDD, a prompt, or an existing IPLAN, use
../doc-iplan-autopilot/SKILL.md.
Prerequisites
Before writing, read:
- Template (source of truth):
${CLAUDE_PLUGIN_ROOT}/framework/layers/08_IPLAN/IPLAN-TEMPLATE.yaml
- Index template:
${CLAUDE_PLUGIN_ROOT}/framework/layers/08_IPLAN/IPLAN-00_index.TEMPLATE.yaml
- Layer README:
${CLAUDE_PLUGIN_ROOT}/framework/layers/08_IPLAN/README.md
- ID & tag standards:
${CLAUDE_PLUGIN_ROOT}/framework/governance/ID_NAMING_STANDARDS.md
- Authoring style:
${CLAUDE_PLUGIN_ROOT}/framework/governance/AUTHORING_STYLE.md
Read the upstream TDD (primary source for the file manifest and test-first
order) and the SPEC it derives from. Reference only documents that exist;
never invent placeholders like IPLAN-XXX or TBD. Confirm no ID collision:
ls docs/08_IPLAN/ 2>/dev/null.
Layer Guidance
Permanent vs Temporary plans (decide first)
|
Permanent IPLAN (IPLAN-NN_{slug}.yaml) |
Temporary IPLAN (tmp/TMP-IPLAN-*.yaml) |
| Purpose |
Implement a SPEC component via TDD test cases |
Bugfix, correction, investigation — no new functionality |
| Requires TDD |
Yes — one IPLAN per SPEC/TDD |
No — standalone |
| Registered in index? |
Yes — IPLAN-00_index.yaml |
No |
| Triggers audit trail? |
Yes — code inventory, session log |
No — disposable |
| Deleted when? |
Never — historical record (use ABANDONED) |
Within 7 days of DONE/ABANDONED |
| Naming |
IPLAN-NN_{slug}.yaml (NN sequential, never reused) |
TMP-IPLAN-YYYY-MM-DD_{slug}.yaml |
Rule of thumb: implements a TDD test contract → permanent; restores intended
behavior or fixes a bug → temporary.
Required structure (11 sections — subtype-dependent subset)
The IPLAN is a YAML document with metadata (document_type: iplan-document,
layer: 8) followed by the sections matching IPLAN-TEMPLATE.yaml. The
required-section set depends on document_control.subtype (CLEANUP-PR-E
item 17):
code_build: sections 1-6 below (document_control, file_manifest,
execution_commands, implementation_contracts, session_handoff,
traceability).
deploy: sections 1, 7-11 (document_control,
rollback_procedure, smoke_tests, canary_metrics,
observability_hooks, runbook_reference) + traceability.
combined (default): all 11 sections.
Sections 1-6 (code_build set):
- Document Control —
iplan_id (IPLAN-NN), source_spec
(@spec: SPEC-NN), status (Draft | In Progress | Completed), version,
dates, author, complexity (1=1 file, 5=architectural), estimated_files,
session_count.
- File Manifest — declared creation order, tests before implementation
(TDD principle); each file carries
order, status, session, verified.
- Execution Commands — runnable bash for
setup, implementation, and
validation (the actual bridge to code).
- Implementation Contracts — Protocol interfaces, exception hierarchies,
state machines, data models, DI interfaces live inside the IPLAN. Required
only when 3+ files share interfaces; otherwise state "No implementation
contracts".
- Session Handoff — the stateless-executor bridge.
sessions[] is a
retrospective trail, appended by each session as it ends, so a Draft carries
sessions: []. Per appended session: partial_work, blockers,
next_session_directive, validation_results.
- Traceability — required upstream tags (
@spec, @tdd), downstream
code_paths / test_paths, and code_inventory (audit trail of every
file planned/created/modified with session attribution and verified
status).
Sections 7-11 (deploy set; required when subtype is deploy or combined):
- Rollback Procedure — step-by-step rollback with documented
reversal per cutover step + verification + reversible flag.
- Smoke Tests — post-cutover smoke checks with named pass criteria
per cutover step.
- Canary Metrics — explicit thresholds (latency, error rate,
saturation) per metric + canary window + action on breach.
- Observability Hooks — named signals emitted at deploy events
- Runbook Reference — pointer to on-call runbook + new
failure-mode entries this deploy adds.
Session handoff protocol
Each stateless session: 1) read session_handoff.sessions for the last
state → 2) find the next NOT_STARTED/PARTIAL file in file_manifest →
3) read partial_work if resuming → 4) continue, do not regenerate
completed work → 5) update file status → 6) append a session with a
next_session_directive. At Draft the trail is sessions: [], so step 1 falls
straight through to step 2. Markers: NOT_STARTED | IN_PROGRESS | DONE | PARTIAL.
Document ID and tags
- IPLAN is a DOCUMENT-level artifact — referenced in dash form
IPLAN-NN
(e.g. @iplan: IPLAN-01). There is no hierarchical dotted element ID for
an IPLAN; never write IPLAN.NN.SS.xxxx.
- IPLAN is Layer 8, so it carries the required upstream tags (per the
necessary-upstream contract):
@spec @tdd. Hierarchical upstreams use the
dotted form (@tdd: TDD.01.04.a3c1); document-level upstreams use dash
form (@spec: SPEC-01). Upstream BRD/PRD/EARS/BDD/ADR lineage is reachable
transitively via SPEC/TDD's own @-tag references — do not emit
@brd:/@prd:/@ears:/@bdd:/@adr: on IPLAN elements.
- Removed patterns (do not use):
TASK-XXX, TODO-XXX, TI-XXX,
ITEM-XXX, and any IPLAN.NN.SS.xxxx hierarchical ID.
Creation Process
- Determine type — permanent vs temporary (table above).
- Reserve ID — next free
IPLAN-NN (two digits, sequential, never reused);
the ID typically matches its SPEC/TDD component.
Per-layer independence (CLEANUP-PR-F item 18): pick the next-free
number in YOUR layer's index — the upstream's number is NOT your number
(doc numbers are per-layer sequential and independent; see
framework/governance/ID_NAMING_STANDARDS.md §Cross-layer cardinality).
- Create the file — permanent:
docs/08_IPLAN/IPLAN-NN_{slug}.yaml;
temporary: docs/08_IPLAN/tmp/TMP-IPLAN-YYYY-MM-DD_{slug}.yaml.
- Select subtype (CLEANUP-PR-E item 17) — decide which subtype
this IPLAN is and write it to
document_control.subtype:
code_build: file-manifest + Red/Green/Refactor + execution
commands. NO rollback/smoke/canary/observability sections. Use
when the IPLAN translates SPEC/TDD to source code only;
deployment is a separate plan.
deploy: rollback + smoke + canary + observability + runbook
sections. NO file-manifest / execution-commands. Use when the
IPLAN executes a cutover of code that's already authored.
combined (default): both sets required. Use when one IPLAN
covers code authoring AND deploy.
The auditor reads subtype and dispatches different required-section
sets. Missing field defaults to combined.
- Document Control first, then complete all sections required for
the chosen subtype (template marks each section with
_required_when_subtype:).
- Declare the file manifest (code_build / combined only)
test-first, every file
status: NOT_STARTED.
- Write execution commands (code_build / combined only) —
setup / implementation / validation.
- Define implementation contracts (code_build / combined only)
if 3+ files share interfaces; else state "No implementation contracts".
- Leave the session handoff empty (code_build / combined only) —
session_handoff.sessions: []. A Draft has had no session, so there is
nothing to record, and the first executor starts from file_manifest
order 1. A session entry written while authoring asserts work that has
not happened. Then seed code_inventory with one status: planned entry
per file_manifest path (session: null, verified: false). Never leave
that inventory empty and never write created into a Draft IPLAN.
- For deploy subtype only: complete rollback_procedure,
smoke_tests, canary_metrics, observability_hooks,
runbook_reference (sections 7-11).
- Register in the index (permanent only) — add to
docs/08_IPLAN/IPLAN-00_index.yaml and update metadata.total_plans.
- Validate (below) and commit the IPLAN and index together.
Validation
This skill is the validator (no runtime code). Apply against ${CLAUDE_PLUGIN_ROOT}/framework/layers/08_IPLAN/README.md and ${CLAUDE_PLUGIN_ROOT}/framework/governance/ID_NAMING_STANDARDS.md.
Error codes (all severity error): XDOC-006 tag format invalid · XDOC-008 broken internal link · XDOC-009 missing traceability section.
Quality gate (blocking): CODE-Ready score ≥ 90/100 with 0 Tier-1 errors
before implementation begins. If issues are found, fix and re-check; if
unfixable, log for manual review.
Next Skill
IPLAN is the last documentation layer. Proceed to Code: execute the file
manifest test-first, updating status/verified, session_handoff, and
code_inventory so any later stateless session can resume.
Adaptation
Read .aidoc/profile.yaml; honor only this skill's knobs
(section_toggles, glossary). Ignore unknown keys; absent a profile, use
framework defaults. Authority:
${CLAUDE_PLUGIN_ROOT}/framework/governance/ADAPTATION.md.
Related Resources
- Template / authoring rules:
${CLAUDE_PLUGIN_ROOT}/framework/layers/08_IPLAN/IPLAN-TEMPLATE.yaml
- Index template:
${CLAUDE_PLUGIN_ROOT}/framework/layers/08_IPLAN/IPLAN-00_index.TEMPLATE.yaml
- Layer README:
${CLAUDE_PLUGIN_ROOT}/framework/layers/08_IPLAN/README.md
- ID & tag standards:
${CLAUDE_PLUGIN_ROOT}/framework/governance/ID_NAMING_STANDARDS.md
- Quality gate:
../doc-iplan-audit/SKILL.md · Fixes: ../doc-iplan-fixer/SKILL.md
- Generation pipeline:
../doc-iplan-autopilot/SKILL.md
Quick Reference
|
|
| Purpose |
Bridge a SPEC/TDD component into source code |
| Layer |
8 (final doc layer; downstream = Code) |
| Upstream tags |
@spec @tdd (per necessary-upstream contract) |
| Key decision |
Permanent vs Temporary |
| Document ID |
IPLAN-NN (dash form; no dotted element ID) |
| Six sections |
doc_control · file_manifest · execution_commands · implementation_contracts · session_handoff · traceability |
| Handoff markers |
NOT_STARTED · IN_PROGRESS · DONE · PARTIAL |
| Next |
Code (implementation) |
1---
2name: doc-iplan
3description: Create an Implementation Plan (IPLAN) - Layer 8 of the SDD flow, the mandatory execution bridge from SPEC/TDD to source code via an executable, session-resumable file manifest. Use when ready to implement a SPEC component. Single-document authoring primitive; for end-to-end or batch generation the autopilot (`doc-iplan-autopilot`) drives this skill.
4metadata:
5 tags:
6 - sdd-workflow
7 - layer-8-artifact
8 custom_fields:
9 layer: 8
10 artifact_type: IPLAN
11 skill_category: core-workflow
12 upstream_artifacts: [SPEC, TDD]
13 downstream_artifacts: [CODE]
14 version: "0.25.0"
15 framework_spec_version: "0.51.0"
16 last_updated: "2026-05-23"
17 adapts: [section_toggles, glossary]
18---
19
20# doc-iplan
21
22## Purpose
23
24Create an **Implementation Plan (IPLAN)** — Layer 8 of the SDD flow. An IPLAN
25bridges SPEC + TDD to source code: declares test-first file order (inherited
26from TDD), executable bash commands, session progress for stateless executors,
27and an audit trail from spec to delivered files.
28
29**Layer**: 8 (final doc layer; downstream is Code).
30**Upstream**: SPEC, TDD (per the necessary-upstream contract; the rest of
31the chain is reachable transitively via SPEC/TDD's own @-tag references).
32
33One IPLAN per SPEC component (matching its TDD). Bugfixes with no new
34functionality use a temporary plan in `docs/08_IPLAN/tmp/` instead.
35
36## When to Use
37
38Use `doc-iplan` when:
39
40- Layers 1–7 exist and the source TDD has reached IPLAN-Ready ≥ 90/100.
41- You are ready to bridge a SPEC/TDD component into source code.
42- You need an executable, session-resumable plan for stateless coding agents.
43
44For end-to-end generation from a SPEC/TDD, a prompt, or an existing IPLAN, use
45`../doc-iplan-autopilot/SKILL.md`.
46
47## Prerequisites
48
49Before writing, read:
50
511. **Template (source of truth):** `${CLAUDE_PLUGIN_ROOT}/framework/layers/08_IPLAN/IPLAN-TEMPLATE.yaml`
522. **Index template:** `${CLAUDE_PLUGIN_ROOT}/framework/layers/08_IPLAN/IPLAN-00_index.TEMPLATE.yaml`
533. **Layer README:** `${CLAUDE_PLUGIN_ROOT}/framework/layers/08_IPLAN/README.md`
544. **ID & tag standards:** `${CLAUDE_PLUGIN_ROOT}/framework/governance/ID_NAMING_STANDARDS.md`
555. **Authoring style:** `${CLAUDE_PLUGIN_ROOT}/framework/governance/AUTHORING_STYLE.md`
56
57Read the upstream **TDD** (primary source for the file manifest and test-first
58order) and the **SPEC** it derives from. Reference only documents that exist;
59never invent placeholders like `IPLAN-XXX` or `TBD`. Confirm no ID collision:
60`ls docs/08_IPLAN/ 2>/dev/null`.
61
62## Layer Guidance
63
64### Permanent vs Temporary plans (decide first)
65
66| | Permanent IPLAN (`IPLAN-NN_{slug}.yaml`) | Temporary IPLAN (`tmp/TMP-IPLAN-*.yaml`) |
67|---|---|---|
68| **Purpose** | Implement a SPEC component via TDD test cases | Bugfix, correction, investigation — no new functionality |
69| **Requires TDD** | Yes — one IPLAN per SPEC/TDD | No — standalone |
70| **Registered in index?** | Yes — `IPLAN-00_index.yaml` | No |
71| **Triggers audit trail?** | Yes — code inventory, session log | No — disposable |
72| **Deleted when?** | Never — historical record (use ABANDONED) | Within 7 days of DONE/ABANDONED |
73| **Naming** | `IPLAN-NN_{slug}.yaml` (NN sequential, never reused) | `TMP-IPLAN-YYYY-MM-DD_{slug}.yaml` |
74
75**Rule of thumb:** implements a TDD test contract → permanent; restores intended
76behavior or fixes a bug → temporary.
77
78### Required structure (11 sections — subtype-dependent subset)
79
80The IPLAN is a YAML document with `metadata` (`document_type: iplan-document`,
81`layer: 8`) followed by the sections matching `IPLAN-TEMPLATE.yaml`. The
82required-section set depends on `document_control.subtype` (CLEANUP-PR-E
83item 17):
84
85- **`code_build`**: sections 1-6 below (document_control, file_manifest,
86 execution_commands, implementation_contracts, session_handoff,
87 traceability).
88- **`deploy`**: sections 1, 7-11 (document_control,
89 rollback_procedure, smoke_tests, canary_metrics,
90 observability_hooks, runbook_reference) + traceability.
91- **`combined`** (default): all 11 sections.
92
93Sections 1-6 (code_build set):
94
951. **Document Control** — `iplan_id` (`IPLAN-NN`), `source_spec`
96 (`@spec: SPEC-NN`), status (`Draft | In Progress | Completed`), version,
97 dates, author, `complexity` (1=1 file, 5=architectural), `estimated_files`,
98 `session_count`.
992. **File Manifest** — declared creation order, **tests before implementation**
100 (TDD principle); each file carries `order`, `status`, `session`, `verified`.
1013. **Execution Commands** — runnable bash for `setup`, `implementation`, and
102 `validation` (the actual bridge to code).
1034. **Implementation Contracts** — Protocol interfaces, exception hierarchies,
104 state machines, data models, DI interfaces live *inside* the IPLAN. Required
105 only when 3+ files share interfaces; otherwise state "No implementation
106 contracts".
1075. **Session Handoff** — the stateless-executor bridge. `sessions[]` is a
108 retrospective trail, appended by each session as it ends, so a Draft carries
109 `sessions: []`. Per appended session: `partial_work`, `blockers`,
110 `next_session_directive`, `validation_results`.
1116. **Traceability** — required upstream tags (`@spec`, `@tdd`), downstream
112 `code_paths` / `test_paths`, and `code_inventory` (audit trail of every
113 file planned/created/modified with session attribution and `verified`
114 status).
115
116Sections 7-11 (deploy set; required when subtype is `deploy` or `combined`):
117
1187. **Rollback Procedure** — step-by-step rollback with documented
119 reversal per cutover step + verification + reversible flag.
1208. **Smoke Tests** — post-cutover smoke checks with named pass criteria
121 per cutover step.
1229. **Canary Metrics** — explicit thresholds (latency, error rate,
123 saturation) per metric + canary window + action on breach.
12410. **Observability Hooks** — named signals emitted at deploy events
125 - dashboard URLs.
12611. **Runbook Reference** — pointer to on-call runbook + new
127 failure-mode entries this deploy adds.
128
129### Session handoff protocol
130
131Each stateless session: 1) read `session_handoff.sessions` for the last
132state → 2) find the next `NOT_STARTED`/`PARTIAL` file in `file_manifest` →
1333) read `partial_work` if resuming → 4) continue, do **not** regenerate
134completed work → 5) update file status → 6) append a session with a
135`next_session_directive`. At Draft the trail is `sessions: []`, so step 1 falls
136straight through to step 2. Markers: `NOT_STARTED | IN_PROGRESS | DONE | PARTIAL`.
137
138### Document ID and tags
139
140- **IPLAN is a DOCUMENT-level artifact** — referenced in dash form `IPLAN-NN`
141 (e.g. `@iplan: IPLAN-01`). There is **no** hierarchical dotted element ID for
142 an IPLAN; never write `IPLAN.NN.SS.xxxx`.
143- IPLAN is Layer 8, so it carries the **required upstream tags** (per the
144 necessary-upstream contract): `@spec @tdd`. Hierarchical upstreams use the
145 dotted form (`@tdd: TDD.01.04.a3c1`); document-level upstreams use dash
146 form (`@spec: SPEC-01`). Upstream BRD/PRD/EARS/BDD/ADR lineage is reachable
147 transitively via SPEC/TDD's own @-tag references — do not emit
148 `@brd:`/`@prd:`/`@ears:`/`@bdd:`/`@adr:` on IPLAN elements.
149- **Removed patterns** (do not use): `TASK-XXX`, `TODO-XXX`, `TI-XXX`,
150 `ITEM-XXX`, and any `IPLAN.NN.SS.xxxx` hierarchical ID.
151
152## Creation Process
153
1541. **Determine type** — permanent vs temporary (table above).
1552. **Reserve ID** — next free `IPLAN-NN` (two digits, sequential, never reused);
156 the ID typically matches its SPEC/TDD component.
157 *Per-layer independence (CLEANUP-PR-F item 18):* pick the next-free
158 number in YOUR layer's index — the upstream's number is NOT your number
159 (doc numbers are per-layer sequential and independent; see
160 `framework/governance/ID_NAMING_STANDARDS.md` §Cross-layer cardinality).
1613. **Create the file** — permanent: `docs/08_IPLAN/IPLAN-NN_{slug}.yaml`;
162 temporary: `docs/08_IPLAN/tmp/TMP-IPLAN-YYYY-MM-DD_{slug}.yaml`.
1634. **Select subtype** (CLEANUP-PR-E item 17) — decide which subtype
164 this IPLAN is and write it to `document_control.subtype`:
165 - `code_build`: file-manifest + Red/Green/Refactor + execution
166 commands. NO rollback/smoke/canary/observability sections. Use
167 when the IPLAN translates SPEC/TDD to source code only;
168 deployment is a separate plan.
169 - `deploy`: rollback + smoke + canary + observability + runbook
170 sections. NO file-manifest / execution-commands. Use when the
171 IPLAN executes a cutover of code that's already authored.
172 - `combined` (default): both sets required. Use when one IPLAN
173 covers code authoring AND deploy.
174 The auditor reads `subtype` and dispatches different required-section
175 sets. Missing field defaults to `combined`.
1765. **Document Control first**, then complete all sections required for
177 the chosen subtype (template marks each section with
178 `_required_when_subtype:`).
1796. **Declare the file manifest** (code_build / combined only)
180 test-first, every file `status: NOT_STARTED`.
1817. **Write execution commands** (code_build / combined only) —
182 `setup` / `implementation` / `validation`.
1838. **Define implementation contracts** (code_build / combined only)
184 if 3+ files share interfaces; else state "No implementation contracts".
1859. **Leave the session handoff empty** (code_build / combined only) —
186 `session_handoff.sessions: []`. A Draft has had no session, so there is
187 nothing to record, and the first executor starts from `file_manifest`
188 order 1. A session entry written while authoring asserts work that has
189 not happened. Then seed `code_inventory` with one `status: planned` entry
190 per `file_manifest` path (`session: null`, `verified: false`). Never leave
191 that inventory empty and never write `created` into a Draft IPLAN.
19210. **For deploy subtype only**: complete rollback_procedure,
193 smoke_tests, canary_metrics, observability_hooks,
194 runbook_reference (sections 7-11).
19511. **Register in the index** (permanent only) — add to
196 `docs/08_IPLAN/IPLAN-00_index.yaml` and update `metadata.total_plans`.
19712. **Validate** (below) and commit the IPLAN and index together.
198
199## Validation
200
201**This skill is the validator** (no runtime code). Apply against `${CLAUDE_PLUGIN_ROOT}/framework/layers/08_IPLAN/README.md` and `${CLAUDE_PLUGIN_ROOT}/framework/governance/ID_NAMING_STANDARDS.md`.
202
203- [ ] `metadata.layer: 8`, `document_type: iplan-document`.
204- [ ] Document Control complete (`iplan_id`, `source_spec`, status, dates).
205- [ ] All 6 sections present and non-empty; a Draft's `session_handoff`
206 carrying `sessions: []` satisfies this.
207- [ ] File Manifest lists tests before implementation; each file has a status
208 marker and `verified` flag.
209- [ ] Execution commands cover setup / implementation / validation.
210- [ ] Implementation Contracts declared (or "No implementation contracts").
211- [ ] Session Handoff present — `sessions: []` at Draft, and every appended
212 session carries a `next_session_directive`.
213- [ ] Required upstream tags (`@spec @tdd`, per necessary-upstream contract)
214 reference existing docs; document ID is `IPLAN-NN` (no dotted IPLAN
215 element ID).
216- [ ] `code_inventory` seeded `planned` — one entry per `file_manifest`
217 path, `session: null`, ready to record created/modified files.
218- [ ] Permanent plan registered in `IPLAN-00_index.yaml`; temporary under `tmp/`.
219
220**Error codes** (all severity `error`): `XDOC-006` tag format invalid · `XDOC-008` broken internal link · `XDOC-009` missing traceability section.
221
222**Quality gate (blocking):** CODE-Ready score ≥ 90/100 with 0 Tier-1 errors
223before implementation begins. If issues are found, fix and re-check; if
224unfixable, log for manual review.
225
226## Next Skill
227
228IPLAN is the last documentation layer. Proceed to **Code**: execute the file
229manifest test-first, updating `status`/`verified`, `session_handoff`, and
230`code_inventory` so any later stateless session can resume.
231
232## Adaptation
233
234Read `.aidoc/profile.yaml`; honor only this skill's knobs
235(`section_toggles`, `glossary`). Ignore unknown keys; absent a profile, use
236framework defaults. Authority:
237`${CLAUDE_PLUGIN_ROOT}/framework/governance/ADAPTATION.md`.
238
239## Related Resources
240
241- Template / authoring rules: `${CLAUDE_PLUGIN_ROOT}/framework/layers/08_IPLAN/IPLAN-TEMPLATE.yaml`
242- Index template: `${CLAUDE_PLUGIN_ROOT}/framework/layers/08_IPLAN/IPLAN-00_index.TEMPLATE.yaml`
243- Layer README: `${CLAUDE_PLUGIN_ROOT}/framework/layers/08_IPLAN/README.md`
244- ID & tag standards: `${CLAUDE_PLUGIN_ROOT}/framework/governance/ID_NAMING_STANDARDS.md`
245- Quality gate: `../doc-iplan-audit/SKILL.md` · Fixes: `../doc-iplan-fixer/SKILL.md`
246- Generation pipeline: `../doc-iplan-autopilot/SKILL.md`
247
248## Quick Reference
249
250| | |
251|---|---|
252| **Purpose** | Bridge a SPEC/TDD component into source code |
253| **Layer** | 8 (final doc layer; downstream = Code) |
254| **Upstream tags** | `@spec @tdd` (per necessary-upstream contract) |
255| **Key decision** | Permanent vs Temporary |
256| **Document ID** | `IPLAN-NN` (dash form; no dotted element ID) |
257| **Six sections** | doc_control · file_manifest · execution_commands · implementation_contracts · session_handoff · traceability |
258| **Handoff markers** | NOT_STARTED · IN_PROGRESS · DONE · PARTIAL |
259| **Next** | Code (implementation) |