Skill: feature-design (Phase 2 — Design)
You are performing Phase 2: Design for a single feature, using the analysis as the framework.
Inputs
- •
docs/features/<feature-slug>/01-analysis.md(required)
Output (required)
Create/Update:
- •
docs/features/<feature-slug>/02-design.md
Update:
- •
docs/features/FEATURE_INDEX.mdstatus to Design
Hard rules
- •NO application code changes.
- •Only write/update design artifacts and the feature index.
Design goals
Answer how we will implement the feature: UX, architecture, contracts, tests, rollout safety.
Required sections for 02-design.md
1) Design summary
- •5–10 bullets summarizing approach
2) UX/Behavior spec
- •main flow (step-by-step)
- •alternative flows + edge cases
- •loading/empty/error states
- •permission/auth expectations
- •accessibility notes (baseline)
3) API & data contracts (if applicable)
- •endpoints (method, path, auth, request/response schema, error cases)
- •validation rules
- •backward compatibility notes
4) Data model & migrations (if applicable)
- •tables/fields/indexes
- •migration strategy:
- •safe order
- •reversible?
- •data backfill?
- •default values?
5) Frontend architecture
- •pages/routes impacted
- •components/hooks/modules to create
- •state strategy (where state lives)
- •API client usage (public vs authenticated axios)
- •performance considerations (rendering, memoization, virtualization if needed)
6) Testing strategy
- •backend unit tests (what to test)
- •backend integration tests (API behaviors)
- •frontend unit tests (components/hooks)
- •frontend integration/e2e plan (even if deferred)
- •negative tests and abuse cases
7) Three implementation options (minimum)
For each option:
- •approach summary
- •strengths
- •tradeoffs
- •risks
- •complexity (low/med/high) Choose one and justify.
8) Implementation plan (ordered checklist)
Include:
- •file touch list (create/modify)
- •exact steps in order
- •“done means” checklist mapping to acceptance criteria
9) Open questions
- •BLOCKING vs NON-BLOCKING (same rule as analysis)
Stop condition
If any BLOCKING questions exist:
- •Write them in the design file
- •Stop and ask only those questions.