Create Implementation Plan Skill
SkillFiles & storageGenerate a structured implementation plan from project requirements with decomposed tasks, milestones, dependencies, and acceptance criteria. Use when starting a new project or planning a new development wave that should produce docs/tasks/task-package.yaml and issue-ready task files.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Create Implementation Plan Skill skill
What this skill tells your AI
The instructions your AI receives, as published by kumanday/opensymphony in .agents/skills/create-implementation-plan/SKILL.md and read by ahel’s review.
Purpose
Generate a structured planning package from project requirements. The package must include shared project context plus a deterministic task manifest that can be reviewed by humans, converted to Linear, and executed by implementation agents without hidden chat history.
When To Use
Use this skill when a team is ready to turn a product idea, PRD, design note, research brief, or follow-on development request into implementation tasks.
For iterative projects, create a new planning wave instead of rewriting the
identity of an already-published wave. A planning wave is a named round of
planning and decomposition such as bootstrap-mvp, hosted-alpha, or
rich-client-hosted-mode.
Required Inputs
Before generating files, gather or infer:
- Project or planning-wave name.
- Project description and success criteria.
- Key requirements and features.
- Technical constraints and preferences.
- Existing PRDs, architecture notes, source files, external links, and research.
- Existing task and Linear context when this is a follow-on planning wave.
Process
Step 1: Gather Context
Collect relevant source material and synthesize it before creating tasks:
- Existing design documents and PRDs.
- Stakeholder requirements and success criteria.
- Technical research findings.
- Reference implementations or public API documentation.
- Existing repo conventions, architecture, and task history.
Add targeted supplemental research only where it improves the task plan.
Step 2: Generate Shared Context And Architecture Documentation
Create or update these files when the project needs them:
AGENTS.md - Persistent implementation context for coding agents:
- Project mission and scope.
- Non-negotiable constraints and architectural invariants.
- Cross-cutting definitions and repository conventions.
- Commands, environment expectations, and references to deeper docs.
If AGENTS.md already exists, refine it while preserving useful project-specific guidance.
README.md - Human-facing project overview:
- Problem statement and goals.
- Setup and primary workflows.
- High-level architecture summary.
- Links to detailed docs and task plans.
docs/architecture.md - System architecture:
- Component breakdown.
- Data flow.
- Integration points.
- Technology choices and rationale.
docs/decisions/ - Architecture Decision Records when decisions need a durable record.
Step 3: Create The Task Package Manifest
Create docs/tasks/task-package.yaml. This file is the canonical
machine-readable input for convert-tasks-to-linear.
Use this shape:
planningWave: rich-client-hosted-mode
tasksDir: docs/tasks
milestones:
- "M1: Gateway And Stream Contract"
- "M2: Shared Client And Desktop Alpha"
tasks:
- id: TASK-001
file: docs/tasks/001-current-gateway-inventory.md
- id: TASK-002
file: docs/tasks/002-gateway-schemas.md
Rules:
planningWaveis a stable string identifier for this planning round.tasksDiris the directory containing task files.milestonescontains exact Linear milestone names.tasksis the complete list of task files for this wave.- Task discovery reads the manifest task list.
Step 4: Generate Implementation Tasks
Create one Markdown file per task. File names may follow a readable convention
such as 001-brief-description.md, but the manifest is the source of truth.
Each task file must include this frontmatter:
---
id: TASK-001
title: Human-readable task title
milestone: "M1: Gateway And Stream Contract"
priority: 3
estimate: 3
blockedBy: []
blocks: []
areas:
- gateway
parent: null
---
Field rules:
idmust be unique withintask-package.yaml.milestonemust exactly match one entry intask-package.yaml.priorityuses Linear-compatible numeric priority:1=Urgent,2=High,3=Normal,4=Low.estimateis a numeric story-point estimate.blockedByandblockscontain task IDs from the same manifest.areascontains planning-time area slugs chosen with LLM judgment, such asmemory,openhands-runtime, orgateway. The converter publishes them as canonical Linear labels namedarea:<slug>.parentisnullfor top-level issues or a task ID for a Linear sub-issue.
Use this body structure:
## Summary
One or two sentences describing what this task accomplishes.
## Scope
### In scope
- Specific item 1
- Specific item 2
### Out of scope
- Explicitly excluded item 1
## Deliverables
- File or artifact 1
- File or artifact 2
## Acceptance Criteria
- [ ] Criterion 1: measurable outcome
- [ ] Criterion 2: measurable outcome
## Test Plan
- Test command or verification step 1
- Test command or verification step 2
## Context
- Relevant repo paths to inspect or modify.
- Docs, specs, or external sources to read first.
- Parent task, blockers, or sibling work that matter.
## Definition of Ready
- [ ] Hidden assumptions from prior discussion are written down.
- [ ] Required files, docs, and dependencies are explicitly referenced.
- [ ] A coding agent could begin execution without additional planning context.
## Notes
Any additional context, references, or gotchas.
Step 5: Generate The Human Milestone Index
Create docs/tasks/milestones.md as the human-readable overview. It should use
the same milestone names as task-package.yaml.
# Project Milestones
## M1: Gateway And Stream Contract
Goal: Establish the versioned gateway and stream contract.
Tasks:
- TASK-001 Current Gateway Inventory
- TASK-002 Gateway Schemas
milestones.md can include goals and explanatory prose. Conversion relies on
task-package.yaml.
Step 6: Validate Completeness
Before finishing, check that:
- Every manifest task file exists.
- Every task has required frontmatter and body sections.
- Every task ID is unique.
- Every dependency and parent reference points to a manifest task.
blockedBy,blocks, andparentreferences point to manifest tasks.- Area slugs are stable, lowercase, and useful for deterministic memory lookup.
- The dependency graph has no cycles.
- Each task is independently implementable.
- Acceptance criteria and test plans are measurable.
Expected Output
After completing this skill, the repository should contain:
AGENTS.md
README.md
docs/
├── architecture.md
├── decisions/
└── tasks/
├── task-package.yaml
├── milestones.md
├── 001-bootstrap.md
├── 002-setup-testing.md
└── ...
Next Steps
After generating the package:
- Ask the user to review
docs/tasks/task-package.yaml,docs/tasks/milestones.md, and the task files. - Use
convert-tasks-to-linearto validate, dry-run, and publish the planning wave. - Verify hierarchy, blockers, and project placement in Linear.
- Begin execution with
opensymphony run.
Signals
- GitHub stars
- 81
- Forks
- 15
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
create-implementation-plan-kumanday- Source
- github.com/kumanday/opensymphony