Product Designer
This skill is for producing a product-design brief: the document that takes a product
idea from a sentence to something a team can build, scope, and validate. It is not a
marketing one-pager and not an engineering design doc — it is the bridge between a user
need and a buildable MVP, written so a designer, an engineer, and a founder all read the
same intent.
A good brief has four properties (this is the bar to hit):
- Every requirement traces to a real user need. A feature exists because a named
persona has a job to do, not because it's clever or because competitors have it. If you
can't name whose problem a requirement solves, it doesn't belong in the MVP.
- Requirements are testable. Each functional requirement and user story is concrete
enough that someone can later say "yes, this is built and correct" or "no, it isn't."
Vague verbs ("support", "handle", "manage") hide undecided behavior — replace them with
the observable outcome.
- Scope is decided, not implied. The brief states up front what is locked, what is in
the MVP, and — explicitly — what is out. A non-goals list is as important as the goals;
it's what stops the MVP from sprawling.
- It is human-centered. The design respects how people actually perceive, act, and
recover from mistakes. Constraints are visible before errors happen, destructive actions
are reversible and show their consequences, feedback is informative, and the system's
structure matches a model the user can hold in their head. See
references/hcd-principles.md.
Operating principles (non-negotiable)
- Start from the user, not the feature. Before writing a single requirement, establish
the personas and their jobs-to-be-done. Every later section answers back to these. A
requirement with no persona behind it is a candidate for the non-goals list.
- Lock the big decisions first. Platform, core value proposition, account/data model,
and the central interaction paradigm are decided up front and stated as "locked product
decisions." Everything downstream depends on them; leaving them implicit produces a brief
that quietly contradicts itself.
- Make requirements observable. "FR7 — Search" is a title, not a requirement. Spell out
what is searched, what the user sees, and how the control names itself. The test is:
could a QA engineer write a pass/fail check from this sentence alone?
- Write acceptance criteria as conditions, not aspirations. Each user story carries
Given/When/Then-style criteria that pin the behavior. "It should be easy to search" is not
a criterion; "the active scope is shown on the selector and matches are highlighted" is.
- Name what's out of scope. Maintain an explicit non-goals list and defer post-MVP ideas
by name (e.g. "flashcards — post-MVP"). Scope creep enters through silence, not through
decisions.
- Apply HCD as a checklist, not a vibe. For every destructive, irreversible, or
structure-changing action, walk the HCD checklist (
references/hcd-principles.md):
Is the consequence shown before it happens? Is it reversible? Is there immediate feedback?
Does the control name what it does? A surprising number of requirements change once you do.
- Earn trust explicitly. When the product makes claims, generates content, or modifies
the user's data, build in traceability (citations, "what changed", version history) and
never fabricate. Call these out as "trust beats" in the journeys.
- Keep the data model honest. State the core entities and their invariants (what's
immutable, what's append-only, how references resolve). A data model with the wrong
invariants makes whole categories of requirements impossible later.
- Stay non-prescriptive about the stack. Suggest a technology direction if useful, but
label it as a suggestion, not a requirement. The brief specifies what and why, not how.
- End with validation, not certainty. A brief is a hypothesis. Close with the open
questions still to settle and the cheapest test (usually a small usability study on real
users with real data) that would settle them.
Process
Work through these in order; later sections feed on earlier ones. Ask the user for what you
genuinely can't infer — but propose a concrete default rather than interrogating them.
- Establish context and lock the big decisions. What exists already, what's being built,
and the locked choices (platform, core value, accounts/data, interaction model). If these
aren't decided yet, surface the choice explicitly and recommend one.
- Write the vision and personas. One memorable vision sentence. Two or three named
personas with their situation and their jobs-to-be-done in their own words.
- Set goals and non-goals. A short numbered goals list (each tied to a persona need) and
an explicit non-goals list with post-MVP items named.
- Enumerate functional requirements (FR1, FR2, …). One crisp, testable capability each.
This is the spine of the brief. See Writing requirements below.
- Sketch the key screens at wireframe level — what each screen is for, not pixels.
- Specify any core system behavior (pipelines, algorithms, state machines) as numbered
steps, including the incremental/repeat path and the failure path.
- Define the information architecture / data model — entities, fields, and invariants.
- List non-functional requirements — limits, latency, async behavior, privacy,
reliability, cost. Make limits visible to the user (HCD), not just enforced server-side.
- Write user stories grouped into epics, each with acceptance criteria. See below.
- Walk the user journeys — the happy path, the repeat-use path, and at least one
unhappy path — marking aha moments and trust beats.
- Choose success metrics — a single activation north-star, the funnel around it, and
engagement/quality proxies. Each metric must be measurable from product events.
- Capture risks & mitigations, milestones, suggested stack, and open questions.
- Recommend the next step — the validation that de-risks the biggest assumption.
You don't always need every section — a single-feature spec is lighter than a full MVP plan
— but FRs, acceptance criteria, non-goals, and an HCD pass are never optional.
Writing requirements (the spine)
A functional requirement is a numbered, self-contained, testable capability. Pattern:
FR — . , ,
<what the user sees / how the control names itself>, .
Two tests before a requirement is done:
- The QA test: could someone write a pass/fail check from this sentence alone?
- The HCD test: if it touches a constraint, a destructive action, or generated content,
does it satisfy the relevant HCD principle (visible limit / shown consequence + undo /
traceability)? If not, revise the requirement, don't just note it.
Prefer many small sharp FRs over a few broad fuzzy ones. When a requirement grows a list of
caveats, that's usually two or three requirements wearing one number.
Writing user stories & acceptance criteria
Group stories into epics that mirror the user's mental phases (e.g. Accounts → Manage →
Create → Browse → Trust → Maintain → Ask). Each story:
. As a , I want to so that .
- <Given a precondition, when an action, then an observable result.>
- <Another observable condition — including the unhappy case.>
Rules: the benefit clause is mandatory (it's the trace back to the user need); at least one
criterion covers the failure/edge case; criteria describe what's observable, never internal
implementation. Where a story embodies an HCD decision, note the principle in one parenthetical
so the why survives (e.g. "(HCD: show consequences before a destructive action)").
References
references/brief-template.md — the full section-by-section skeleton of a product brief,
with the purpose of each section and what "good" looks like. Start here when writing a new
brief from scratch.
references/hcd-principles.md — the human-centered-design checklist (visible constraints,
reversibility, informative feedback, conceptual model, traceability, direct manipulation),
each with a concrete example of how it changes a requirement. Run every destructive,
irreversible, or content-generating requirement through this.
When critiquing an existing brief rather than writing one, read it against the four
properties and the HCD checklist, and report the specific requirements that fail a test —
with the rewrite, not just the objection.
1---2name: product-designer3description: Produce and refine product-design briefs that turn rough ideas into buildable MVP specifications with vision, personas, jobs-to-be-done, goals and non-goals, numbered requirements, key screens, a data model, user stories with acceptance criteria, journeys, metrics, risks, and milestones. Use whenever the user wants to write, expand, critique, or restructure a product brief, MVP plan, PRD, feature spec, or set of user stories, including requests such as "write a product spec", "turn this idea into an MVP plan", "draft the requirements", "design this feature", "define the MVP scope", or "make a PRD". Also use when a user describes a product idea and asks how to scope or structure it. Enforce human-centered design principles and ensure every requirement is testable and tied to a real user need.4---56# Product Designer78This skill is for producing a **product-design brief**: the document that takes a product9idea from a sentence to something a team can build, scope, and validate. It is not a10marketing one-pager and not an engineering design doc — it is the bridge between a user11need and a buildable MVP, written so a designer, an engineer, and a founder all read the12same intent.1314A good brief has four properties (this is the bar to hit):15161. **Every requirement traces to a real user need.** A feature exists because a named17 persona has a job to do, not because it's clever or because competitors have it. If you18 can't name whose problem a requirement solves, it doesn't belong in the MVP.192. **Requirements are testable.** Each functional requirement and user story is concrete20 enough that someone can later say "yes, this is built and correct" or "no, it isn't."21 Vague verbs ("support", "handle", "manage") hide undecided behavior — replace them with22 the observable outcome.233. **Scope is decided, not implied.** The brief states up front what is locked, what is in24 the MVP, and — explicitly — what is *out*. A non-goals list is as important as the goals;25 it's what stops the MVP from sprawling.264. **It is human-centered.** The design respects how people actually perceive, act, and27 recover from mistakes. Constraints are visible before errors happen, destructive actions28 are reversible and show their consequences, feedback is informative, and the system's29 structure matches a model the user can hold in their head. See `references/hcd-principles.md`.3031## Operating principles (non-negotiable)3233- **Start from the user, not the feature.** Before writing a single requirement, establish34 the personas and their jobs-to-be-done. Every later section answers back to these. A35 requirement with no persona behind it is a candidate for the non-goals list.36- **Lock the big decisions first.** Platform, core value proposition, account/data model,37 and the central interaction paradigm are decided up front and stated as "locked product38 decisions." Everything downstream depends on them; leaving them implicit produces a brief39 that quietly contradicts itself.40- **Make requirements observable.** "FR7 — Search" is a title, not a requirement. Spell out41 *what* is searched, *what the user sees*, and *how the control names itself*. The test is:42 could a QA engineer write a pass/fail check from this sentence alone?43- **Write acceptance criteria as conditions, not aspirations.** Each user story carries44 Given/When/Then-style criteria that pin the behavior. "It should be easy to search" is not45 a criterion; "the active scope is shown on the selector and matches are highlighted" is.46- **Name what's out of scope.** Maintain an explicit non-goals list and defer post-MVP ideas47 by name (e.g. "flashcards — post-MVP"). Scope creep enters through silence, not through48 decisions.49- **Apply HCD as a checklist, not a vibe.** For every destructive, irreversible, or50 structure-changing action, walk the HCD checklist (`references/hcd-principles.md`):51 Is the consequence shown before it happens? Is it reversible? Is there immediate feedback?52 Does the control name what it does? A surprising number of requirements change once you do.53- **Earn trust explicitly.** When the product makes claims, generates content, or modifies54 the user's data, build in traceability (citations, "what changed", version history) and55 never fabricate. Call these out as "trust beats" in the journeys.56- **Keep the data model honest.** State the core entities and their invariants (what's57 immutable, what's append-only, how references resolve). A data model with the wrong58 invariants makes whole categories of requirements impossible later.59- **Stay non-prescriptive about the stack.** Suggest a technology direction if useful, but60 label it as a suggestion, not a requirement. The brief specifies *what* and *why*, not *how*.61- **End with validation, not certainty.** A brief is a hypothesis. Close with the open62 questions still to settle and the cheapest test (usually a small usability study on real63 users with real data) that would settle them.6465## Process6667Work through these in order; later sections feed on earlier ones. Ask the user for what you68genuinely can't infer — but propose a concrete default rather than interrogating them.69701. **Establish context and lock the big decisions.** What exists already, what's being built,71 and the locked choices (platform, core value, accounts/data, interaction model). If these72 aren't decided yet, surface the choice explicitly and recommend one.732. **Write the vision and personas.** One memorable vision sentence. Two or three named74 personas with their situation and their jobs-to-be-done in their own words.753. **Set goals and non-goals.** A short numbered goals list (each tied to a persona need) and76 an explicit non-goals list with post-MVP items named.774. **Enumerate functional requirements (FR1, FR2, …).** One crisp, testable capability each.78 This is the spine of the brief. See *Writing requirements* below.795. **Sketch the key screens** at wireframe level — what each screen is *for*, not pixels.806. **Specify any core system behavior** (pipelines, algorithms, state machines) as numbered81 steps, including the incremental/repeat path and the failure path.827. **Define the information architecture / data model** — entities, fields, and invariants.838. **List non-functional requirements** — limits, latency, async behavior, privacy,84 reliability, cost. Make limits visible to the user (HCD), not just enforced server-side.859. **Write user stories grouped into epics**, each with acceptance criteria. See below.8610. **Walk the user journeys** — the happy path, the repeat-use path, and at least one87 unhappy path — marking aha moments and trust beats.8811. **Choose success metrics** — a single activation north-star, the funnel around it, and89 engagement/quality proxies. Each metric must be measurable from product events.9012. **Capture risks & mitigations, milestones, suggested stack, and open questions.**9113. **Recommend the next step** — the validation that de-risks the biggest assumption.9293You don't always need every section — a single-feature spec is lighter than a full MVP plan94— but FRs, acceptance criteria, non-goals, and an HCD pass are never optional.9596## Writing requirements (the spine)9798A functional requirement is a numbered, self-contained, testable capability. Pattern:99100> **FR<n> — <Short name>.** <What the user can do>, <what the system does in response>,101> <what the user sees / how the control names itself>, <key edge or constraint>.102103Two tests before a requirement is done:104- **The QA test:** could someone write a pass/fail check from this sentence alone?105- **The HCD test:** if it touches a constraint, a destructive action, or generated content,106 does it satisfy the relevant HCD principle (visible limit / shown consequence + undo /107 traceability)? If not, revise the requirement, don't just note it.108109Prefer many small sharp FRs over a few broad fuzzy ones. When a requirement grows a list of110caveats, that's usually two or three requirements wearing one number.111112## Writing user stories & acceptance criteria113114Group stories into epics that mirror the user's mental phases (e.g. Accounts → Manage →115Create → Browse → Trust → Maintain → Ask). Each story:116117> **<Epic><n>.** *As a <persona>, I want to <action> so that <benefit>.*118> - <Given a precondition, when an action, then an observable result.>119> - <Another observable condition — including the unhappy case.>120121Rules: the benefit clause is mandatory (it's the trace back to the user need); at least one122criterion covers the failure/edge case; criteria describe what's *observable*, never internal123implementation. Where a story embodies an HCD decision, note the principle in one parenthetical124so the *why* survives (e.g. "(HCD: show consequences before a destructive action)").125126## References127128- `references/brief-template.md` — the full section-by-section skeleton of a product brief,129 with the purpose of each section and what "good" looks like. Start here when writing a new130 brief from scratch.131- `references/hcd-principles.md` — the human-centered-design checklist (visible constraints,132 reversibility, informative feedback, conceptual model, traceability, direct manipulation),133 each with a concrete example of how it changes a requirement. Run every destructive,134 irreversible, or content-generating requirement through this.135136When critiquing an *existing* brief rather than writing one, read it against the four137properties and the HCD checklist, and report the specific requirements that fail a test —138with the rewrite, not just the objection.