Write a short implementation plan or a longer execution plan before coding. Use when starting new work, when a ticket needs clearer boundaries, when a change spans multiple files or interfaces, or when a multi-hour task needs a living plan.
1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
316
stars on the repo
on the repository, not the skill itself
Install
one command, takes just this skill from the repository
npx skills add https://github.com/owainlewis/youtube-tutorials --skill plan
The instruction itself
11 sections, as written by the author
Plan
Purpose
Turn a ticket, feature request, or rough idea into a plan that is clear enough to implement against.
For smaller work, that means a short working plan.
For larger multi-hour work, that means a longer living execution plan in the style of PLANS.md.
When to use
Starting a new feature or meaningful change
A Linear ticket is good, but still needs cleaner implementation intent
Requirements, scope, or success criteria are unclear
The change touches multiple files, interfaces, config, schema, or data flow
The task is large enough that you want a document to guide several implementation passes
Choose the right level of planning
1. Lightweight plan
Use this when:
the ticket is already fairly descriptive
the change is small or medium
you mainly need clearer scope, steps, and verification
Output:
a short Markdown plan
usually 5-20 lines
enough for one focused implementation session
2. Full execution plan
Use this when:
the task may take multiple hours
the work spans multiple milestones
you need a living document during implementation
another engineer or agent should be able to continue from the plan alone
Output:
a self-contained plan in the style of PLANS.md
prose-first, explicit, and updateable during implementation
Process
Read the ticket, product context, AGENTS.md, and relevant code before planning.
Restate the goal in plain English.
Decide whether this needs a lightweight plan or a full execution plan.
If a material decision is missing, ask a concise question or state an explicit assumption.
Write the plan so someone could implement from it without relying on hidden context.
What a lightweight plan should contain
Goal
Context
Scope
Non-goals
Proposed steps
Risks
Verification
Example:
# GRA-141 Plan
Goal: persist scraped jobs into Postgres while keeping CSV export.
Context:
- Current scraper exports CSV.
- We want minimal persistence without broadening scope into UI or API work.
Scope:
- Add DB configuration.
- Define a minimal jobs table.
- Persist jobs from the scraper flow.
Non-goals:
- No new UI.
- No API endpoints.
- No broad data model redesign.
Steps:
1. Add DB configuration and connection setup.
2. Define minimal `jobs` table.
3. Implement job upsert logic.
4. Wire scraper CLI to persist jobs.
5. Keep CSV export optional.
6. Add tests for upsert and rerun behavior.
7. Run review and cleanup.
Verification:
- Targeted tests pass.
- Existing CLI flow still works.
What a full execution plan should contain
A full execution plan should be self-contained and readable by someone with only the working tree and the plan.
Required sections:
Purpose
Progress
Surprises & Discoveries
Decision Log
Outcomes & Retrospective
Context and Orientation
Plan of Work
Concrete Steps
Validation and Acceptance
Rollback or Safety Notes, if relevant
For larger tasks:
write in plain English
explain non-obvious terms immediately
name files by path
keep the plan updated as work progresses
Rules
Keep the plan as short as the task allows.
Do not write a greenfield design if the codebase already has patterns to follow.
Call out schema, config, CLI, API, or file-format changes explicitly.
Make requirements specific enough that someone can review the implementation against them.
If the request is tiny and obvious, skip the long plan and move straight to a lightweight plan or direct implementation.
If the task is long-running, treat the plan as a living document and update it during execution.
If the plan starts getting large because the task is actually several tasks, split the work.
Resources
For this repo, use:
resources/plan-template.md for a short working plan
resources/execplan-template.md for a longer PLANS.md-style execution plan
How to use it
Copy the folder
Take owainlewis/plan from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
Check the name does not clash
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.