home / skills / kevinslin / llm / dev.exec-plan

dev.exec-plan skill

/skills/dev.exec-plan

This skill generates a structured execution plan document with goals, context, technical approach, milestones, and risks for complex development tasks.

npx playbooks add skill kevinslin/llm --skill dev.exec-plan

Review the files below or copy the command above to add this skill to your agents.

Files (3)
SKILL.md
4.4 KB
---
name: dev.exec-plan
description: This skill should be used for development tasks that require detailed technical planning with persistent documentation. Use when the task involves architectural decisions, multi-phase implementation, external dependencies, or when the user explicitly requests an execution plan.
version: 2.0.0
---

# Execution Plan Skill

This skill creates structured, file-based execution plans for complex development tasks that benefit from persistent documentation and detailed technical planning.

## When to Use This Skill

Use this skill when:
- The task involves architectural or design decisions that should be documented
- Multiple implementation phases or milestones need tracking over extended periods
- External dependencies, APIs, or integrations require research and documentation
- The user explicitly requests a documented execution plan or project plan
- The task complexity warrants detailed technical specifications and decision rationale

**Do not use** for simple tasks better suited to TodoWrite (quick 3-5 step tasks without complex dependencies).

## Creating the Execution Plan

### 1. Determine Plan Location

By default, the output of a plan should be in `docs/project/specs/active`

### 2. Create Plan File and optionally, checkout a new branch

Create the plan using the template from `assets/plan-template.md` in the following location:
```
{plan-directory}/{YYYY-MM-DD}-{title-in-kebab-case}.md
```

Optionally, checkout a new branch with the following name: `dev/{YYYY-MM-DD}-{title-in-kebab-case}`. ONLY do this if user explicitly asks to create plan in a new branch. 

Example:
- plan: 2025-12-01-create-new-foo.md
- branch-name: `dev/2025-12-01-create-new-foo`

### 3. Populate the Plan

Use the template structure to create a comprehensive plan that includes:

For detailed guidance on creating effective plans, consult `references/effective-planning.md`.

**Goal** - Clear objective statement describing what will be accomplished

**Context** - Background information, constraints, and requirements
- Why this task is needed
- Current system state
- Key constraints or limitations

**Technical Approach** - High-level architectural or implementation strategy
- Technology choices and rationale
- Design patterns or methodologies
- Integration points

**Steps** - Detailed implementation phases in logical order
- Break down into milestones or phases
- Include research, implementation, testing, and deployment steps
- Note dependencies between steps

**Dependencies** - External resources, APIs, libraries, or tools needed
- Third-party services or integrations
- Required access or credentials
- Documentation references

**Risks & Mitigations** - Potential blockers and how to address them
- Technical risks
- Resource constraints
- Mitigation strategies

**Questions** - Open questions requiring clarification or research
- Unresolved technical decisions
- Areas needing user input
- Research tasks

### 4. Simplify

After creating the plan, think about whether you could simplify it further. Consult `DESIGN.md` file if it exists as well as last 5 commits to understand recent changes for context. If you identify ways that the plan can be made simpler, do the simplification. Add any simplifications done in the `# Notes` section of the execution plan.

### 5. Review and Confirm

After creating the plan:
1. Present a summary of the plan to the user
2. Highlight any questions or decisions that need input
3. Wait for user confirmation before proceeding with implementation
4. Update the plan as new information emerges during execution

### 6. User revision (optional)

If the user asks for additional details - write your response into the existing execution plan instead of responding in the conversation. 

### 7. Proceeding with the plan

When the user asks you to proceed with the plan, re-read it to check if anything has changed. Also make sure that all questions that were asked are answered by the user (user will have checked off the question box and added an answer as a bullet point below). If not, prompt the user for answers before proceeding.

## Best Practices

- Keep plans focused and actionable - avoid unnecessary verbosity
- Update the plan as decisions are made or scope changes
- Use the plan as a living document throughout the development process
- Reference specific sections when discussing progress or blockers
- For very complex plans, consider breaking into multiple related plan documents

Overview

This skill creates structured, file-based execution plans for complex development tasks that need persistent documentation and clear technical direction. It is tailored for architectural decisions, multi-phase implementations, integration work, and any request that explicitly asks for a documented execution plan. The output is organized so teams can track milestones, decisions, dependencies, and risks over the lifetime of the project.

How this skill works

The skill generates a markdown execution plan in a designated directory (default: docs/project/specs/active) using a standard template. It assembles Goal, Context, Technical Approach, Steps, Dependencies, Risks & Mitigations, and Questions, and optionally suggests a branch name if the user requests a new branch. After creation, the skill reviews the plan for simplification opportunities and records any simplifications in the plan notes.

When to use it

  • When architectural or design decisions must be recorded and justified
  • For projects with multiple phases, milestones, or long timelines
  • When external APIs, services, or integrations require research and documentation
  • If the user explicitly requests a documented execution or project plan
  • When task complexity exceeds a simple 3–5 step todo list

Best practices

  • Place plan files in docs/project/specs/active following {YYYY-MM-DD}-{title-in-kebab-case}.md naming
  • Break work into clear milestones and list dependencies between steps
  • Document unanswered questions and require user confirmation before proceeding with implementation
  • Keep plans concise and update them as decisions are made or scope changes
  • If the plan is very complex, split it into related sub-plans and cross-reference them

Example use cases

  • Designing a new microservice with API contracts, data schema, and deployment strategy
  • Planning a phased migration to a third-party service that requires credential setup and testing
  • Creating an integration plan for an external payment gateway with fallback and monitoring requirements
  • Preparing a multi-release feature rollout with toggles, DB migrations, and backward compatibility checks

FAQ

Should I create a branch automatically when making a plan?

Only create a new branch if you explicitly request it. If asked, the suggested branch name is dev/{YYYY-MM-DD}-{title-in-kebab-case}.

Where will the plan file be created by default?

By default the plan is created in docs/project/specs/active using the filename format {YYYY-MM-DD}-{title-in-kebab-case}.md.

What if new information appears after the plan is created?

Update the plan as a living document. Re-open the plan, record new decisions, and note any changes in the Notes section before proceeding.