implementation-planning

Use when you have specifications or requirements for multi-step implementation tasks requiring comprehensive documentation for handoff

16 stars

Best use case

implementation-planning is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when you have specifications or requirements for multi-step implementation tasks requiring comprehensive documentation for handoff

Teams using implementation-planning should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/implementation-planning/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/documentation/implementation-planning/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/implementation-planning/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How implementation-planning Compares

Feature / Agentimplementation-planningStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when you have specifications or requirements for multi-step implementation tasks requiring comprehensive documentation for handoff

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Implementation Planning

## Overview

Write comprehensive implementation plans assuming the engineer is skilled but unfamiliar with the codebase and project conventions. Document everything they need: which files to touch for each task, complete code examples, testing commands, documentation to reference, and verification steps. Break work into atomic, committable units following DRY, YAGNI, and TDD principles.

**Announce at start:** "I'm using the implementation-planning skill to create the implementation plan."

**Context:** Plans should be created in a dedicated worktree for isolation.

**Save plans to:** `docs/plans/YYYY-MM-DD-<feature-name>.md`

## When to Use

**Use implementation-planning when:**
- Multi-step implementation (3+ distinct tasks)
- Complex integration requiring file-level navigation guidance
- Handoff to another developer or future execution session
- TDD cycle needs documentation for consistency across tasks
- Clear requirements exist and architecture approach is defined

**Don't use for:**
- Single-file changes (just implement directly)
- Well-established patterns with existing guides (reference those instead)
- Exploratory prototyping (plans constrain necessary experimentation)
- Unclear requirements (use brainstorming first)

## Atomic Task Granularity

**Each step is one atomic action:**
- Focused on single outcome
- Independently testable
- Committable as logical unit
- Has clear Definition of Done

**Examples of atomic steps:**
- "Write the failing test" - one step
- "Run it to verify failure" - one step
- "Implement minimal code to make test pass" - one step
- "Run tests and verify they pass" - one step
- "Commit changes" - one step

**NOT atomic:**
- "Write and run tests" - two steps combined
- "Implement feature with error handling" - multiple concerns
- "Update code and documentation" - separate commits

## Plan Document Header

**Every plan MUST start with this header:**

```markdown
# [Feature Name] Implementation Plan

> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.

**Goal:** [One sentence describing what this builds]

**Architecture:** [2-3 sentences about approach]

**Tech Stack:** [Key technologies/libraries]

**Prerequisites:**
- [Any setup needed before starting]
- [Dependencies that must be installed]

---
```

## Task Structure

Each task follows this template:

```markdown
### Task N: [Component Name]

**Files:**
- Create: `exact/path/to/file.py`
- Modify: `exact/path/to/existing.py:123-145` (lines if known)
- Test: `tests/exact/path/to/test.py`
- Docs: `docs/path/to/reference.md` (if relevant)

**Step 1: Write the failing test**

```python
def test_specific_behavior():
    # Arrange
    input_data = create_test_input()

    # Act
    result = function(input_data)

    # Assert
    assert result == expected_output
```

**Why this test:** [Explain what behavior this verifies]

**Step 2: Run test to verify it fails**

Run: `pytest tests/path/test.py::test_specific_behavior -v`

Expected output:
```
FAILED - NameError: name 'function' is not defined
```

**Step 3: Write minimal implementation**

```python
def function(input_data):
    """Brief docstring explaining purpose."""
    # Minimal code to make test pass
    return expected_output
```

**Why minimal:** [Explain what's deliberately omitted for now]

**Step 4: Run test to verify it passes**

Run: `pytest tests/path/test.py::test_specific_behavior -v`

Expected output:
```
PASSED
```

**Step 5: Commit**

```bash
git add tests/path/test.py src/path/file.py
git commit -m "feat: add specific feature

- Implements [specific behavior]
- Tests verify [specific condition]

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>"
```

**Definition of Done:**
- [ ] Test written and fails for right reason
- [ ] Implementation makes test pass
- [ ] No other tests broken
- [ ] Code committed with clear message
```

## Quality Standards

**Every task MUST include:**

1. **Exact file paths** - No "update the config file" without path
2. **Complete code** - No "add validation logic" without showing the code
3. **Exact commands** - Full command with flags, not "run tests"
4. **Expected output** - What success/failure looks like
5. **Definition of Done** - Checklist for task completion

**Code examples must be:**
- Complete and runnable
- Include necessary imports
- Show actual logic, not pseudocode
- Have minimal comments (code should be self-explanatory)

## Cross-Skill References

**Reference skills using requirement markers, NOT @ syntax:**

```markdown
# ✅ GOOD: Explicit requirement marker
**REQUIRED SUB-SKILL:** Use superpowers:test-driven-development

**BACKGROUND:** Understanding superpowers:systematic-debugging helps with troubleshooting

# ❌ BAD: @ syntax force-loads and burns context
@skills/test-driven-development/SKILL.md
```

## Common Mistakes

