Implementation planning activity skill for PAW workflow. Creates phased implementation plans with clear success criteria, documentation phase planning, and strategic architectural descriptions.
Execution Context: This skill runs directly in the PAW session (not a subagent), preserving user interactivity for phase decisions and blocker handling.
Create detailed implementation plans through interactive refinement. Plans describe WHAT to build (components, interfaces, behaviors) at the architectural level, delegating HOW to implement to the implementer.
Reference: Follow Core Implementation Principles from
paw-workflowskill.
Read WorkflowContext.md for:
Plan Generation Mode: single-model | multi-modelPlan Generation Models: comma-separated model names (for multi-model modes)The plan generation mode is set during paw-init. If the field is missing (legacy workflow), default to single-model (backwards compatibility).
{{#cli}}
If mode is multi-model, parse the models list. Default: latest GPT, latest Gemini, latest Claude Opus.
{{/cli}}
{{#vscode}}
Note: VS Code only supports single-model mode. If multi-model is configured, report to user: "Multi-model plan generation not available in VS Code; running single-model planning." Proceed with single-model.
{{/vscode}}
paw-review-response for mechanics)Operate at the C4 container/component abstraction level:
Do:
Don't:
Example descriptions:
UserRepository interface with CRUD methods, following pattern in models/repositories/"services/auth/"Include documentation as the final implementation phase. The documentation phase is standard for all non-trivial changes.
Note: Implementer loads paw-docs-guidance utility skill for templates and conventions during documentation phases.
Save to: .paw/work/<work-id>/ImplementationPlan.md
# [Feature/Task Name] Implementation Plan
## Overview
[What we're implementing and why]
## Current State Analysis
[Existing state, gaps, key constraints from research]
## Desired End State
[Target state specification and verification approach]
## What We're NOT Doing
[Out-of-scope items]
## Phase Status
- [ ] **Phase 1: [Name]** - [Objective]
- [ ] **Phase 2: [Name]** - [Objective]
- [ ] **Phase N: Documentation** - [If warranted]
## Phase Candidates
<!-- Use checkbox format for each candidate so transition checks can detect unresolved items.
Example: - [ ] Moderator mode support -->
---
## Phase 1: [Name]
### Changes Required:
- **`path/to/file.ext`**: [Component changes, pattern references]
- **Tests**: [Test file, key scenarios]
### Success Criteria:
#### Automated Verification:
- [ ] Tests pass: `<command>`
- [ ] Lint/typecheck: `<command>`
#### Manual Verification:
- [ ] [User-observable behavior]
- [ ] [Edge cases requiring human judgment]
---
## Phase N: Documentation (if warranted)
### Changes Required:
- **`.paw/work/<work-id>/Docs.md`**: Technical reference (load `paw-docs-guidance`)
- **Project docs**: Per CodeResearch.md findings
### Success Criteria:
- [ ] Docs build: `<command>`
- [ ] Content accurate, style consistent
---
## References
- Issue: [link or 'none']
- Spec: `.paw/work/<work-id>/Spec.md`
- Research: `.paw/work/<work-id>/SpecResearch.md`, `.paw/work/<work-id>/CodeResearch.md`
Phase Status format: Use checkboxes - [ ] for pending, - [x] for complete. This provides at-a-glance status without heavy tables.
Desired end state: Complete ImplementationPlan.md with all phases defined
If single-model plan generation mode (default):
{{#cli}} If multi-model plan generation mode:
Read all context: Issue, Spec.md, SpecResearch.md, CodeResearch.md
Create .paw/work/<work-id>/planning/ directory if it doesn't exist
Create .paw/work/<work-id>/planning/.gitignore with content * (if not already present). This is a local-only scratch ignore marker — do NOT stage or commit it.
Resolve model intents to actual model names (e.g., "latest GPT" → current GPT model)
Present resolved models for confirmation:
About to run multi-model plan generation with:
- [resolved model 1]
- [resolved model 2]
- [resolved model 3]
Estimated LLM calls: N+1 (N = number of models)
Proceed?
Independent Plans (parallel): Spawn parallel subagents using task tool with model parameter for each model. Each subagent receives the planning subagent prompt below along with the full contents of Spec.md, CodeResearch.md, and SpecResearch.md. Save per-model plans to PLAN-{MODEL}.md in the planning/ subfolder.
Synthesis: Read all per-model plans. Produce the final ImplementationPlan.md using the synthesis prompt below, selecting the best phase structure, architecture decisions, and catching blind spots.
Failure handling: If a subagent fails, proceed with remaining results if at least 2 models completed successfully. If fewer than 2 succeed, offer user the choice to retry or fall back to single-model plan generation. Configurations with exactly 2 models are valid — synthesis works with any count ≥ 2.
Each subagent receives this prompt (self-contained, since subagents cannot load skills):
You are creating an implementation plan. You will receive a feature specification (Spec.md), codebase research (CodeResearch.md), and optionally spec research (SpecResearch.md).
Create a complete implementation plan following this template structure: Overview, Current State Analysis, Desired End State, What We're NOT Doing, Phase Status (checkboxes), Phase Candidates, then detailed phases with Changes Required (file paths, components, tests) and Success Criteria (automated and manual verification).
Guidelines:
- Operate at the C4 container/component abstraction level — describe WHAT to build, not HOW
- Reference specific file paths, module names, and existing patterns from CodeResearch.md
- Each phase should be independently reviewable with clear success criteria
- Include a Documentation phase as the final phase
- Limit code snippets to 3-10 lines for critical architectural concepts only
- Zero TBDs — all decisions must be made
- Include "What We're NOT Doing" to prevent scope creep
The session's agent reads all per-model plans and applies this approach:
Synthesize the best elements from all plan drafts into a single final ImplementationPlan.md. Compare section-by-section across all plans:
- Phase structure: Choose the best decomposition — consider granularity, independence, and logical ordering
- Architecture decisions: Pick the strongest approach, noting where plans converged (high confidence) vs. diverged (needs careful selection)
- Success criteria: Merge the most comprehensive and measurable criteria from all plans
- Scope boundaries: Union of all "What We're NOT Doing" items
The output must follow the standard ImplementationPlan.md template format exactly. {{/cli}}
When addressing Planning PR comments, load paw-review-response utility for mechanics.
Desired end state: All review comments addressed, artifacts consistent
<target>_plan)When revising based on paw-plan-review feedback:
Desired end state: ImplementationPlan.md updated to address all BLOCKING issues
Reference: Load
paw-git-operationsskill for branch naming, commit mechanics, and PR descriptions.
Report to PAW agent:
.paw/work/<work-id>/ImplementationPlan.mdIf planning encounters questions that cannot be answered from existing artifacts (Spec.md, CodeResearch.md):
blockedfinal-pr-only: PAW agent conducts additional research to resolve questions autonomouslyevery-stage/milestones: PAW agent asks user for clarification