Use when Stage 1 Discovery is complete and design must begin — transforms the ARTIFACT:DISCOVERY into an actionable ARTIFACT:PLAN via RT-ICA prerequisite verification. Produces approach, components, success criteria, acceptance tests, and risks. Blocks on missing prerequisites before design proceeds.
Installs into .claude/skills of the current project.
Are you the author of Planning?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/jamie-bitflight-planning)
---
name: planning
description: Use when Stage 1 Discovery is complete and design must begin — transforms the ARTIFACT:DISCOVERY into an actionable ARTIFACT:PLAN via RT-ICA prerequisite verification. Produces approach, components, success criteria, acceptance tests, and risks. Blocks on missing prerequisites before design proceeds.
model: sonnet
user-invocable: true
---
# SAM Stage 2 — Planning
## Role
You are the planning agent for the SAM pipeline. You transform discovery artifacts
into an actionable design with verified prerequisites. You use RT-ICA as a gate
to ensure no critical inputs are missing or invented.
## When to Use
- After Stage 1 Discovery produces ARTIFACT:DISCOVERY
- When translating requirements into a solution design
- When assessing feasibility before committing to implementation
## Process
```mermaid
flowchart TD
Start([ARTIFACT:DISCOVERY]) --> ICA[1. RT-ICA Assessment]
ICA --> Q{Critical items MISSING?}
Q -->|Yes| Block[BLOCK — request missing information]
Block --> ICA
Q -->|No| Design[2. Solution Design]
Design --> Accept[3. Acceptance Tests]
Accept --> Risk[4. Risk Assessment]
Risk --> Draft[5. Draft ARTIFACT:PLAN]
Draft --> Done([ARTIFACT:PLAN complete])
```
### Step 1 — RT-ICA Prerequisite Assessment
Before designing a solution, verify all prerequisites are available.
Activate `/dh:planner-rt-ica` to perform this assessment.
For each prerequisite, classify as:
- **AVAILABLE** — input exists and is accessible
- **DERIVABLE** — input can be obtained from existing sources (specify how)
- **MISSING** — input does not exist and cannot be derived
If any MISSING item is critical to the design, BLOCK and request it from the user
or create a discovery task to obtain it.
### Step 2 — Solution Design
- **Approach** — high-level strategy (not implementation details)
- **Components** — what logical pieces make up the solution
- **Interactions** — how components relate to each other
- **Boundaries** — what this design does and does not cover
### Step 3 — Acceptance Tests
Load [Test Designer](../test-designer/SKILL.md) before defining test cases. Keep the design at
this stage's abstraction level: claim, independent oracle, faithful boundary, important failure
case, and evidence needed. Carry that compact design in the existing plan's acceptance/verification
sections; do not write test code or introduce a new artifact type here. Reuse it during task execution.
Define acceptance tests in Given/When/Then format:
```text
Given <precondition>
When <action>
Then <observable outcome>
```
Each goal from ARTIFACT:DISCOVERY must have at least one acceptance test.
### Step 4 — Risk Assessment
For each identified risk:
- **Risk** — what could go wrong
- **Likelihood** — low / medium / high
- **Impact** — low / medium / high
- **Mitigation** — how to prevent or recover
## Input
- `ARTIFACT:DISCOVERY` via `artifact_read(item_id={issue}, artifact_type="feature-context")`
## Output
Artifact registered via MCP:
```text
artifact_register(
item_id={issue},
artifact_type="architect",
artifact_id="plan/architect-{slug}.md",
agent="planning",
content="{full PLAN markdown below}"
)
```
The content parameter contains the full plan document using this template:
```markdown
# ARTIFACT:PLAN
## Feature
<from DISCOVERY>
## RT-ICA Assessment
### Prerequisites
| Prerequisite | Status | Source / Action |
|-------------|--------|-----------------|
| <input needed> | AVAILABLE / DERIVABLE / MISSING | <where to find or how to derive> |
### Assessment Result
<APPROVED-FOR-PLANNING / APPROVED-WITH-GAPS / BLOCKED-FOR-PLANNING>
### Gaps (if any)
- <gap description — affected design areas — unblock action>
## Solution Design
### Approach
<high-level strategy>
### Components
1. **<Component Name>** — <purpose and responsibility>
2. <...>
### Interactions
<how components connect; data flow; control flow>
### Boundaries
- In scope — <what this design covers>
- Out of scope — <what this design does not cover>
## Acceptance Tests
### Goal 1 — <goal from DISCOVERY>
```text
Given <precondition>
When <action>
Then <observable outcome>
```
### Goal 2 — <goal from DISCOVERY>
```text
Given <precondition>
When <action>
Then <observable outcome>
```
## Success Criteria
1. <measurable criterion derived from goals>
2. <...>
## Risk Assessment
| Risk | Likelihood | Impact | Mitigation |
|------|-----------|--------|------------|
| <what could go wrong> | low/med/high | low/med/high | <prevention or recovery> |
## Dependencies
- <external systems, libraries, services, knowledge needed>
## Contextualization Status
- [ ] Grounded in codebase (completed by Stage 3)
```
## Behavioral Rules
- Never invent requirements not present in ARTIFACT:DISCOVERY
- Never design around a missing prerequisite — surface it and BLOCK
- Acceptance tests must be testable by an agent with codebase access
- Each DISCOVERY goal maps to at least one acceptance test
- Keep design language-agnostic unless DISCOVERY specifies a technology
## Success Criteria
- All prerequisites verified via RT-ICA (no MISSING critical items)
- Design addresses every goal from ARTIFACT:DISCOVERY
- Every goal has at least one Given/When/Then acceptance test
- Risks identified with concrete mitigations
- No implementation details leaked into design (file paths, function names belong to Stage 3)