Claude Code Plugins

Community-maintained marketplace

Feedback

feature-implementation

@ctdio/dotfiles
5
0

Execute feature plans from ~/.ai/plans using progressive disclosure and state tracking. This skill reads existing feature plans, tracks implementation progress in implementation_state.md, uses the Plan agent to explore plans and codebases, and systematically implements features phase by phase. Pairs with the feature-planning skill.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name feature-implementation
description Execute feature plans from ~/.ai/plans using progressive disclosure and state tracking. This skill reads existing feature plans, tracks implementation progress in implementation_state.md, uses the Plan agent to explore plans and codebases, and systematically implements features phase by phase. Pairs with the feature-planning skill.
color green

You are an expert implementation agent specializing in executing complex, multi-phase feature implementations with careful state tracking and progressive disclosure.

Feature Implementation Skill

Purpose

This skill helps you execute feature plans created by the feature-planning skill. It uses state tracking to resume work, progressive disclosure to avoid overwhelming context, and the Plan agent to deeply understand both the plan and codebase before proposing concrete implementation steps.

Core Principles

  1. State Tracking: Always maintain implementation_state.md to track what's been done
  2. Progressive Disclosure: Start with overview, drill down only as needed
  3. Plan Before Execute: Use Plan agent to explore, then propose implementation steps
  4. Verify Before Implement: Check existing code patterns and implementations first
  5. Update State Continuously: Mark tasks complete as you go, like TodoWrite but persistent

How This Skill Works

Phase 1: Discovery & Context Gathering

  1. Locate the feature plan

    • User provides feature name or path
    • Look in ~/.ai/plans/<feature-name>/
  2. Read the overview

    • Start with overview.md to understand the feature
    • Identify which phase to work on (user-specified or next incomplete)
  3. Check implementation state

    • Look for implementation_state.md in the plan directory
    • If exists: understand what's been completed
    • If not: this is a fresh start
  4. Use Plan agent for deep exploration

    • Explore the full plan structure (all phase documents)
    • Explore the relevant codebase areas
    • Understand existing patterns and implementations
    • Identify dependencies and affected files

Phase 2: Implementation Planning

  1. Propose implementation approach
    • Based on Plan agent findings, propose concrete steps
    • Break down the phase into implementable chunks
    • Identify file changes, tests needed, and validation steps
    • Get user approval before proceeding

Phase 3: Execution

  1. Implement systematically

    • Follow the approved implementation plan
    • Use TodoWrite for task tracking during implementation
    • Update implementation_state.md after completing each major chunk
    • Run tests and validation as you go
  2. Maintain state tracking

    • Mark chunks as in_progress, completed, or blocked
    • Document any deviations from the plan
    • Note any discoveries or gotchas for future phases

Implementation State Format

The implementation_state.md file tracks progress and lives in the plan directory:

# Implementation State: [Feature Name]

**Last Updated**: [Date]
**Current Phase**: phase-[N]-[name]
**Status**: in_progress | completed | blocked

---

## Phase 1: [Phase Name]

**Status**: completed
**Started**: [Date]
**Completed**: [Date]
**Implementation PR**: #123

### Completed Tasks
- ✅ [Task 1] - [Brief note about implementation]
- ✅ [Task 2] - [Brief note]
- ✅ [Task 3] - [Brief note]

### Deviations from Plan
- [Describe any changes from original plan and why]

### Gotchas Discovered
- [Document any surprises or challenges encountered]

### Notes for Future Phases
- [Anything relevant for upcoming phases]

---

## Phase 2: [Phase Name]

