Feature Design
Transform raw feature inputs into structured product documentation. This is the product design phase — no code, architecture, or engineering decisions are made here. Output feeds into the architecture skill for technical design and the plan skill for implementation planning.
Apply product-manager role for all steps below.
0. Gather Context
Read AGENTS.md at the project root to identify:
- Product description and domain
- Existing features and modules (to avoid duplication and understand scope)
- Tech stack constraints (affects feasibility assessment)
- Team structure (affects user story assignment)
If the project has a FEATURES.md, read it for the current feature registry.
1. Receive Feature Inputs
Gather all available resources describing the feature:
- Accepted inputs: idea brief, user research, customer feedback, support tickets, competitive analysis, stakeholder request, verbal description, market data, analytics report
- Read every provided document thoroughly
- If the user provides a verbal description only — proceed to Step 2 to structure it through discovery
Extract Raw Signals
From the provided inputs, extract and organize:
| Signal |
Source |
Notes |
| Problem |
[what pain exists, for whom] |
[evidence or assumption] |
| Opportunity |
[what business value] |
[data points] |
| User segments |
[who needs this] |
[ICP/persona indicators] |
| Competitive context |
[how others solve it] |
[differentiation angle] |
| Constraints |
[timeline, budget, technical, regulatory] |
[hard vs soft] |
| Existing assets |
[related features, prior art, dependencies] |
[links/refs] |
If critical signals are missing (no clear problem statement, no target user) — ask before proceeding. Do not invent user needs.
2. Discovery and Framing
2a. Problem Validation
Define the problem with precision:
- Problem statement: One paragraph — who has the problem, what the problem is, why it matters now
- Evidence: Data points supporting the problem (usage metrics, support volume, churn correlation, user quotes, competitive pressure)
- Impact of inaction: What happens if we do nothing
If evidence is weak — flag this as a risk. Do not fabricate data.
2b. Target Users
Apply JTBD and ICP frameworks from Agent(product-manager):
- Job-to-be-Done: When [situation], I want to [motivation], so I can [outcome]
- ICP segments: Which customer profiles benefit most. Include triggers, buying signals, objections
- Personas (if useful): Name, role, goal, frustration. Keep lightweight — max 2 personas
2c. Scope Decision
Based on complexity, decide the deliverable type:
| Complexity |
Signals |
Deliverable |
| Small |
Single service, < 1 week effort, clear solution |
Feature Brief (abbreviated PRD) |
| Medium |
Multi-component, 1–4 weeks, some unknowns |
Full PRD |
| Large |
Multi-service, 4+ weeks, significant unknowns, new capabilities |
Full PRD + Spike/Discovery tasks |
| AI/Agent |
LLM-powered, autonomous behavior, trust/safety concerns |
Full PRD + Agent Contract + Eval Strategy |
Present the scope decision to the user for confirmation before proceeding.
3. Requirements Definition
3a. Functional Requirements
List requirements prioritized using MoSCoW:
- Must have: Core functionality — feature is useless without these
- Should have: Important but not blocking launch
- Could have: Nice-to-have, defer if constrained
- Won't have (this iteration): Explicitly excluded — prevents scope creep
Each requirement: one sentence, testable, outcome-focused. Never specify implementation — describe what, not how.
3b. Non-Functional Requirements
Identify relevant NFRs:
| Category |
Requirement |
Target |
| Performance |
[e.g., response time] |
[e.g., < 200ms p95] |
| Security |
[e.g., auth, data protection] |
[e.g., RBAC, PII encrypted] |
| Scalability |
[e.g., concurrent users] |
[e.g., 10K concurrent] |
| Accessibility |
[e.g., WCAG level] |
[e.g., WCAG 2.2 AA] |
| Compliance |
[e.g., GDPR, SOC2] |
[specific requirements] |
Only include categories relevant to this feature.
3c. Acceptance Criteria
Write acceptance criteria for every Must-have and Should-have requirement:
- Use Given/When/Then format for behavioral criteria
- Include happy path, edge cases, error states
- Include operational criteria: "no new errors in logs", "latency < Xms p95"
- Include security criteria: "unauthorized users receive 403", "PII not logged"
- Each criterion is independently testable
4. Success Metrics
Define how to measure feature success:
4a. Metric Framework
| Metric Type |
Metric |
Target |
Measurement Method |
| Primary (North Star) |
[e.g., activation rate] |
[target value] |
[how to measure] |
| Leading |
[e.g., feature adoption D7] |
[target value] |
[how to measure] |
| Guardrail |
[e.g., error rate, latency] |
[must not exceed] |
[how to measure] |
4b. Instrumentation Plan
- Events to track (name, properties, trigger)
- Dashboards to create or update
- Alerts to configure (guardrail breaches)
5. Risk Assessment
| Risk |
Type |
Impact |
Likelihood |
Mitigation |
| [description] |
Technical / Business / Security / Compliance |
High/Med/Low |
High/Med/Low |
[strategy] |
Mandatory risk categories to evaluate:
- Security threats (apply OWASP Top 10; add LLM Top 10 for AI features)
- Data handling risks (PII, secrets, retention)
- Backward compatibility and migration
- Dependency on external systems or teams
- User abuse scenarios
6. AI/Agent Addendum
Include this section only for AI-powered or agent features. Skip for standard features.
7. Compile Deliverable
Full PRD
Compile all sections into a structured PRD:
# PRD: [Feature Name]
## Problem Statement
[From Step 2a]
## Target Users
[From Step 2b — JTBD, ICP, personas]
## Scope and Non-Goals
[From Step 2c — what's in, what's explicitly out]
## Requirements
[From Step 3a — MoSCoW prioritized]
## Non-Functional Requirements
[From Step 3b]
## Acceptance Criteria
[From Step 3c]
## Success Metrics
[From Step 4]
## Risks and Mitigations
[From Step 5]
## Agent Contract
[From Step 6 — only for AI features]
## Rollout Strategy
- Phase 1: Internal / dogfood
- Phase 2: Beta (limited users, feature flag)
- Phase 3: GA (all users)
- Backward compatibility notes
- Feature flag name and config
Feature Brief (for small scope)
Abbreviated format — single document:
# Feature Brief: [Feature Name]
**Problem**: [1–2 sentences]
**Users**: [target segment]
**JTBD**: When [situation], I want to [motivation], so I can [outcome]
## Requirements
[Must-have list only — max 5 items]
## Acceptance Criteria
[Given/When/Then for each requirement]
## Success Metric
[Single primary metric + target]
## Risks
[Top 1–3 risks with mitigations]
Present the compiled deliverable to the user for review.
8. Multi-Reviewer Feedback Loop
The PRD or Feature Brief MUST pass a mandatory multi-reviewer cycle before handoff. Do not update FEATURES.md or hand off to the architecture skill / plan skill until every reviewer returns approved.
Reviewer Panel
Apply each role below in sequence, treating each as an independent reviewer with its own pass over the deliverable:
product-manager role — problem framing, scope, requirements clarity, acceptance criteria testability, success metrics, risk coverage
marketing-strategist role — positioning, target audience alignment, messaging, GTM fit, competitive differentiation
content-writer role — structure, terminology consistency, clarity, readability
seo-engineer role — feature naming searchability, keyword alignment, AI citability (GEO/AEO), discoverability hooks for public-facing surfaces
Cycle
- For each role, produce a findings report: Critical (must fix), Major (should fix, justify if waived), Minor (optional), plus an explicit verdict:
approved / approved-with-changes / rejected. Keep reports separate per role
- Collect all four reports before editing
- Apply all actionable findings. Resolve conflicts with priority Critical > Major > Minor; on ties, product-manager > content-writer > marketing-strategist > seo-engineer. Record waivers with a one-line rationale
- Re-run the same four reviewer passes against the updated deliverable
- Loop until every reviewer returns
approved with zero remaining critical/major findings
Termination: pass when all four are approved. On divergence (findings not shrinking, mutually exclusive asks) — pause and ask the user to arbitrate. Max 5 cycles before escalation.
Record the review history at the bottom of the deliverable as a ## Review History section listing each cycle's reviewer verdicts and open issue counts.
9. Update FEATURES.md
After the PRD/brief is approved:
- If
FEATURES.md does not exist — create it at the project root
- Add or update the feature entry:
- Name, one-line description
- Status:
planned
- Link to PRD/brief in
features/ directory
- Save the PRD/brief to
features/[feature-name].md (kebab-case)
10. Handoff
Guide the next step based on feature complexity:
| Complexity |
Next Step |
| Small (brief) |
Run plan skill directly — architecture is implicit |
| Medium (PRD) |
Run architecture skill for technical design, then plan skill |
| Large (PRD + spikes) |
Execute spikes first, then architecture skill → plan skill |
| AI/Agent (PRD + contract) |
Run architecture skill with agent contract as input → plan skill |
Integration
- Input: Raw feature resources (ideas, research, feedback, stakeholder requests)
- Followed by:
architecture skill (technical design), plan skill (work decomposition)
- Roles:
product-manager role (primary — owns PRD), marketing-strategist + content-writer + seo-engineer roles (Step 8 reviewers), solution-architect role (consulted for feasibility)
- Skills:
context-engineering skill (context pipeline design, RAG, memory, agent harness — for AI/Agent features, Step 6)
- Updates:
FEATURES.md, features/ directory
- Enables: Full planning chain:
product skill → architecture skill → plan skill → feature-dev skill
1---2name: product3description: Feature design workflow — transform raw feature inputs (ideas, research, stakeholder requests, competitive analysis) into a structured PRD or feature brief. Applies product-manager role. Produces PRD, user stories, acceptance criteria, success metrics, and updates FEATURES.md. First step in the planning chain, precedes architecture skill and plan skill. Includes mandatory multi-reviewer feedback loop with product-manager, marketing-strategist, content-writer, and seo-engineer.4---56# Feature Design78Transform raw feature inputs into structured product documentation. This is the **product design phase** — no code, architecture, or engineering decisions are made here. Output feeds into the `architecture` skill for technical design and the `plan` skill for implementation planning.910**Apply `product-manager` role for all steps below.**1112## 0. Gather Context1314Read `AGENTS.md` at the project root to identify:15- Product description and domain16- Existing features and modules (to avoid duplication and understand scope)17- Tech stack constraints (affects feasibility assessment)18- Team structure (affects user story assignment)1920If the project has a `FEATURES.md`, read it for the current feature registry.2122## 1. Receive Feature Inputs2324Gather all available resources describing the feature:2526- **Accepted inputs**: idea brief, user research, customer feedback, support tickets, competitive analysis, stakeholder request, verbal description, market data, analytics report27- Read every provided document thoroughly28- If the user provides a verbal description only — proceed to Step 2 to structure it through discovery2930### Extract Raw Signals3132From the provided inputs, extract and organize:3334| Signal | Source | Notes |35|---|---|---|36| **Problem** | [what pain exists, for whom] | [evidence or assumption] |37| **Opportunity** | [what business value] | [data points] |38| **User segments** | [who needs this] | [ICP/persona indicators] |39| **Competitive context** | [how others solve it] | [differentiation angle] |40| **Constraints** | [timeline, budget, technical, regulatory] | [hard vs soft] |41| **Existing assets** | [related features, prior art, dependencies] | [links/refs] |4243If critical signals are missing (no clear problem statement, no target user) — ask before proceeding. Do not invent user needs.4445## 2. Discovery and Framing4647### 2a. Problem Validation4849Define the problem with precision:50511. **Problem statement**: One paragraph — who has the problem, what the problem is, why it matters now522. **Evidence**: Data points supporting the problem (usage metrics, support volume, churn correlation, user quotes, competitive pressure)533. **Impact of inaction**: What happens if we do nothing5455If evidence is weak — flag this as a risk. Do not fabricate data.5657### 2b. Target Users5859Apply JTBD and ICP frameworks from `Agent(product-manager)`:6061- **Job-to-be-Done**: When [situation], I want to [motivation], so I can [outcome]62- **ICP segments**: Which customer profiles benefit most. Include triggers, buying signals, objections63- **Personas** (if useful): Name, role, goal, frustration. Keep lightweight — max 2 personas6465### 2c. Scope Decision6667Based on complexity, decide the deliverable type:6869| Complexity | Signals | Deliverable |70|---|---|---|71| **Small** | Single service, < 1 week effort, clear solution | Feature Brief (abbreviated PRD) |72| **Medium** | Multi-component, 1–4 weeks, some unknowns | Full PRD |73| **Large** | Multi-service, 4+ weeks, significant unknowns, new capabilities | Full PRD + Spike/Discovery tasks |74| **AI/Agent** | LLM-powered, autonomous behavior, trust/safety concerns | Full PRD + Agent Contract + Eval Strategy |7576Present the scope decision to the user for confirmation before proceeding.7778## 3. Requirements Definition7980### 3a. Functional Requirements8182List requirements prioritized using MoSCoW:8384- **Must have**: Core functionality — feature is useless without these85- **Should have**: Important but not blocking launch86- **Could have**: Nice-to-have, defer if constrained87- **Won't have (this iteration)**: Explicitly excluded — prevents scope creep8889Each requirement: one sentence, testable, outcome-focused. Never specify implementation — describe *what*, not *how*.9091### 3b. Non-Functional Requirements9293Identify relevant NFRs:9495| Category | Requirement | Target |96|---|---|---|97| Performance | [e.g., response time] | [e.g., < 200ms p95] |98| Security | [e.g., auth, data protection] | [e.g., RBAC, PII encrypted] |99| Scalability | [e.g., concurrent users] | [e.g., 10K concurrent] |100| Accessibility | [e.g., WCAG level] | [e.g., WCAG 2.2 AA] |101| Compliance | [e.g., GDPR, SOC2] | [specific requirements] |102103Only include categories relevant to this feature.104105### 3c. Acceptance Criteria106107Write acceptance criteria for every Must-have and Should-have requirement:108109- Use **Given/When/Then** format for behavioral criteria110- Include **happy path**, **edge cases**, **error states**111- Include **operational criteria**: "no new errors in logs", "latency < Xms p95"112- Include **security criteria**: "unauthorized users receive 403", "PII not logged"113- Each criterion is independently testable114115## 4. Success Metrics116117Define how to measure feature success:118119### 4a. Metric Framework120121| Metric Type | Metric | Target | Measurement Method |122|---|---|---|---|123| **Primary** (North Star) | [e.g., activation rate] | [target value] | [how to measure] |124| **Leading** | [e.g., feature adoption D7] | [target value] | [how to measure] |125| **Guardrail** | [e.g., error rate, latency] | [must not exceed] | [how to measure] |126127### 4b. Instrumentation Plan128129- Events to track (name, properties, trigger)130- Dashboards to create or update131- Alerts to configure (guardrail breaches)132133## 5. Risk Assessment134135| Risk | Type | Impact | Likelihood | Mitigation |136|---|---|---|---|---|137| [description] | Technical / Business / Security / Compliance | High/Med/Low | High/Med/Low | [strategy] |138139**Mandatory risk categories to evaluate:**140- Security threats (apply OWASP Top 10; add LLM Top 10 for AI features)141- Data handling risks (PII, secrets, retention)142- Backward compatibility and migration143- Dependency on external systems or teams144- User abuse scenarios145146## 6. AI/Agent Addendum147148**Include this section only for AI-powered or agent features.** Skip for standard features.149150<agent_contract>151- **Autonomy level**: Assist (human decides) → Semi-auto (agent proposes, human approves) → Auto (agent acts independently)152- **Allowed tools and permissions**: Least privilege. List every tool/API the agent can access153- **Confirmation gates**: Which actions require human approval154- **Failure modes**: What happens when the agent fails, hallucinates, or exceeds scope155- **Cost budget**: Token/compute/API limits per operation156- **Context pipeline**: Consult `context-engineering` skill for context stack design, RAG pipeline, memory architecture, agent harness patterns, and production checklists157- **Eval strategy**: Offline eval set (fixtures, synthetic + real cases), online monitoring (drift, failure rates)158</agent_contract>159160## 7. Compile Deliverable161162### Full PRD163164Compile all sections into a structured PRD:165166```markdown167# PRD: [Feature Name]168169## Problem Statement170[From Step 2a]171172## Target Users173[From Step 2b — JTBD, ICP, personas]174175## Scope and Non-Goals176[From Step 2c — what's in, what's explicitly out]177178## Requirements179[From Step 3a — MoSCoW prioritized]180181## Non-Functional Requirements182[From Step 3b]183184## Acceptance Criteria185[From Step 3c]186187## Success Metrics188[From Step 4]189190## Risks and Mitigations191[From Step 5]192193## Agent Contract194[From Step 6 — only for AI features]195196## Rollout Strategy197- Phase 1: Internal / dogfood198- Phase 2: Beta (limited users, feature flag)199- Phase 3: GA (all users)200- Backward compatibility notes201- Feature flag name and config202```203204### Feature Brief (for small scope)205206Abbreviated format — single document:207208```markdown209# Feature Brief: [Feature Name]210211**Problem**: [1–2 sentences]212**Users**: [target segment]213**JTBD**: When [situation], I want to [motivation], so I can [outcome]214215## Requirements216[Must-have list only — max 5 items]217218## Acceptance Criteria219[Given/When/Then for each requirement]220221## Success Metric222[Single primary metric + target]223224## Risks225[Top 1–3 risks with mitigations]226```227228Present the compiled deliverable to the user for review.229230## 8. Multi-Reviewer Feedback Loop231232The PRD or Feature Brief MUST pass a mandatory multi-reviewer cycle before handoff. Do not update `FEATURES.md` or hand off to the `architecture` skill / `plan` skill until every reviewer returns `approved`.233234### Reviewer Panel235236Apply each role below in sequence, treating each as an independent reviewer with its own pass over the deliverable:237238- `product-manager` role — problem framing, scope, requirements clarity, acceptance criteria testability, success metrics, risk coverage239- `marketing-strategist` role — positioning, target audience alignment, messaging, GTM fit, competitive differentiation240- `content-writer` role — structure, terminology consistency, clarity, readability241- `seo-engineer` role — feature naming searchability, keyword alignment, AI citability (GEO/AEO), discoverability hooks for public-facing surfaces242243### Cycle2442451. For each role, produce a findings report: Critical (must fix), Major (should fix, justify if waived), Minor (optional), plus an explicit verdict: `approved` / `approved-with-changes` / `rejected`. Keep reports separate per role2462. Collect all four reports before editing2473. Apply all actionable findings. Resolve conflicts with priority Critical > Major > Minor; on ties, product-manager > content-writer > marketing-strategist > seo-engineer. Record waivers with a one-line rationale2484. Re-run the same four reviewer passes against the updated deliverable2495. Loop until every reviewer returns `approved` with zero remaining critical/major findings250251Termination: pass when all four are `approved`. On divergence (findings not shrinking, mutually exclusive asks) — pause and ask the user to arbitrate. Max 5 cycles before escalation.252253Record the review history at the bottom of the deliverable as a `## Review History` section listing each cycle's reviewer verdicts and open issue counts.254255## 9. Update FEATURES.md256257After the PRD/brief is approved:2582591. If `FEATURES.md` does not exist — create it at the project root2602. Add or update the feature entry:261 - Name, one-line description262 - Status: `planned`263 - Link to PRD/brief in `features/` directory2643. Save the PRD/brief to `features/[feature-name].md` (kebab-case)265266## 10. Handoff267268Guide the next step based on feature complexity:269270| Complexity | Next Step |271|---|---|272| **Small** (brief) | Run `plan` skill directly — architecture is implicit |273| **Medium** (PRD) | Run `architecture` skill for technical design, then `plan` skill |274| **Large** (PRD + spikes) | Execute spikes first, then `architecture` skill → `plan` skill |275| **AI/Agent** (PRD + contract) | Run `architecture` skill with agent contract as input → `plan` skill |276277## Integration278279- **Input**: Raw feature resources (ideas, research, feedback, stakeholder requests)280- **Followed by**: `architecture` skill (technical design), `plan` skill (work decomposition)281- **Roles**: `product-manager` role (primary — owns PRD), `marketing-strategist` + `content-writer` + `seo-engineer` roles (Step 8 reviewers), `solution-architect` role (consulted for feasibility)282- **Skills**: `context-engineering` skill (context pipeline design, RAG, memory, agent harness — for AI/Agent features, Step 6)283- **Updates**: `FEATURES.md`, `features/` directory284- **Enables**: Full planning chain: `product` skill → `architecture` skill → `plan` skill → `feature-dev` skill