create-implementation-plan

Breaks down a project into organized tasks, milestones, and clear success measures.

Installation
Run `npx skills add "https://github.com/jamiltonvalkor/opc-kit" --skill "create-implementation-plan"` to install this skill, then follow its SKILL.md instructions for my next request.

Paste this into Claude Code, Cursor, or any agent that can run commands.

SKILL.mdShow the author's original SKILL.md
---
name: create-implementation-plan
description: |
  Generate 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.
---

# Create Implementation Plan Skill

## 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:

```yaml
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:

- `planningWave` is a stable string identifier for this planning round.
- `tasksDir` is the directory containing task files.
- `milestones` contains exact Linear milestone names.
- `tasks` is 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:

```markdown
---
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:

- `id` must be unique within `task-package.yaml`.
- `milestone` must exactly match one entry in `task-package.yaml`.
- `priority` uses Linear-compatible numeric priority: `1=Urgent`, `2=High`, `3=Normal`, `4=Low`.
- `estimate` is a numeric story-point estimate.
- `blockedBy` and `blocks` contain task IDs from the same manifest.
- `areas` contains planning-time area slugs chosen with LLM judgment, such as
  `memory`, `openhands-runtime`, or `gateway`. The converter publishes them as
  canonical Linear labels named `area:<slug>`.
- `parent` is `null` for top-level issues or a task ID for a Linear sub-issue.

Use this body structure:

```markdown
## 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`.

```markdown
# 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`, and `parent` references 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:

```text
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:

1. Ask the user to review `docs/tasks/task-package.yaml`, `docs/tasks/milestones.md`, and the task files.
2. Optional: if the team uses Linear, convert the package with a `convert-tasks-to-linear` skill; otherwise the task files are already issue-ready for GitHub Issues, Jira or any tracker.
3. Hand each task file to the implementing agent (Claude Code, Codex, etc.) as its full brief: it must be executable without hidden chat history.

## Credits

Original skill by Leonardo González, from [OpenSymphony](https://github.com/kumanday/OpenSymphony) (MIT License, see `LICENSE`).
Shared in the OPC kit by Jamilton Valkor with a tool-agnostic "Next Steps" section.

Ships with 1 supporting file:

  • LICENSE

Mirrored from the author's public source. Install counts from the open skills registry.

The systems behind these skills get built for partners every week.

Partner with us