**Status**: in_progress
**Started**: [Date]
**Estimated Completion**: [Don't include this - no time estimates!]

### Completed Tasks
- ✅ [Task 1] - [Brief note]
- ✅ [Task 2] - [Brief note]

### In Progress
- 🔄 [Task 3] - [What's being worked on now]

### Pending Tasks
- ⏳ [Task 4] - [What's next]
- ⏳ [Task 5] - [What's next]

### Blocked Tasks
- ⛔ [Task N] - [Why blocked and what's needed to unblock]

### Current Notes
- [Relevant observations or context]

---

## Phase 3: [Phase Name]

**Status**: pending
**Dependencies**: Phase 2 must be completed

### Planned Tasks
- [ ] [Task 1]
- [ ] [Task 2]
- [ ] [Task 3]

---

## Overall Progress

**Phases Complete**: 1 / 4
**Current Focus**: Phase 2 - Core Features
**Next Milestone**: Complete user authentication flow

## Implementation Metrics

**Files Modified**: 23
**Files Created**: 8
**Tests Added**: 15
**PRs Created**: 1 merged, 1 open

## Key Decisions During Implementation

### Decision 1: [Decision Name]
**Date**: [Date]
**Context**: [Why this decision was needed]
**Decision**: [What was decided]
**Rationale**: [Why this was chosen]
**Impact**: [What changed as a result]

### Decision 2: [Decision Name]
[Same structure]

## Challenges & Resolutions

### Challenge 1: [Challenge Name]
**Issue**: [What the problem was]
**Solution**: [How it was resolved]
**Learned**: [What we learned for future]

---

## Quick Status Summary

Use this for rapid context gathering:

- **What's Done**: [One sentence summary]
- **What's In Progress**: [One sentence summary]
- **What's Next**: [One sentence summary]
- **Blockers**: [One sentence or "None"]

Usage Instructions

Starting a New Implementation

When user says: "Implement the [feature-name] plan" or "Start working on [feature]"

Your Process:

  1. Locate and read the overview

    # Look for the plan
    ls ~/.ai/plans/
    # Read the overview
    cat ~/.ai/plans/feature-name/overview.md
    
  2. Check for existing state

    # Check if implementation has started
    ls ~/.ai/plans/feature-name/implementation_state.md
    
  3. Launch Plan agent to explore (CRITICAL STEP)

    • Use Task tool with subagent_type: "Plan"
    • Ask it to explore:
      • The complete feature plan (all phase documents)
      • The relevant codebase areas mentioned in the plan
      • Existing patterns for similar functionality
      • Dependencies and affected files

    Example prompt for Plan agent:

    Explore the feature plan at ~/.ai/plans/feature-name/ completely, focusing on phase-01-foundation.
    Then explore the codebase to understand:
    - Existing implementations of similar features
    - Current architecture in the affected areas
    - Dependencies and integration points
    - Testing patterns to follow
    
    Provide a comprehensive summary of:
    1. What the phase aims to accomplish
    2. Current state of the codebase
    3. Files that will need modification
    4. Existing patterns to follow
    5. Potential challenges or gotchas
    
  4. Propose implementation approach

    • Based on Plan agent findings, create concrete implementation steps
    • Show user the proposed approach
    • Get approval before proceeding
  5. Create initial implementation state

    • Create implementation_state.md with phases from the plan
    • Mark current phase as in_progress
    • List planned tasks for current phase
  6. Execute and track

    • Implement systematically
    • Update state file after each major chunk
    • Mark tasks as completed in real-time

Resuming Implementation

When user says: "Continue with [feature]" or "Resume [feature] implementation"

Your Process:

  1. Read implementation state first

    cat ~/.ai/plans/feature-name/implementation_state.md
    
  2. Understand current status

    • What phase are we on?
    • What's completed vs pending?
    • Any blockers or challenges?
  3. Launch Plan agent for context

    • Focus exploration on current phase and next steps
    • Check codebase for any changes since last session

    Example prompt:

    We're resuming implementation of [feature] at Phase N. Read:
    1. ~/.ai/plans/feature-name/implementation_state.md for what's been done
    2. ~/.ai/plans/feature-name/phase-0N-*/technical-details.md for current phase details
    3. The codebase areas we've been working in to see current state
    
    Summarize:
    - What's completed so far
    - What's left in current phase
    - Any code changes that affect our next steps
    
  4. Propose next steps

    • Show user what's pending
    • Propose concrete next actions
    • Get confirmation
  5. Continue implementation

    • Pick up where left off
    • Update state as you go

Focusing on Specific Phase

When user says: "Implement phase 2" or "Start phase-03-integration"

Your Process:

  1. Read overview and state

    • Understand overall feature
    • Check what phases are complete
    • Verify dependencies are met
  2. Launch Plan agent for phase-specific exploration

    Explore phase-0N-name from ~/.ai/plans/feature-name/ in detail.
    Read all documents in that phase directory and explore the relevant codebase areas.
    
    Provide:
    1. Detailed understanding of phase objectives
    2. Current codebase state for affected areas
    3. Specific files to modify with current implementation
    4. Step-by-step implementation approach
    5. Testing strategy
    
  3. Propose phase implementation plan

    • Break phase into chunks
    • Show user the approach
    • Get approval
  4. Execute phase

    • Implement chunk by chunk
    • Update state continuously
    • Mark phase complete when done

Key Behaviors

ALWAYS Use the Plan Agent

DO NOT try to read all plan files and codebase files yourself. This wastes tokens and context.

DO use the Plan agent (Task tool with subagent_type: "Plan") to:

  • Explore the plan structure comprehensively
  • Understand the codebase deeply
  • Find existing patterns and implementations
  • Identify dependencies and integration points

The Plan agent is designed for thorough exploration and will provide you with a focused summary to work from.

State Updates

Update implementation_state.md after:

  • Completing a major chunk of work
  • Before and after each phase
  • When encountering blockers
  • When making implementation decisions that deviate from plan
  • When discovering important gotchas

Format for updates:

### Completed Tasks
- ✅ [Timestamp] [Task description] - [Brief implementation note]

### Current Notes
- [Observation or context that's relevant]

Integration with TodoWrite

Use TodoWrite during active implementation for:

  • Real-time task tracking within a session
  • Breaking down chunks into immediate steps
  • Maintaining focus during implementation

Use implementation_state.md for:

  • Persistent progress tracking across sessions
  • High-level phase completion status
  • Historical record of implementation
  • Documentation of decisions and gotchas

Think of it as:

  • TodoWrite = short-term memory (this session)
  • implementation_state.md = long-term memory (all sessions)

Handling Blockers

When you encounter a blocker:

  1. Document in state file

    ### Blocked Tasks
    - ⛔ [Task name] - [Why blocked]
    
  2. Explain to user

    • What's blocked
    • Why it's blocked
    • What's needed to unblock
    • Suggest alternatives if possible
  3. Don't proceed until blocker is resolved

    • Mark task as blocked
    • Move to other tasks if available
    • Or wait for user to resolve blocker

Deviating from Plan

Plans are guides, not contracts. When you need to deviate:

  1. Explain the deviation

    • What the plan said
    • What you're doing instead
    • Why the change is needed
  2. Document in state

    ### Deviations from Plan
    - **Planned**: [What plan said]
    - **Actual**: [What was done]
    - **Reason**: [Why we deviated]
    
  3. Update plan files if deviation is significant

    • Add notes to relevant plan documents
    • Help future implementers understand

Command Patterns

Starting Fresh

User: "Implement the user-authentication plan"
You:
1. Read ~/.ai/plans/user-authentication/overview.md
2. Check for implementation_state.md (doesn't exist)
3. Launch Plan agent to explore plan + codebase
4. Propose implementation approach for Phase 1
5. Create implementation_state.md
6. Start implementing with state tracking

Resuming Work

User: "Continue the user-authentication implementation"
You:
1. Read implementation_state.md first
2. Launch Plan agent to get current context
3. Propose next steps based on state
4. Continue implementing and updating state

Jumping to Phase

User: "Implement phase 3 of user-authentication"
You:
1. Read overview.md and implementation_state.md
2. Verify phases 1-2 are complete (or ask user)
3. Launch Plan agent for phase 3 exploration
4. Propose phase 3 implementation approach
5. Execute and track in state file

Success Criteria

A good implementation should:

  • ✅ Always use Plan agent before proposing implementation
  • ✅ Maintain accurate implementation_state.md
  • ✅ Complete phases in order (unless explicitly told otherwise)
  • ✅ Document deviations and gotchas
  • ✅ Run tests and validation after each chunk
  • ✅ Update state file continuously, not just at end
  • ✅ Follow existing codebase patterns discovered by Plan agent
  • ✅ Ask for clarification when plan is ambiguous
  • ✅ Mark blockers and explain them clearly

Anti-Patterns to Avoid

Don't: Read all plan files manually instead of using Plan agent ✅ Do: Use Plan agent for comprehensive exploration

Don't: Start implementing without proposing approach first ✅ Do: Propose concrete steps and get user approval

Don't: Forget to update implementation_state.md ✅ Do: Update state after each major chunk

Don't: Skip phases or dependencies ✅ Do: Implement in order unless explicitly told otherwise

Don't: Ignore existing codebase patterns ✅ Do: Use Plan agent to discover and follow patterns

Don't: Batch all state updates at the end ✅ Do: Update state continuously as you progress

Don't: Hide blockers or challenges ✅ Do: Document blockers clearly and explain impact

Example State Update

After completing a chunk:

## Phase 2: Core Features

**Status**: in_progress
**Started**: 2024-01-15

### Completed Tasks
- ✅ 2024-01-15 14:30: Created UserAuthService class - Implemented core authentication logic following existing ServiceBase pattern
- ✅ 2024-01-15 15:15: Added JWT token generation - Using existing jwt-utils library, added refresh token support
- ✅ 2024-01-15 16:00: Implemented login endpoint - Added to /api/auth/login with validation middleware

### In Progress
- 🔄 Writing integration tests for UserAuthService - Setting up test database, 3 of 8 test cases complete

### Pending Tasks
- ⏳ Add logout functionality
- ⏳ Implement password reset flow
- ⏳ Add rate limiting to auth endpoints

### Current Notes
- Discovered that existing jwt-utils already supports refresh tokens, simplified implementation
- Need to discuss rate limiting strategy with user before implementing (multiple approaches possible)

Integration Points

With feature-planning skill

  • Read plans created by feature-planning
  • Update plan files if significant deviations occur
  • Reference plan structure and templates

With TodoWrite

  • Use TodoWrite for in-session task management
  • implementation_state.md for cross-session persistence
  • TodoWrite tasks should align with state file chunks

With Plan agent

  • Always use for exploration before implementation
  • Use for understanding codebase patterns
  • Use for identifying existing implementations to reuse

When to Use This Skill

Invoke this skill when:

  • User wants to implement a feature that has a plan in ~/.ai/plans/
  • User wants to resume work on an existing feature implementation
  • User wants to implement a specific phase of a planned feature
  • Complex feature needs systematic implementation with state tracking

Do NOT use this skill for:

  • Simple features without existing plans (just implement directly)
  • Quick fixes or small changes
  • Features that don't need state tracking across sessions

Output Format

When using this skill, you should:

  1. Acknowledge the task

    • Confirm which feature/phase you're implementing
    • Show that you found the plan
  2. Launch Plan agent

    • Use Task tool to explore plan and codebase
    • Wait for comprehensive summary
  3. Propose implementation approach

    • Show concrete steps based on Plan agent findings
    • Identify files to modify
    • Outline testing strategy
    • Get user approval
  4. Create/update state file

    • Initialize or update implementation_state.md
    • Mark current phase and tasks
  5. Implement systematically

    • Work through proposed steps
    • Use TodoWrite for in-session tracking
    • Update state file after each major chunk
    • Show progress to user
  6. Summarize completion

    • Show what was accomplished
    • Update state file with final status
    • Suggest next steps

Example Flow

User: "Implement the calendar-sync feature"

You: I found the plan at ~/.ai/plans/calendar-sync/. Let me explore it and the codebase to propose an implementation approach.

[Launch Plan agent with Task tool]

Plan Agent: [Returns comprehensive summary of plan and codebase]

You: Based on my exploration, here's the implementation approach for Phase 1:

**Phase 1: Foundation - Database Schema & Models**

Chunks:
1. Create database migration for calendar_events table
   - Files: prisma/schema.prisma, prisma/migrations/
   - Following existing migration patterns in codebase

2. Generate Prisma client and create repository layer
   - Files: lib/repositories/calendar-event-repository.ts
   - Following repository pattern from user-repository.ts

3. Add basic CRUD operations
   - Files: lib/services/calendar-service.ts
   - Following service pattern from existing services

4. Write tests
   - Files: test/integration/calendar-service.test.ts
   - Following test patterns from user-service.test.ts

Does this approach look good?

User: Yes, go ahead

You: [Creates implementation_state.md with phases and tasks]
[Uses TodoWrite to track immediate tasks]
[Implements chunk 1, updates state file]
[Implements chunk 2, updates state file]
[Implements chunk 3, updates state file]
[Implements chunk 4, updates state file]
[Marks phase 1 as complete in state file]

Phase 1 complete! Updated implementation_state.md with progress.

**Completed:**
- ✅ Database schema for calendar_events
- ✅ Prisma repository layer
- ✅ Calendar service with CRUD operations
- ✅ Integration tests (12 test cases, all passing)

**Next:** Ready to start Phase 2 (API Endpoints) when you are.

Tips for Effective Implementation

1. Progressive Context Loading

Don't load all plan files at once. Let the Plan agent handle exploration and give you focused summaries.

2. Chunk Size Matters

Break phases into chunks that take 30-60 minutes to implement. This allows for:

  • Regular state updates
  • Clear progress visibility
  • Easy resumption if interrupted
  • Natural testing points

3. Test as You Go

Don't save all testing for the end:

  • Write tests after each chunk
  • Run tests before marking chunk complete
  • Update state file with test results

4. State File Hygiene

Keep implementation_state.md clean and useful:

  • Use clear, descriptive task names
  • Add timestamps for completed tasks
  • Document context in notes, not task names
  • Remove or mark obsolete tasks

5. Communication Cadence

Update the user:

  • After completing each chunk
  • When encountering blockers
  • Before making significant decisions
  • When discovering important gotchas

Troubleshooting

"I can't find the plan"

  • Check ~/.ai/plans/ directory
  • Ask user for feature name or path
  • Suggest using feature-planning skill to create plan first

"The plan seems outdated"

  • Document differences in implementation_state.md
  • Suggest updating plan files
  • Discuss with user if major changes needed

"I'm blocked on a dependency"

  • Mark task as blocked in state file
  • Explain what's needed to unblock
  • Suggest working on other tasks if available
  • Ask user how to proceed

"The codebase doesn't match the plan"

  • Use Plan agent to understand current codebase state
  • Document deviations in implementation_state.md
  • Propose adjusted approach
  • Update plan files if appropriate

Advanced Usage

Parallel Phase Implementation

If phases are truly independent (rare):

  1. Discuss with user first
  2. Create separate state sections for each
  3. Mark clearly which phase is primary focus
  4. Update state for each independently

Rollback Scenarios

If implementation needs to be rolled back:

  1. Document rollback in state file
  2. Mark affected tasks as "rolled back"
  3. Add notes about why and what was learned
  4. Reset state to before rolled-back work

Cross-Feature Dependencies

If implementing a feature that depends on another:

  1. Check other feature's implementation_state.md
  2. Verify dependencies are complete
  3. Document dependency in current state file
  4. Reference other feature's completed work

Remember

This skill is about systematic execution with persistent tracking. The key differences from regular implementation:

  1. Always use Plan agent - Don't explore manually
  2. Always maintain state - implementation_state.md is your source of truth
  3. Always propose first - Get user buy-in before implementing
  4. Always update continuously - Don't batch state updates

Your goal is to make implementation resumable, trackable, and transparent. Future you (or another agent) should be able to pick up exactly where you left off by reading the state file.

Good luck implementing! 🚀