plan-a-feature

Builds behavioral feature specifications through evidence-based interviews and specialist review rounds.

Updated Sep 1, 2026
One-click install
npx skills add https://github.com/amirbiron/Han --skill plan-a-feature-amirbiron
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: plan-a-feature
Source: https://github.com/amirbiron/Han/tree/main/han-planning/skills/plan-a-feature
Command: npx skills add https://github.com/amirbiron/Han --skill plan-a-feature-amirbiron

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Writing a feature specification from scratch requires resolving dozens of interdependent design decisions, and skipping that rigor produces specs full of unstated assumptions, scope creep, and implementation detail that misleads reviewers. This Skill runs a structured interview that walks the design tree decision-by-decision, resolves what it can from codebase evidence, and produces a behavioral spec a non-technical stakeholder can approve. ## Core Features & Use Cases - Evidence-first interview loop: Explores the codebase, ADRs, coding standards, and existing specs before asking the user anything, surfacing only questions that genuinely require human judgment, each with a recommended answer and rationale. - Behavioral spec with cross-referenced artifacts: Produces feature-specification.md plus a decision log, team findings log, scope boundary record, and lazily-created technical notes, all cross-linked via D#/F#/T# identifiers. - Specialist review team: Dispatches a size-capped team of domain agents (UX, security, edge cases, test, DevOps) to review the draft, then merges, verifies, and resolves findings before escalating anything to the user. - Use Case: A solo engineer needs to spec a bulk-export feature before writing code. The Skill interviews them on flows and edge cases, applies YAGNI and scope gates to cut unjustified work, runs a review team, and delivers an approval-ready specification. ## Quick Start Ask the assistant to plan a new feature, for example: plan a medium-sized feature for user invitation emails with a 72-hour expiration.

Frequently Asked Questions about plan-a-feature

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a feature specification before implementation?▼

Run the plan-a-feature skill with a one-to-two sentence feature description. It interviews you decision-by-decision in dependency order, resolves what it can from codebase evidence, and writes a behavioral feature-specification.md plus a decision log and findings log.

What artifacts does a feature planning workflow produce?▼

It produces feature-specification.md at the plan folder root, plus artifacts/decision-log.md, artifacts/team-findings.md, and artifacts/scope-boundary.md. A feature-technical-notes.md file is created only when a load-bearing mechanic qualifies, and a ui-designs folder holds any supplied visual material.

When should I use plan-a-feature versus plan-implementation?▼

Use plan-a-feature to specify what a feature does, for whom, and why before any implementation planning. Use plan-implementation afterward to design how it gets built; implementation mechanics, library choices, and file-level detail are deliberately excluded from the feature spec.

Does the feature spec include technical implementation details?▼

No. The spec excludes language primitives, file paths, function names, and library mechanics, generalizing brand names one level up. Load-bearing mechanics that change observable behavior are captured separately in a lazily-created feature-technical-notes.md linked via T# references.

How does the skill handle scope creep and unjustified requirements?▼

It applies a YAGNI evidence test to every commitment, demoting unsupported items to a Deferred section with reopening triggers. A scope gate checks commitments against the recorded work-item boundary and cuts anything the boundary excludes into a visible Cut for Scope section.

Can I control how many review agents evaluate the spec?▼

Yes. Pass a size argument of small, medium, large, or dynamic. Small caps the team at two agents, medium at three to four, and large at four to five; a config default-swarm-size value or an explicit user override also wins over signal-based classification.