feature-plan
Scannednpx machina-cli add skill Weaverse/.agents/feature-plan --openclawCreate a comprehensive implementation plan for $ARGUMENTS. This skill helps transform vague requirements into actionable, detailed plans before any code is written.
Planning Process
Phase 1: Understand & Clarify
First, analyze the provided requirements and identify:
- Missing information: What critical details are not specified?
- Ambiguous points: What could be interpreted multiple ways?
- Assumptions: What are you assuming that should be confirmed?
- Dependencies: What existing systems/code does this interact with?
Use AskUserQuestion to clarify ALL unclear points before proceeding. Group related questions together. Examples:
- "Should this feature be accessible to all users or specific roles?"
- "What's the expected data volume/scale?"
- "Are there existing patterns in the codebase to follow?"
- "What's the error handling strategy?"
Do NOT proceed until you have enough clarity to propose solutions.
Phase 2: Explore Codebase
Before suggesting solutions, explore the existing codebase to understand:
- Current architecture and patterns
- Related existing implementations
- Available utilities, hooks, and shared components
- Database schema / API structure (if relevant)
- Testing patterns in use
Phase 3: Suggest Solutions
Present 2-3 distinct approaches with trade-offs:
## Proposed Solutions
### Option A: [Name]
**Approach**: Brief description
**Pros**: List benefits
**Cons**: List drawbacks
**Best for**: When this option is ideal
### Option B: [Name]
**Approach**: Brief description
**Pros**: List benefits
**Cons**: List drawbacks
**Best for**: When this option is ideal
Use AskUserQuestion to let the user pick their preferred approach. Include a recommendation if one option is clearly better for their context.
Phase 4: Gather Resources
Ask the user for any helpful resources:
- Documentation links
- Design files / mockups
- Example implementations to reference
- API specifications
- Related PRs or issues
Phase 5: Create Detailed Plan
After user confirms the approach, create the full plan document.
Output Format
Save the plan to .plans/<index>--<plan-name>--<date>.md
Naming rules:
<index>: 3-digit sequential number (001, 002, etc.) - check existing files in.plans/<plan-name>: kebab-case summary (e.g.,user-authentication-flow,product-gallery-redesign)<date>: FormatMM-DD-YYYY
Document structure:
# [Plan Title]
> **Created**: [Date]
> **Status**: Draft | Ready | In Progress | Completed
---
## Original Prompt
[Paste the exact user input/requirements here]
---
## Summary
[2-3 sentence overview of what this plan covers]
---
## Requirements
### Functional Requirements
- [ ] FR1: Description
- [ ] FR2: Description
### Non-Functional Requirements
- [ ] NFR1: Performance, security, accessibility, etc.
### Out of Scope
- Item 1 (explicitly excluded)
---
## Technical Approach
### Solution Overview
[Describe the chosen approach in 1-2 paragraphs]
### Architecture Diagram (if applicable)
[ASCII diagram or description of component relationships]
---
## Implementation Structure
### Files to Create
| File | Purpose |
|------|---------|
| `path/to/file.ts` | Description |
### Files to Modify
| File | Changes |
|------|---------|
| `path/to/existing.ts` | What changes |
### Folder Structure
```plaintext
src/
├── features/
│ └── [feature-name]/
│ ├── components/
│ ├── hooks/
│ ├── utils/
│ ├── types.ts
│ └── index.ts
Instructions
- Read the requirements carefully from $ARGUMENTS
- Ask clarifying questions - do not skip this step
- Explore the codebase to understand existing patterns
- Present solution options with clear trade-offs
- Let user choose their preferred approach
- Ask for resources they want to reference
- Generate the plan with all sections
- Save to
.plans/folder with proper naming - Keep it under 500 lines - be concise, use tables, avoid verbose explanations
Important Notes
- Always save the original prompt at the top of the document
- Check
.plans/folder for existing files to determine the next index - Create the
.plans/folder if it doesn't exist - Focus on actionable items, not theoretical discussions
- Include code structure and type definitions
- Be specific about file paths relative to project root
- The plan should be self-contained - anyone should understand it without extra context
Source
git clone https://github.com/Weaverse/.agents/blob/main/skills/feature-plan/SKILL.mdView on GitHub Overview
This skill converts vague feature requests into actionable, detailed plans before coding. It guides you through clarifying questions, explores the existing codebase, proposes 2–3 architectural approaches with trade-offs, gathers resources, and outputs a ready-to-use Markdown plan saved under the .plans directory.
How This Skill Works
It begins by clarifying all unclear aspects using AskUserQuestion, then analyzes the current codebase to understand architecture and patterns. It presents 2–3 solution options with pros and cons, collects any needed resources, and once you choose an approach, generates a complete plan document and saves it to .plans/<index>--<plan-name>--<date>.md.
When to Use It
- When requirements are vague and you need an actionable feature plan before coding
- Before implementing a feature to align architecture with existing patterns
- When evaluating multiple architectural approaches and trade-offs
- To create a shareable plan for stakeholders and teammates
- When enforcing a standardized planning process for feature work
Quick Start
- Step 1: Provide the feature description or requirements to the skill
- Step 2: Answer clarifying questions and review 2–3 proposed approaches
- Step 3: Approve an approach and receive a finalized plan saved in .plans
Best Practices
- Ask clarifying questions early and group related items to avoid scope creep
- Explore the codebase first to understand current architecture, patterns, and dependencies
- Present 2–3 distinct approaches with clear trade-offs and a recommended option
- Define both functional and non-functional requirements (performance, security, accessibility)
- Produce a well-structured plan document named according to the project’s conventions and save under .plans
Example Use Cases
- Plan a new user onboarding flow in a React app, including milestones, components, and API contracts
- Outline a rate-limiter feature for a microservices system with rollback and observability requirements
- Draft an event-driven webhook processor with schema validation and retry policies
- Create a data export/import feature including schema mapping, streaming, and error handling
- Design a multi-tenant database migration strategy with rollback and compatibility checks