feature-planning-standards
Skill1 starsChanged 8 days agoMITView on GitHub
Standards for writing a Feature List & Development Plan — naming and sizing features, structuring a feature-list table, building the development plan around it, prioritizing with MoSCoW/RICE/Kano/Value-vs-Effort, and keeping a Roadmap distinct from a Release Plan. Use when creating or reviewing a feature list, a product roadmap, a release plan, or when deciding what ships in what order. Trigger on: "feature list", "write a roadmap", "release plan", "prioritize these features", "MoSCoW", "RICE score", "Kano model", "value vs effort", "feature backlog", "development plan", "what order should we build these", "is this ready to prioritize".
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 5 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 15
Use this skill when a set of features needs to be named, sized, recorded, prioritized, and sequenced into a plan — the stage between a …
- Distinctive: line 29
Every feature carries a stable ID that threads through both halves — that's what makes this one coherent artifact instead of two …
- Distinctive: line 68
Acceptance criteria: must be specific and measurable ("page loads within 2 seconds"), not vague ("loads quickly"), and must not just …
- Distinctive: line 139
Every feature needs a success metric before it's considered ready to prioritize — "shipped" is not the same as "valuable."
- Distinctive: line 141
Keep the roadmap thematic.
- Distinctive: line 163
Check that "Must-have" doesn't exceed roughly 60% of total effort.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Feature Planning Standards
Use this skill when a set of features needs to be named, sized, recorded, prioritized, and
sequenced into a plan — the stage between a PRD's prioritized feature list and the Epics/Stories
that development-planning-standards breaks each feature into. A feature list with no development
plan is just a wishlist; a development plan with no feature list has no "why" underneath its
"when."
Core Boundaries
- Feature: a small, client-valued function a user or stakeholder would recognize as meaningful and useful on its own — an outcome, not an implementation step.
- Feature List: a structured catalogue of features with priority, effort, dependencies, and ownership. Answers "what are we building, and why does it matter?"
- Development Plan: the schedule, methodology, and resourcing that turns the list into delivered work. Answers "when, how, and by whom?"
- Every feature carries a stable ID that threads through both halves — that's what makes this one coherent artifact instead of two disconnected lists.
- This skill sits above
development-planning-standards: a Feature here typically becomes one or more Epics/Stories there once it's ready to build. Don't duplicate Epic/Story/Task structure or Definition of Ready/Done — see that skill for development-level breakdown.
Feature Naming and Granularity
- Naming template:
<action> the <result> for/of/to a(n) <object>— e.g. "Calculate the total of a sale," "Validate the password of a user." This forces features to be written as outcomes, not implementation steps ("Calculate the total of a sale," not "Add asum()function to the cart module"). - Granularity rule: a feature should take no more than ~2 weeks; most good features are 1-3 days. Split anything bigger — oversized features are the single most common reason estimates and timelines fall apart downstream.
- Hierarchy: group features in three tiers — Subject Area (e.g. "Account Management") → Feature Set (e.g. "Authenticating a user") → Feature (e.g. "Validate the password of a user"). This is what lets a list scale from 10 items to 500 without becoming unreadable, and it maps onto a "theme → epic → feature" structure in modern PM tooling.
Feature List Table
Each feature gets a consistent set of fields:
| Field | What it captures |
| ID / Name | Stable identifier + outcome-oriented name |
| Description | What it does and the benefit it delivers |
| User story | "As a [persona], I want [goal], so that [benefit]" |
| Acceptance criteria | Testable Given/When/Then conditions for "done" |
| Priority | MoSCoW category or a numeric score (see Prioritization below) |
| Effort estimate | Story points, T-shirt size, or person-days |
| Dependencies | Other features/systems this relies on |
| Owner | Who is accountable |
| Status | Not started / In design / In build / Done |
| Target release | Which phase/sprint/version it ships in |
| Success metric | The measurable outcome that proves it worked |
Acceptance criteria and success metric are the two fields teams most often write badly:
- Acceptance criteria must be specific and measurable ("page loads within 2 seconds"), not vague ("loads quickly"), and must not just restate the user story in different words.
- Success metric guards against shipping features nobody uses — feature-adoption data across many products has repeatedly found the large majority of shipped features are rarely or never used. A feature with no success metric is a feature nobody will notice if it fails.
Development Plan Structure
- Scope & objectives, tied to real business goals
- Methodology (Agile/Scrum, Kanban, Waterfall, or a hybrid) and why
- Team & roles, including QA and any external groups
- Work breakdown — features decomposed into phases → sprints → tasks
- Timeline & milestones — realistic, phase-by-phase; reserve milestones for genuinely major events (a release, a demo), not every task
- Resourcing — people, budget, tooling
- Technical approach — architecture, integration points, non-functional requirements (bring in from the start, not as a late afterthought)
- Risks & mitigations
- Dependencies
- QA / testing & release strategy
Roadmap vs. Release Plan
These get conflated constantly — keeping them separate is one of the most valuable disciplines here:
- Roadmap — strategic and loose: themes, goals, rough timeframes ("Q2"). Readable by an executive in 30 seconds.
- Release Plan — tactical and specific: named features in named sprints with expected ship dates. This — or the feature list itself — is where granular detail lives.
Rule of thumb: keep feature-level detail out of the roadmap.
Prioritization
Four frameworks cover almost every situation:
| Framework | What it does | Best when |
| MoSCoW (Must/Should/Could/Won't) | Buckets features into four priority tiers | Managing stakeholder expectations, defining release scope quickly |
| RICE (Reach × Impact × Confidence ÷ Effort) | One comparable numeric score per feature | You have or can estimate usage data and a shared goal metric |
| Kano Model | Classifies as Basic / Performance / Delighter by user satisfaction | You can survey users and want to balance "must exist" against "wow factor" |
| Value vs. Effort (2×2) | Plots value against effort to spot quick wins | You need a fast first pass with minimal data |
MoSCoW only works if the buckets are honest. Cap "Must-have" at roughly 60% of total effort — if 80-90% of the list is "Must-have," nothing has actually been prioritized. Frameworks layer: score everything with RICE, then sanity-check the top items against a Value/Effort plot.
Traceability
- Shared front matter — one set of goals, personas, and success metrics governs both the feature list and the development plan, so nothing in the plan contradicts the list's "why."
- Stable IDs — every feature keeps the same ID from the list, through the plan, into whatever
ticketing system executes the work (Epics/Stories in
development-planning-standards). - Two-way linkage — a feature's status is visible from both directions: the plan shows which features are in this sprint; the feature list shows which sprint/release each feature belongs to.
- For audit-grade rigor (regulated or high-stakes work), add a Requirements Traceability Matrix —
this is a different RTM than
testing/software-test-specification's requirement↔test-case matrix; don't conflate the two. This skill's RTM maps requirement → feature → status; the testing skill's maps requirement → test case → execution result. Cross-reference both when a feature needs full requirement-to-test traceability.
Without shared IDs and two-way linkage, teams end up maintaining "truth" in two places that quietly drift apart — a roadmap that looks fine while the sprint board tells a different story.
Writing Rules
- Name every feature as an outcome (
<action> the <result> for a(n) <object>), never an implementation step. - Enforce the ~2-week / 1-3-day granularity rule at write time, not after estimation reveals the problem.
- Every feature needs a success metric before it's considered ready to prioritize — "shipped" is not the same as "valuable."
- Keep the roadmap thematic; keep feature-level detail in the release plan or feature list.
- A feature list/plan is a living artifact — assign an owner and a review cadence (each sprint or release), or it goes stale and erodes trust.
Anti-pattern quick reference
| Anti-pattern | Instead |
| Dumping the full feature list into the roadmap | Roadmap = strategy; feature list = detail — keep the levels separate |
| Marking almost everything "Must-have" | Enforce the ~60% Must-have cap; prioritization is a forcing function |
| Acceptance criteria that just restate the user story | Write specific, measurable, testable conditions |
| Features listed with no success metric | Outcomes matter more than outputs — attach a metric before calling it ready |
| Letting the document go stale after sign-off | Assign an owner and a recurring review cadence |
| One person writing the whole document alone | Feature lists/plans need engineering + product + QA input to be realistic |
| Splitting "truth" across multiple tools with no shared ID | Traceability requires stable IDs and two-way linkage |
| Ignoring non-functional requirements until late | Bring them into the development plan from the start |
| Naming a feature as an implementation step | Use the outcome-oriented naming template |
Review Workflow
- Confirm every feature is named as an outcome and sized within the granularity rule.
- Confirm every feature has acceptance criteria, a success metric, and a stable ID.
- Check that "Must-have" doesn't exceed roughly 60% of total effort.
- Confirm the roadmap stays thematic and doesn't leak feature-level detail.
- Confirm the development plan's ten components are all present, not just timeline and tasks.
- Confirm traceability: every feature's ID is unchanged from list to plan to (if applicable) RTM.
Pre-flight checklist — run before delivering any feature list or development plan
- Every feature is named as an outcome and sized to ~1-3 days (never more than ~2 weeks).
- Every feature has a stable ID, acceptance criteria, and a success metric.
- Priority was assigned via a named framework (MoSCoW/RICE/Kano/Value-vs-Effort), not by feel.
- "Must-have" doesn't dominate the list (~60% effort cap respected).
- The Roadmap stays thematic; feature-level detail lives in the Release Plan or feature list.
- The Development Plan covers all ten components, including risks and NFRs, not just tasks.
- An owner and review cadence are assigned so the document doesn't go stale.
In this repository91 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- goSkill
- json-standardsSkill
- pythonSkill
- rabbitmqSkill
- rSkill
- rustSkill
- code-standardsSkill
- software-architectureSkill
- swiftSkill
- typescript-code-standardsSkill
- architecture-documentation-and-decision-recordsSkill
- business-requirements-standardsSkill
- developer-handoff-standardsSkill
- development-planning-standardsSkill
- document-writer-reviewerSkill
- functional-specification-standardsSkill
- non-functional-requirements-standardsSkill
- operations-standardsSkill
- product-requirements-standardsSkill
- documentationSkill
- solution-architecture-standardsSkill
- technical-requirements-standardsSkill
- documenting-codeSkill
- github-circleci-standardsSkill
- graphifySkill
- puml-diagramsSkill
- software-architecture-progressionSkill
- testingSkill
- software-test-specificationSkill
- zeno-councilSkill
- zeno-debugSkill
- zeno-insightSkill
- zenoSkill
- zeno-stackSkill
- zeno-accessibilitySkill
- zeno-angular-developerSkill
- zeno-api-designSkill
- zeno-browser-qaSkill
- zeno-build-resolverSkill
- zeno-codebase-onboardingSkill
- zeno-code-tourSkill
- zeno-comment-analysisSkill
- zeno-config-gcSkill
- zeno-context-budgetSkill
- zeno-context-compactionSkill
- zeno-cost-reportSkill
- zeno-database-migrationsSkill
- zeno-deep-researchSkill
- zeno-deployment-patternsSkill
- zeno-design-systemSkill
- zeno-docker-patternsSkill
- zeno-e2e-testingSkill
- zeno-error-handlingSkill
- zeno-find-skillsSkill
- zeno-frontend-designSkill
- zeno-github-opsSkill
- zeno-git-workflowSkill
- zeno-harness-optimizerSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

