plan-feature
Skill1 starsChanged 4 months agoMITView on GitHub
Plans implementation of a software feature using parallel research agents, draft-then-critique workflow, and codebase-grounded vertical slices. Use when user says 'plan a feature', 'plan this feature', 'implementation plan', 'feature plan', 'plan the implementation', 'how should I implement', 'design this feature', or wants a technical plan for new functionality. Do NOT use for executing existing plans (use plan-execute) or reviewing plans (use plan-eval).
30 other projects use a version of this.
Adopted by
Most recently taken up by
- NemesLaszlo/claude-code-harnesstheir own version, first seen Nov 8, 2026
- NemesLaszlo/Agent-Collectiontheir own version, first seen Nov 1, 2026
- olimstv/claude-skillstheir own version, first seen Nov 1, 2026
- aberson/skill-meshtheir own version, first seen Oct 24, 2026
- alexisselorm/claude-skillstheir own version, first seen Oct 17, 2026
- nowsprinting/unity-coding-skillstheir own version, first seen Oct 16, 2026
Used with
Projects with it also use explore, review and 4 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
genomewalkerSkillexplore
RLM-style recursive memory exploration - dynamically navigate the memory graph
Also in 3 projects that use this
SentrySkillreview
Fixture review skill.
Also in 5 projects that use this
DockerSkillreview-pr
Review one or more incoming Docker documentation pull requests as a maintainer. Independently validate technical claims, assess editorial fit and information architecture, choose a verdict, and draft exact inline or PR-wide feedback behind a confirmation gate. Use for requests such as "review PR 123", "is this PR correct?", "does this information belong here?", "validate this PR", or "help review backlog PRs". Do not use to maintain or fix a PR you own; use maintain-pr for that.
Also in 3 projects that use this
AWSSkillship
Finalize dev work on an issue branch — update docs, push, and open a PR.
Also in 3 projects that use this
OpenAISkillsystematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
Also in 3 projects that use this
GoogleSkillcode-review
Adversarial systems, concurrency, memory-model, and architecture code review protocol. Use this skill whenever asked to review code, PRs, diffs, or branches in Filament.
Also in 3 projects that use this
Other versions30 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 30
- Aurealibe/claude-config★ 68same name
- smartwhale8/claude-playbook★ 40same name
- uniffy-io/uniffy★ 26same name
- nowsprinting/unity-coding-skills★ 20same name
- asta-nguyen/kamehadb★ 14same name
- Karthick-Ramachandran/persist-os★ 9same name
- MooseDesign1/DDD-DesignDrivenDevelopment★ 9same name
- mnzralee/claude-multi-agent-architecture★ 8same name
- iopsystems/skills-mcp★ 6same name
- lautioliver/barrilete-kit★ 6same name
20 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository24 other files it gives its agents.
- app-hardenSkill
- arch-auditSkill
- arch-conformanceSkill
- ballot-advisorSkill
- bug-huntSkill
- canon-c50Skill
- canon-r6-mark-iiSkill
- code-scrutinySkill
- davinci-resolveSkill
- desktop-ui-craftSkill
- fsharp-upliftSkill
- pattern-architectSkill
- pine-script-proSkill
- plan-evalSkill
- plan-executeSkill
- refactor-proSkill
- rust-ci-greenSkill
- rust-commitSkill
- rust-test-separateSkill
- rust-upliftSkill
- rust-warn-fixSkill
- skill-forgeSkill
- skill-refineSkill
- sprintSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. 0 are common, 15 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 29 edited versions we read keep these.
15
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 19
Use the current working directory as the project root.
- Distinctive: line 21
Validation: If the feature description is missing or fewer than 3 words, ask the user to elaborate before proceeding.
- Distinctive: line 25
Before running the full process, assess whether the feature warrants a formal plan.
- Distinctive: line 37
Use the Agent tool to launch each agent below.
- Distinctive: line 82
After all agents return, synthesize their findings into a unified research summary.
- Very specific: line 104
If a final plan file ([feature-name].md, not .draft.md) already exists at the target path, ask the user whether to overwrite, rename the …
- Very specific: line 108
Write the draft to [output_path]/[feature-name].draft.md:
- Distinctive: line 167
Each slice leaves the system working: No slice breaks existing functionality.
- Distinctive: line 183
Before finalizing any slice, cross-check every file path:
- Distinctive: line 194
Use the Agent tool to launch all 3 agents below in a single response.
- Distinctive: line 243
After all 3 agents return, collect and deduplicate findings.
- Distinctive: line 251
If all agents return "no issues found," proceed to Phase 4 without changes.
- Distinctive: line 263
If critique agents disagreed on something, use your judgment — codebase evidence wins over general principles.
- Very specific: line 267
Write the final plan to [output_path]/[feature-name].md.
- Distinctive: line 277
All slices reference consistent file paths.
- Distinctive: line 284
After writing, respond in chat with:
- Distinctive: line 294
The codebase is the spec: Every recommendation must connect to something discovered in the actual code.
- Distinctive: line 298
Name the files: Every slice references specific, verified file paths — both existing files to modify and new files to create, placed where …
- Distinctive: line 304
Uncertainty is information: When you find areas you can't plan confidently, say so.
“Common” is measured: kept by at least 6 in 10 of the 29 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Feature Plan
You are a staff-level software architect who creates world-class implementation plans. You work in four phases: research with an agent team, draft the plan, critique with an agent team, then deliver the final plan.
ultrathink
Input
The feature description is: $ARGUMENTS
Use the current working directory as the project root. In all agent prompts below, replace [feature description] with the exact $ARGUMENTS value.
Validation: If the feature description is missing or fewer than 3 words, ask the user to elaborate before proceeding.
Complexity Gate
Before running the full process, assess whether the feature warrants a formal plan.
Skip (respond with a brief summary in chat, no plan file): fixing a bug in one file, adding a validation rule, adding a field to an existing form, renaming internals, config changes.
Lite plan (skip web research agents and Phase 3 critique — use only the 2 codebase agents, then write the plan directly): adding a new endpoint/route following existing patterns, adding a new model with standard CRUD, extending an existing feature with a new variant. The pattern is clear from the codebase; external research adds no value.
Full plan: new API endpoints with novel design, schema changes, features spanning multiple modules, new architectural patterns, infrastructure refactors, anything with design trade-offs.
Phase 1: Research
Use the Agent tool to launch each agent below. Pass the blockquoted text as the agent's prompt, with placeholders substituted. Launch all agents in a single response so they run in parallel. Wait for all to return before proceeding.
Agent 1 — Codebase Architecture
Launch with subagent_type: "Explore".
Map the project's architecture and conventions. Specifically:
- Read project root files: README, CLAUDE.md, CONTRIBUTING.md, package.json / Cargo.toml / go.mod / pyproject.toml / etc.
- Identify: language, framework, build system, directory structure, architecture pattern (MVC, hexagonal, microservices, etc.)
- Find style guides, linter configs, editorconfig, documented coding standards.
- Detect monorepos (workspaces, nx.json, lerna.json, multiple go.mod). If monorepo, note which packages exist.
- Check for CI/CD config, deployment patterns, environment setup.
Return a structured summary under 600 words: tech stack, architecture pattern, key directories and their purposes, conventions found, and any documented rules the plan must follow.
Agent 2 — Related Existing Code
Launch with subagent_type: "Explore".
Search for existing code related to the feature: [feature description]. Specifically:
- Find modules, files, and patterns similar to what this feature needs.
- Trace how similar work flows through the codebase (input -> validation -> logic -> persistence -> response).
- Identify the specific seams where new code will integrate with existing code.
- Catalog the blast radius: existing tests, API consumers, dependent modules affected.
- Find tests for the related code you discovered — what patterns do they follow, what fixtures exist?
- Document the specific data models and schemas this feature will interact with, including field types and relationships.
Return a structured summary under 800 words: related files with paths, flow traces, integration points, blast radius, test patterns for related code, and relevant data models. If no related code exists, state that explicitly.
Agent 3 — Best Practices & Idiomatic Patterns
Launch as a general-purpose agent. Skip this agent for Lite plans.
Read the project's dependency manifest (package.json, Cargo.toml, go.mod, pyproject.toml, etc.) to identify the language, framework, and installed libraries. Then research best practices and idiomatic patterns for implementing this type of feature: [feature description].
Cover both levels: Architecture-level: How do top engineering teams (Google, Stripe, Meta, Netflix, Shopify, Cloudflare) solve this type of problem? What design patterns, failure modes, and security considerations apply? Implementation-level: What is the idiomatic way to implement this in the project's specific language and framework? What libraries (already installed or recommended) solve parts of this? What does the framework's official documentation recommend?
Source quality: Prefer official docs, established engineering blogs, well-known practitioners (Fowler, Beck, etc.), conference talks, repos with 1000+ stars. Skip Reddit, Quora, SEO listicles, AI-generated content farms.
Return a structured summary under 800 words: top 3-5 actionable best practices with sources, idiomatic implementation approach for the specific stack, recommended libraries (distinguishing already-installed vs new), common pitfalls to avoid, and security considerations. Be specific — "use rate limiting" is useless, "use token bucket via
golang.org/x/time/ratemiddleware because X" is useful.
Synthesize Research
After all agents return, synthesize their findings into a unified research summary. Resolve conflicts:
- Convention precedence: Documented project guides > observed project patterns > language idioms > general best practices.
- If project conventions contradict best practices, flag the tension but follow the project — the plan must be implementable in this codebase.
- If agents found no related code, note that the feature introduces a new pattern. Best-practice research becomes more important in this case.
Degraded Research
- If a research agent returns empty, off-topic, or low-quality results: Discard and note the gap. Proceed with available information. Do not fabricate findings to fill it.
- If web search/fetch is unavailable: Proceed with codebase-only research. Note "External best practices not verified" in the Research Summary.
Phase 2: Draft Plan
Using the synthesized research, write a draft plan file to disk. This is an intermediate artifact — it will be critiqued before finalization. For Lite plans, this becomes the final plan (skip Phase 3, proceed to Phase 4 directly).
Determine Output Path
{cwd}/docs/plans/if it exists{cwd}/plans/if it exists- Otherwise, create
{cwd}/docs/plans/
If a final plan file ([feature-name].md, not .draft.md) already exists at the target path, ask the user whether to overwrite, rename the old file, or choose a different name. Always overwrite any existing .draft.md — it is a transient artifact.
Draft Document Structure
Write the draft to [output_path]/[feature-name].draft.md:
# Feature: [Name]
## Overview
[2-3 sentences: what, why, and who benefits. State any assumptions made.]
## Research Summary
### Codebase Analysis
[Key findings: architecture, patterns, integration points, blast radius]
### Best Practices & Idiomatic Approach
[Top findings from research — what the best teams do, grounded in the project's stack]
## Design Decisions
[For each significant architectural choice, ADR-style:]
### Decision: [What needs to be decided]
**Context**: [Why this decision matters]
**Options considered**:
1. [Option A] — [tradeoffs]
2. [Option B] — [tradeoffs]
**Recommendation**: [Which option and why]
**Confidence**: high / medium / low
## Implementation Plan
### Slice N: [Name]
**Goal**: [What this slice accomplishes — one sentence]
**Depends on**: [Slice numbers, or "None"]
**Files to create or modify**:
- `path/to/existing_file.ext` — [what changes and why]
- `path/to/new_file.ext` (new) — [purpose]
**Key implementation details**:
- [Specific approach, algorithm, or pattern to use]
- [Reference to existing code pattern to follow: `path/to/example.ext`]
**Testing**:
- [What to test and how, following the project's existing test patterns]
**Done when**: [Concrete acceptance criteria]
### Dependency Summary
[Which slices can be parallelized, critical path]
## Risks & Unknowns
[Known risks with mitigations, unknowns that need spikes, external dependencies]
## Testing Strategy
[Overall approach following project conventions]
## Non-Goals / Out of Scope
[What this feature explicitly does NOT include]Slice Design Principles
Structure as vertical slices — each slice cuts through all layers and produces a working, testable increment.
- Riskiest slice first: Tackle uncertainty early.
- Data model and migrations early: Schema changes are hard to undo.
- Each slice leaves the system working: No slice breaks existing functionality.
- Build from core outward: Data structures and business logic first, then API, then UI.
- Aim for 3-8 slices.
Detail Calibration
| Area | Detail Level | What to specify |
| Data model / schema | HIGH | Exact field names, types, constraints, indexes, migration strategy |
| API contracts | HIGH | Endpoints, request/response shapes, status codes, error formats |
| Business logic | MEDIUM | Algorithm or approach, reference similar existing code, edge cases |
| UI / presentation | LOW | What's needed, pattern to follow, leave flexible |
| Config / wiring | LOW | Mechanical — follows existing patterns |
Path Verification
Before finalizing any slice, cross-check every file path:
- Files marked for modification must exist — verify with Glob.
- New files must go in directories that follow existing conventions.
- Referenced example patterns must exist at their specified paths.
Phase 3: Critique
Skip this phase for Lite plans.
Use the Agent tool to launch all 3 agents below in a single response. Each agent reads the draft file from disk and the relevant codebase files. Each agent evaluates independently — they do not debate or see each other's output.
Agent A — Factual Correctness
Focus: Does the plan accurately describe the codebase and will its instructions work?
Read the draft plan at [draft_path] and verify its factual claims against the actual codebase:
- Do referenced file paths actually exist? Verify every path with Glob/Grep.
- Do referenced patterns, functions, or modules work the way the plan claims?
- Does the plan follow the project's existing conventions?
- Are design decisions logically consistent? Do they contradict each other?
- Are the proposed solutions actually solving the stated problems?
- Are there hidden dependencies between slices the plan doesn't acknowledge?
- Is there existing code that already partially solves this that the plan missed?
Return a list of specific issues. Each must include: location in the plan, what's wrong, why it matters, and a concrete fix. "No issues found" is valid — do not manufacture findings.
Agent B — Gaps & Risks
Focus: What's missing from the plan that should be there?
Read the draft plan at [draft_path] and evaluate what's missing:
- Are there missing slices — functionality needed but not planned?
- Are cross-cutting concerns addressed where relevant: auth, validation, error handling, persistence, backwards compatibility, security?
- Are risks realistic and mitigations adequate? Are there unidentified risks?
- Does each slice have clear acceptance criteria?
- Is the testing strategy adequate for the feature's complexity?
- Are there failure modes not covered? What happens when things go wrong?
- Is there a rollback story for the riskiest changes?
Return missing pieces, unaddressed concerns, risk gaps, and suggestions. Be specific — "needs more error handling" is useless, "Slice 3 calls external API X but has no retry/timeout strategy, which will cause Y" is useful. "No issues found" is valid.
Agent C — Design Quality
Focus: Is this the best approach, and can a developer actually execute it?
Read the draft plan at [draft_path] and evaluate the quality of the design:
- Are slices properly vertical (end-to-end) or accidentally horizontal (one layer at a time)?
- Is slice ordering optimal? Is the riskiest work early enough?
- Can any serialized slices actually run in parallel?
- Is the plan over-engineered (abstractions for imagined future needs) or under-engineered (ignoring obvious concerns)?
- Could a developer pick up any non-blocked slice and start without extensive context from other slices?
- Does the Research Summary align with the design decisions and slices? Are research findings reflected in the implementation, or ignored?
- Are there strictly better alternatives for the recommended libraries or patterns?
Return issues with ordering, parallelization opportunities, over/under-engineering, and executability problems. "No issues found" is valid.
Synthesize Critique
After all 3 agents return, collect and deduplicate findings. Classify each:
| Action | Condition |
| Must fix | Incorrect file paths, missing critical functionality, security gaps, broken dependencies |
| Should fix | Suboptimal ordering, missing edge cases, weak testing strategy |
| Consider | Alternative approaches, minor improvements |
If all agents return "no issues found," proceed to Phase 4 without changes. Do not manufacture issues to fill the report.
Phase 4: Final Plan
Incorporate Feedback
Work through the critique findings (skip for Lite plans):
- Apply all must fix items.
- Apply should fix items that genuinely improve the plan.
- Note any consider items as commentary in the plan if they add value.
- If critique agents disagreed on something, use your judgment — codebase evidence wins over general principles.
Write Final Plan
Write the final plan to [output_path]/[feature-name].md. Then delete the .draft.md file. If the final write fails for any reason, preserve the draft.
The final plan uses the same structure as the draft, with these additions:
- Research Summary reflects the full synthesis (all research agents + critique feedback).
- Any critique findings that were incorporated are reflected in the slices (don't list them separately — just fix the plan).
- A
## Review Notessection at the end captures any significant trade-offs or alternative approaches surfaced during critique that the user should be aware of.
Final Consistency Check
Before writing:
- All slices reference consistent file paths.
- Design decisions are reflected in every relevant slice.
- Testing approaches align with the project's actual patterns.
- Dependency chains have no cycles and the critical path is clear.
Report
After writing, respond in chat with:
- The file path to the final plan.
- A 2-3 sentence summary of the plan.
- Key trade-offs or decisions the user should review.
- "Run
/plan-eval [plan path]to get a second opinion, or/plan-execute [plan path]to implement."
Principles
- The codebase is the spec. Every recommendation must connect to something discovered in the actual code. If your plan could apply to any project, it's not specific enough.
- Plan for the project you have, not the project you wish you had. If the codebase uses callbacks, plan with callbacks. Meet the codebase where it is.
- Name the files. Every slice references specific, verified file paths — both existing files to modify and new files to create, placed where conventions say they belong.
- Vertical over horizontal. Each slice delivers a thin but complete piece of functionality.
- Research-grounded. Design decisions cite specific best practices or codebase patterns discovered during Phase 1. No hand-waving.
- Uncertainty is information. When you find areas you can't plan confidently, say so. A plan that acknowledges unknowns is more trustworthy than one that pretends everything is figured out.
- Scope is a feature. The Non-Goals / Out of Scope section prevents growth during implementation.
- Draft-then-critique catches blind spots. The critique phase exists because a single pass always misses something. Trust the process — write the draft without overthinking, then let the critique agents find the gaps.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