| Mistake | Impact | Fix |
|---------|--------|-----|
| Vague tasks ("add validation") | Engineer doesn't know what to implement | Include complete validation code in plan |
| Missing file paths | Time wasted searching codebase | Exact path for every file touched |
| "Run tests" without specifics | Wrong tests run, or none at all | Exact command with file::function and expected output |
| Generic commit messages | Hard to review, poor history | Follow conventional commits with context |
| Skipping test failure verification | False confidence (test might not work) | Always verify RED before implementing GREEN |
| Combining multiple actions in one step | Unclear what to commit, harder to debug | Each step = one atomic action |
| Assuming context knowledge | Engineer unfamiliar with codebase stuck | Document which files define types, where utilities live |
| Incomplete code examples | "Figure it out" wastes time | Complete, runnable code in plan |

## Red Flags - STOP and Revise Plan

These thoughts mean incomplete plan:

| Excuse | Reality |
|--------|---------|
| "They'll figure out the details" | Details ARE the plan. Document them. |
| "File path is obvious from context" | Not obvious to someone unfamiliar. State it explicitly. |
| "Standard validation, doesn't need code" | What's standard to you is unclear to others. Show the code. |
| "Test command is straightforward" | Exact command eliminates ambiguity. Specify it. |
| "This step is quick, combine with next" | Atomic steps = atomic commits. Keep separate. |

**If you catch yourself using these rationalizations, STOP and add the missing details.**

## Execution Handoff

After saving the plan, offer execution choice:

**"Plan complete and saved to `docs/plans/<filename>.md`. Two execution options:**

**1. Subagent-Driven (this session)** - I dispatch fresh subagent per task with code review between tasks for fast iteration

**2. Parallel Session (separate)** - Open new session with executing-plans for batch execution with checkpoints

**Which approach?"**

**If Subagent-Driven chosen:**
- **REQUIRED SUB-SKILL:** Use superpowers:subagent-driven-development
- Stay in this session
- Fresh subagent per task + code review after each

**If Parallel Session chosen:**
- Guide them to open new session in the worktree
- **REQUIRED SUB-SKILL:** New session uses superpowers:executing-plans
- Batch execution with review checkpoints

## Principles Summary

**DRY (Don't Repeat Yourself):**
- Extract common utilities rather than duplicating code
- Reference existing patterns instead of reinventing

**YAGNI (You Aren't Gonna Need It):**
- Implement only what's specified in requirements
- Don't add "nice to have" features preemptively

**TDD (Test-Driven Development):**
- Always test first, implementation second
- Watch test fail before writing production code
- Keep implementation minimal to pass test

**Frequent Commits:**
- Each atomic step = one commit
- Clear, conventional commit messages
- Commits tell the story of implementation

Related Skills

feature-implementation

16
from diegosouzapw/awesome-omni-skill

[Implementation] Use when the user asks to implement a new feature, enhancement, add functionality, build something new, or create new capabilities. Triggers on keywords like "implement", "add feature", "build", "create new", "develop", "enhancement".

agile-planning

16
from diegosouzapw/awesome-omni-skill

Generate agile release plans with sprints and roadmaps using unique sprint codes. Use when creating sprint schedules, product roadmaps, release planning, or when user mentions agile planning, sprints, roadmap, or release plans.

Capacity Planning

16
from diegosouzapw/awesome-omni-skill

Forecast resource needs and design scaling strategies based on growth projections

websocket-implementation

16
from diegosouzapw/awesome-omni-skill

Implement real-time bidirectional communication with WebSockets including connection management, message routing, and scaling. Use when building real-time features, chat systems, live notifications, or collaborative applications.

V3 Core Implementation

16
from diegosouzapw/awesome-omni-skill

Core module implementation for claude-flow v3. Implements DDD domains, clean architecture patterns, dependency injection, and modular TypeScript codebase with comprehensive testing.

slo-implementation

16
from diegosouzapw/awesome-omni-skill

Define and implement Service Level Indicators (SLIs) and Service Level Objectives (SLOs) with error budgets and alerting. Use when establishing reliability targets, implementing SRE practices, or measuring service performance.

skill-latex-implementation

16
from diegosouzapw/awesome-omni-skill

Implement LaTeX documents following a plan. Invoke for LaTeX-language implementation tasks.

search-web-implementation

16
from diegosouzapw/awesome-omni-skill

Search the web monorepo (../app) to find how web handles equivalent functionality. Use when implementing mobile features that need to match web behavior, finding web routes, or understanding how web handles a specific feature like statements, portfolios, or user flows.

review-implementation

16
from diegosouzapw/awesome-omni-skill

Use after hyperpowers:executing-plans completes all tasks - verifies implementation against bd spec, all success criteria met, anti-patterns avoided

planning-with-files

16
from diegosouzapw/awesome-omni-skill

Transforms workflow to use Manus-style persistent markdown files for planning, progress tracking, and knowledge storage. Use when starting complex tasks, multi-step projects, research tasks, or when the user mentions planning, organizing work, tracking progress, or wants structured output.

implementation

16
from diegosouzapw/awesome-omni-skill

Implement code from plan. Max 30 lines per function. No vague names.

implementation-planner

16
from diegosouzapw/awesome-omni-skill

专业的软件架构师,根据用户需求和设计方案创建详细的实施(开发)计划。将设计方案转化为可执行的任务列表,支持测试驱动开发和渐进式实现。