Prerequisites

  • Claude Code installed and working (installation guide)
  • A project directory where you want to use the skill

Installation

Step 1: Create the skill directory

In your project root, create the skill folder structure:

mkdir -p .claude/skills/plan-feature

Step 2: Create the SKILL.md file

Create .claude/skills/plan-feature/SKILL.md with the following content:

# Plan Feature Skill

## Description
Initiates plan-driven development workflow for new features or complex changes.
Conducts interviews to clarify requirements, then creates a plan file in `docs/plans/`.
Does NOT write implementation code.

## Steps

1.  **Interview Phase**
    * Ask the user: "What feature would you like to implement?"
    * If requirements are unclear, ask clarifying questions until you have enough information.
    * *Important:* Do NOT proceed to planning until the user says "Go".

2.  **Research Phase**
    * If needed, explore the codebase (using `grep`, `ls`, etc.) to understand existing patterns and impact areas.

3.  **Plan Phase**
    * Based on the interview and research, create a new file: `docs/plans/YYYYMMDD_feature_name.md`
    * Example: `docs/plans/20260121_user_authentication.md`
    * **Format:**
        ```markdown
        # Feature: {Title}

        ## Context & Objective
        * Why this change is needed
        * What the user gains

        ## Requirements
        * [ ] Requirement 1
        * [ ] Requirement 2

        ## Architecture & Changes
        * **FileA:** Add this method
        * **FileB:** Modify this logic
        * **Database:** Migration needed?

        ## Step-by-Step Plan
        1.  ...
        2.  ...
        ```

4.  **Completion**
    * Present the plan file to the user.
    * Ask: "Does this plan look good? Ready to proceed to implementation?"

## Rules
* This skill **NEVER writes implementation code**.
* Plans must be specific enough that an implementer won't need to guess.
* Reference similar past plans in `docs/plans/` if they exist.

Step 3: Create the plans directory

Make sure you have a place for plan files:

mkdir -p docs/plans

That's it! The skill is now ready to use.

How to Use

In Claude Code, invoke the skill with the slash command:

/plan-feature

Claude will start the interview phase and guide you through the workflow.

Example Session

You: /plan-feature

Claude: What feature would you like to implement?

You: I want to add user authentication to the app.

Claude: A few questions to clarify:
1. What authentication method? (email/password, OAuth, magic links?)
2. Do you need role-based access control?
3. Should sessions persist across browser restarts?

You: Email/password, no roles needed, yes persist sessions.

Claude: Got it. Any other requirements?

You: Go

Claude: [Researches codebase, then creates docs/plans/20260121_user_authentication.md]

Here's the plan I created. Does this look good?

Customization

The SKILL.md file is just a prompt. You can modify it to fit your workflow.

Change the plan format

Edit the "Format" section in SKILL.md to match your team's documentation style.

Add custom phases

Want a "Security Review" phase? Add it to the Steps section:

2.5 **Security Review Phase**
    * Identify potential security implications
    * List required validations and sanitizations
    * Note any authentication/authorization requirements

Change the output location

If you want plans in a different directory, update the path in Step 3 of SKILL.md:

* Create a new file: `planning/features/YYYYMMDD_feature_name.md`

Example Plan File

Here's what a real plan file looks like:

# Feature: User Authentication

## Context & Objective
* The app currently has no authentication
* Users need accounts to save their data
* This enables future features like sharing and collaboration

## Requirements
* [ ] Email/password registration
* [ ] Email/password login
* [ ] Session persistence across browser restarts
* [ ] Password reset via email
* [ ] Secure password storage (bcrypt)

## Architecture & Changes
* **Database:** Add `users` table with email, password_hash, created_at
* **API:** Add `/auth/register`, `/auth/login`, `/auth/logout`, `/auth/reset-password` endpoints
* **Frontend:** Add login/register forms, auth state management
* **Middleware:** Add session validation middleware

## Step-by-Step Plan
1. Create database migration for users table
2. Implement user model with password hashing
3. Create auth API endpoints
4. Add session middleware
5. Build frontend auth forms
6. Add protected route wrapper
7. Implement password reset flow
8. Write tests for auth flows

Use Cases

  • New features: Plan the implementation before writing any code
  • Refactoring: Document what you're changing and why
  • Bug investigation: Create a plan for how to investigate and fix
  • Team handoffs: Create plans that others can implement

Questions?

Check out the main documentation or open an issue on GitHub.