authoring-prd — SKILL.md
Variant: standard · When to use: producing (or amending) a comprehensive PRD from a product idea, to a quality bar the downstream build can be planned from.
Overview
This skill is the how-to of writing a strong, comprehensive Product Requirements Document — the judgment a producer applies, not the section list. It assumes two collaborators: a PRD template tool that supplies the section structure, and a deep-research capability to ground each section in evidence. The producer is handed a product idea (and any upstream context documents) and must elaborate it into a PRD — never emit generic boilerplate. The bar to clear: the finished PRD is plannable — an engineer can derive milestones and tasks from it. The skill is single-sourced with reviewing-prd: the Step-5 self-check IS the reviewer's 12-condition bar, so author and reviewer do not drift.
When to activate
- Authoring a new PRD from a product idea or brief.
- Expanding a thin idea into a comprehensive requirements doc (product or substantial feature).
- Amending an existing PRD as a versioned delta (a new/changed requirement, a scope shift) — see Step 6.
- Filling a PRD template with researched, decision-complete content.
Do NOT activate when:
- Reviewing or grading a finished PRD → use
reviewing-prd.
- Authoring a different document type (feature-spec, technical-design, runbook, wireframes) → use that type's skill. The PRD states WHAT + WHY; the HOW lives downstream in the feature-spec (per-feature behavior) and the technical-design (engineering design).
- A one-line note or a trivial change that needs no requirements doc.
Inputs
Read the project idea plus every document the plan hands you — your depends_on set (any analysis documents discovery placed upstream, e.g. a problem-statement, market/competitor scan, business case, or user research) — and ground the PRD in them. Do not assume a fixed input: the typical upstreams this skill names are method guidance, not a cap on what you receive. Be self-contained — produce the document from whatever context you actually receive; when an expected informing document is absent, proceed on what you have and surface the gap as an explicit assumption, never fabricate to fill it. Use a research capability where available (deep-research) to make the document comprehensive and exhaustive, not merely to fill the template. When amending, the existing PRD + the change request are also inputs (Step 6).
Capability context (when provided): If a capability_record (a record from capability-map.yaml product_capabilities) is injected by the caller, read it before Step 1. It defines your scope boundary: owns = entities you cover; refs = entities you reference but do not own; publishes/consumes = events you surface; entry_points/exit_points = how users arrive and leave; has_ui/has_api/has_persistence = which surfaces apply. When present, treat it as a hard constraint — do not stray outside the boundary it defines.
Workflow
Step 1: Take the structure from the template tool — don't invent an outline
Get the section structure from your PRD template tool (comprehensive variant). Do not restate or re-derive a section list here; this skill supplies the method that fills those sections well. If no template is available, obtain a comprehensive PRD structure (request/forge one, or fall back to the canonical PRD section set), then proceed.
If ALL capability records are injected (product_capabilities list): use the active L1 capability list as the PRD scope skeleton — one section per capability. Frame with archetype.primary and domain.primary from the classification.
Step 2: Load the idea + context; name the archetype; discover gaps
Read the product idea and any upstream context. Name the product archetype — consumer / B2B-enterprise / internal tool / platform-API / data-ML / regulated — because it sets which sections carry weight (see references/archetype-and-amend.md). Before drafting, fill knowledge gaps — identify what's unknown about the core problem, success metrics, users, and constraints, and resolve it (ask, or research, or state an explicit assumption). Every section's content must trace back to this idea and its users — not a generic template fill. Where the idea is thin, make assumptions explicit, never silently generic. If the core problem can't even be credibly assumed, stop and raise the Step-5 thin-idea blocker rather than drafting.
Step 3: Research to ground each section
Use a deep-research pass to ground the problem, users, market/competitive context, and metric baselines in evidence. Cite where it matters. Research the specific domain of the idea, not "PRDs in general." If no research capability is available, do NOT fabricate evidence or citations — state the problem/users/metrics as explicitly-flagged assumptions and list them under "validate before build."
Step 4: Apply the per-section method
Fill the template's sections to this method:
- Problem — lead with evidence of the pain (data, research, signals); name who has it and what it costs today. Frame it as the job-to-be-done ("When [situation], I want [motivation], so I can [outcome]") so the problem rests on a real job, not a presupposed feature. An asserted, unevidenced problem is the most common PRD failure.
- Goals & success metrics — 2–4 measurable outcomes; for each, a target and the measurement method / tracking instrumentation, defined before building. Pair leading (input) with lagging (outcome) metrics, and where a headline metric is gameable or could harm another axis, name a guardrail/counter-metric. Use a framework (North Star / OKR / HEART / AARRR) to pick the right few — the framework is a tool, not a deliverable. A few crisp bullets, not a metric dump. (Depth:
references/nfr-and-metrics.md.)
- Users & personas — concrete personas with real needs and scenarios; user stories ("As a … I want … so that …").
- Scope: MVP & non-goals — split must-have-for-first-launch from later; state non-goals and release criteria explicitly. The out-of-scope/Won't-have list is the primary scope-creep guard (+ feature budget / time-box where useful). Prioritize defensibly (RICE / MoSCoW / Kano as aids).
- Requirements — functional (testable, from the user's view) and non-functional, treated as a named category taxonomy, each load-bearing category carrying a numeric/checkable target: performance (p95 latency, throughput), availability/reliability (an SLO), security, privacy/data-handling, accessibility (WCAG 2.2 AA floor), scalability, maintainability, compatibility, localization/i18n, compliance — proportional to the archetype (a deliberately best-effort NFR may say so). (Taxonomy + numeric bars:
references/nfr-and-metrics.md.)
- User stories & acceptance criteria — each story carries acceptance criteria (Given/When/Then or rule-based) that make "done" independently testable.
- Traceability — keep the chain whole: every feature traces up to a goal, every goal has ≥1 feature, every metric ties to a goal, every story has AC. Agile-light (a small matrix) — no heavy RTM tool. No orphan feature, no goal without a feature.
- Dependencies — name cross-team and external dependencies (services, data, third parties, required sign-offs) as their own concern; they gate sequencing downstream.
- Risks — likelihood/impact + mitigation; a short pre-mortem ("if this failed in 6 months, why?") sharpens it.
- Assumptions, open questions, decision log — surface unknowns explicitly; for a living PRD, log key decisions (what/when/why).
- Cross-functional readiness (proportional aid, NOT a required section) — prompt for feasibility sign-off and, by archetype, GTM/launch/support/analytics. Include only what the archetype needs — do not bolt a GTM section onto every PRD.
- Cross-cutting — precise, jargon-free, unambiguous language for a cross-functional audience; one name per entity.
Step 5: Self-check against the plannability bar before handing off
Confirm all that apply hold (this is the same 12-condition bar reviewing-prd asserts):
- Evidenced problem — backed by evidence (or a flagged assumption), framed as a job; not asserted.
- Defined users — at least the primary persona(s) with concrete needs.
- Measurable success — 2–4 metrics, each with target + method; a guardrail where the headline metric is obviously gameable in a way that harms a stated goal.
- Defensible MVP boundary — in-scope vs out-of-scope/non-goals + release criteria.
- Concrete features — features + acceptance criteria specific enough to derive milestones/tasks.
- Grounded, not assumed (no fabrication) — problem and metrics rest on evidence; assumptions flagged + listed for "validate before build"; no fabricated numbers.
- Risks, dependencies-context + open questions surfaced — not hidden.
- Clear + unambiguous — jargon-free, consistent terminology; no vague adjectives standing in for requirements.
- NFR taxonomy — the archetype's load-bearing NFR categories present, each with a numeric/checkable target (or stated best-effort).
- Traceable — no orphan feature; every goal has a feature; metrics tie to goals; stories have AC.
- Dependencies named — cross-team/external dependencies + sign-offs surfaced (or "none").
- Amend integrity (when amending) — see Step 6.
Thin-idea gate: if the core problem cannot be evidenced or even credibly assumed, surface that as a blocker ("idea too thin to specify — needs discovery") rather than papering it with assumptions.
Step 6: Amend an existing PRD as a versioned delta (when iterating)
When the input is an existing PRD + a change (not a greenfield idea):
- Scope the change — state what this amendment touches and what is deliberately untouched.
- Edit in place, don't rewrite — change only the affected requirements/goals/metrics/scope lines; do not regenerate the whole PRD (regeneration loses provenance and risks silent drift).
- Version + changelog — bump the PRD's own doc version; add a change-history entry: who / when / what changed / why (and who requested it).
- Mark superseded content — outdated requirements/metrics are explicitly marked superseded (with the reason), not silently deleted.
- Analyze ripple — trace the change's blast radius: which acceptance criteria, metrics, other requirements, and downstream docs (feature-spec, technical-design) are now stale. Surface the affected set (or "no downstream impact" with reason) so the traceability chain isn't left broken.
(Full amend procedure: references/archetype-and-amend.md.)
Rules
Hard rules (never violate):
- Evidence the problem. Never assert the problem without evidence or a stated, flagged assumption.
- Metrics must be measurable. Every success metric has a target and a measurement method; reject vanity/unmeasurable goals. Add a guardrail where the headline metric is gameable.
- NFRs get numeric targets. A load-bearing non-functional requirement names a quantifiable target; "should be fast/secure" is not a requirement.
- No vague language. Replace subjective words ("fast", "intuitive", "easy", "scalable") with quantifiable benchmarks (e.g. "p95 < 200ms", "task done in ≤ 3 clicks").
- Never fabricate evidence. Do not invent statistics, survey figures, or citations. State unsourced claims as explicitly-flagged assumptions + "validate before build." An invented number is worse than an honest assumption.
- Draw the MVP boundary. Always state in-scope, deferred, and non-goals. No "MVP = everything."
- Acceptance criteria on stories. A user story without checkable acceptance criteria is not done.
- Keep the chain traceable. No orphan feature; every goal has at least one feature.
- Compose, don't duplicate. Take the section structure from the template tool; this skill is the method that fills it.
- Elaborate the given idea. The PRD's specifics come from the idea + research, never generic boilerplate.
- Amend, don't rewrite. When changing an existing PRD, edit in place + version + changelog; never silently regenerate.
- Plannable or not done. Do not hand off a PRD an engineer cannot derive milestones from.
- Capability boundary (when capability_record provided). Scope the document output to that record's boundary. Producing content outside the boundary (covering a
refs entity as if it were owned; designing flows past an exit_point) is a scope violation — equivalent to inventing content that isn't in the spec.
Preferences (override-able):
- "Comprehensive" sets the output ambition, but stay proportional — completeness of decisions, not word count. A thin idea legitimately collapses sections it doesn't need (no NFR matrix on a trivial tool, no dependencies when there are none).
- Keep goals/metrics to 2–4 bullets; prefer a short pre-mortem over a long risk table.
- Frameworks (North Star/OKR/HEART; RICE/MoSCoW/Kano) are aids to choose the right metrics/priorities — pick what fits the archetype; don't force one.
Gotchas
- Asserted problem. "Users struggle with X" with no evidence reads authoritative but is the weakest part of most PRDs — ground it or flag the assumption.
- Vanity metrics. "Users will love it" / "more engagement" are not metrics. A metric names what is measured, its target, and how it's tracked.
- Metric with no guardrail. A gameable headline metric (e.g. "messages sent") with nothing guarding against the harm it could cause (spam) invites gaming — name the counter-metric.
- NFRs as adjectives. "Should be fast and secure" — replace with the category's numeric target (p95, SLO, WCAG 2.2 AA), proportional to the archetype.
- Orphan feature / dangling goal. A feature serving no stated goal (or a goal with no feature) breaks the chain a planner relies on — trace it or cut it.
- Fuzzy MVP boundary. Without an explicit in/out split + release criteria, scope creeps indefinitely. Name the exclusions.
- Restating the outline. Re-deriving the section list inside the PRD content instead of filling the template's sections with judgment.
- Generic fill. Content that would be true of any product means you elaborated the template, not the idea.
- GTM-by-reflex. Bolting a GTM/launch section onto a PRD whose archetype (e.g. an internal tool) doesn't need it. Readiness prompts are proportional aids, not universal sections.
- Silent rewrite on amend. Regenerating the whole PRD for a one-requirement change — loses the changelog and risks drift. Edit in place.
Worked contrast — generic (compliant on the surface) vs grounded (use it to self-detect):
| Section |
Generic / un-grounded (reject) |
Grounded (ship) |
| Problem |
"Freelancers struggle to track invoices." |
"[from real research] X% of freelancers reported ≥1 late payment/quarter; the pain is chasing payment, not data entry." (number must come from a real source — never invent it; if unresearched, write it as a flagged assumption + 'validate') |
| Metric |
"Reduce late payments." |
"Cut median days-to-payment from 21→14 within 90 days, tracked via invoice-paid timestamps; guardrail: support tickets/user ≤ baseline." |
| NFR |
"Payments should be fast and reliable." |
"Payment-status webhook reflects within 60s (p95); 99.9% delivery over a rolling 30-day window." |
| Acceptance criterion |
"Login works." |
"Given a registered user with valid credentials, when they submit the login form, they reach the dashboard in < 2s; invalid credentials show an inline error." |
If your fill reads like the left column — true of any product, no number, no source — it isn't done.
Anti-patterns
- "The success metric is that it works." Unmeasurable — define metric + target + method.
- "MVP = the full feature set." No boundary — split must-have vs later + non-goals.
- "I'll write the outline myself." Duplicates the template tool — take the structure from it.
- "The idea is thin, so I'll write a generic PRD." Surface assumptions/open questions instead; never boilerplate.
- "Skip the research, I know PRDs." The research grounds this idea's problem/users/market — not PRD theory.
- "It should be fast and intuitive." Vague adjectives masquerading as requirements — replace with quantifiable benchmarks.
- "NFRs are an implementation detail." Missed-early NFRs cause expensive rewrites — name them with targets at PRD time.
- "I'll regenerate the whole PRD for this change." Amend in place + version + changelog instead.
Output
A comprehensive (or amended) PRD that meets the Step-5 plannability bar. The abstract consumer is the downstream planning phase (which derives milestones/tasks from it), the downstream feature-spec/technical-design (which elaborate the HOW), and a reviewer (reviewing-prd, which asserts the same 12-condition bar). The PRD's structure comes from the template tool; this skill supplies the content quality. Medium: a textual markdown document (the method is medium-independent).
Related
- A PRD template tool (e.g.
content-template-gateway) — supplies the comprehensive PRD section structure this skill fills.
- A deep-research capability — grounds each section's content in evidence about the given idea.
reviewing-prd — asserts the same 12-condition plannability bar on the finished PRD; author and reviewer share one bar so they don't drift.
- A
design-review skill — the sibling gate for the PRD's engineering downstream docs (feature-spec/technical-design/ADR/RFC); distinct gate, not used on the PRD itself.
- Typical upstream
depends_on: a problem-statement / market scan / business case / user research (guidance, not a precondition — stay self-contained).
Progressive disclosure
references/nfr-and-metrics.md — the NFR category taxonomy + numeric-target bars, and the metric frameworks (North Star/OKR/HEART/AARRR) + guardrail/counter-metric guidance. Load when filling Requirements or Goals & Metrics.
references/archetype-and-amend.md — the per-archetype section-emphasis overlays (consumer/B2B/internal/platform-API/data-ML/regulated) and the full amend (edit-in-place + version + ripple) procedure. Load when naming the archetype or amending.
references/sources.md — research provenance for the method + quality bar (load only to audit where the guidance came from).
Body budget
description ≤ 1,024 chars (agentskills.io cap).
- Body ~500 lines / 5,000 tokens (soft target — quality takes precedence; flag if consistently over 700 lines / 7,000 tokens).
- Heavy content lives in
references/, loaded on demand.
1---2name: authoring-prd3description: Use when authoring a PRD (product requirements document) for a software or product project — turning a product idea into a comprehensive, plannable requirements doc. Guides the producer through the METHOD, not the outline: grounding the problem in evidence (jobs-to-be-done), defining measurable success metrics with guardrails, drawing a defensible MVP boundary, specifying functional + a non-functional taxonomy with numeric targets, writing testable acceptance criteria, keeping the problem→goal→metric→feature→AC chain traceable, naming dependencies, and surfacing risks + open questions — to a bar an engineer can plan milestones from. Also amends an existing PRD as a versioned, changelogged delta. Composes with a separate PRD template tool (the section structure) and a deep-research capability. Not for reviewing a finished PRD and not for authoring other document types.4---56# `authoring-prd` — SKILL.md78> **Variant:** standard · **When to use:** producing (or amending) a comprehensive PRD from a product idea, to a quality bar the downstream build can be planned from.910## Overview1112This skill is the *how-to* of writing a strong, comprehensive Product Requirements Document — the judgment a producer applies, not the section list. It assumes two collaborators: a **PRD template tool** that supplies the section *structure*, and a **deep-research capability** to ground each section in evidence. The producer is handed a **product idea (and any upstream context documents)** and must **elaborate** it into a PRD — never emit generic boilerplate. The bar to clear: the finished PRD is *plannable* — an engineer can derive milestones and tasks from it. The skill is single-sourced with `reviewing-prd`: the Step-5 self-check IS the reviewer's 12-condition bar, so author and reviewer do not drift.1314## When to activate1516- Authoring a new PRD from a product idea or brief.17- Expanding a thin idea into a comprehensive requirements doc (product or substantial feature).18- **Amending an existing PRD** as a versioned delta (a new/changed requirement, a scope shift) — see Step 6.19- Filling a PRD template with researched, decision-complete content.2021**Do NOT activate when:**2223- Reviewing or grading a finished PRD → use `reviewing-prd`.24- Authoring a different document type (feature-spec, technical-design, runbook, wireframes) → use that type's skill. The PRD states WHAT + WHY; the HOW lives downstream in the feature-spec (per-feature behavior) and the technical-design (engineering design).25- A one-line note or a trivial change that needs no requirements doc.2627## Inputs2829Read the **project idea** plus **every document the plan hands you** — your `depends_on` set (any analysis documents discovery placed upstream, e.g. a problem-statement, market/competitor scan, business case, or user research) — and ground the PRD in them. Do not assume a fixed input: the typical upstreams this skill names are method guidance, not a cap on what you receive. Be **self-contained** — produce the document from *whatever* context you actually receive; when an expected informing document is absent, proceed on what you have and surface the gap as an explicit assumption, never fabricate to fill it. **Use a research capability where available** (deep-research) to make the document comprehensive and exhaustive, not merely to fill the template. When **amending**, the existing PRD + the change request are also inputs (Step 6).3031**Capability context (when provided):** If a `capability_record` (a record from `capability-map.yaml product_capabilities`) is injected by the caller, read it before Step 1. It defines your scope boundary: `owns` = entities you cover; `refs` = entities you reference but do not own; `publishes`/`consumes` = events you surface; `entry_points`/`exit_points` = how users arrive and leave; `has_ui`/`has_api`/`has_persistence` = which surfaces apply. When present, treat it as a hard constraint — do not stray outside the boundary it defines.3233## Workflow3435### Step 1: Take the structure from the template tool — don't invent an outline3637Get the section structure from your PRD template tool (comprehensive variant). Do **not** restate or re-derive a section list here; this skill supplies the method that *fills* those sections well. If no template is available, obtain a comprehensive PRD structure (request/forge one, or fall back to the canonical PRD section set), then proceed.3839If ALL capability records are injected (`product_capabilities` list): use the active L1 capability list as the PRD scope skeleton — one section per capability. Frame with `archetype.primary` and `domain.primary` from the classification.4041### Step 2: Load the idea + context; name the archetype; discover gaps4243Read the product idea and any upstream context. **Name the product archetype** — consumer / B2B-enterprise / internal tool / platform-API / data-ML / regulated — because it sets which sections carry weight (see `references/archetype-and-amend.md`). **Before drafting, fill knowledge gaps** — identify what's unknown about the core problem, success metrics, users, and constraints, and resolve it (ask, or research, or state an explicit assumption). Every section's content must trace back to *this* idea and its users — not a generic template fill. Where the idea is thin, make assumptions **explicit**, never silently generic. If the core problem can't even be credibly assumed, stop and raise the Step-5 thin-idea blocker rather than drafting.4445### Step 3: Research to ground each section4647Use a deep-research pass to ground the problem, users, market/competitive context, and metric baselines in evidence. Cite where it matters. Research the specific domain of the idea, not "PRDs in general." **If no research capability is available, do NOT fabricate evidence or citations** — state the problem/users/metrics as explicitly-flagged assumptions and list them under "validate before build."4849### Step 4: Apply the per-section method5051Fill the template's sections to this method:5253- **Problem** — lead with **evidence** of the pain (data, research, signals); name who has it and what it costs today. Frame it as the **job-to-be-done** ("When [situation], I want [motivation], so I can [outcome]") so the problem rests on a real job, not a presupposed feature. An asserted, unevidenced problem is the most common PRD failure.54- **Goals & success metrics** — 2–4 **measurable** outcomes; for each, a target **and** the measurement method / tracking instrumentation, defined **before** building. Pair leading (input) with lagging (outcome) metrics, and where a headline metric is **gameable or could harm another axis**, name a **guardrail/counter-metric**. Use a framework (North Star / OKR / HEART / AARRR) to pick the *right* few — the framework is a tool, not a deliverable. A few crisp bullets, not a metric dump. (Depth: `references/nfr-and-metrics.md`.)55- **Users & personas** — concrete personas with real needs and scenarios; user stories ("As a … I want … so that …").56- **Scope: MVP & non-goals** — split must-have-for-first-launch from later; state **non-goals** and **release criteria** explicitly. The out-of-scope/Won't-have list is the primary scope-creep guard (+ feature budget / time-box where useful). Prioritize defensibly (RICE / MoSCoW / Kano as aids).57- **Requirements** — functional (testable, from the user's view) and **non-functional**, treated as a **named category taxonomy**, each load-bearing category carrying a **numeric/checkable target**: performance (p95 latency, throughput), availability/reliability (an SLO), security, privacy/data-handling, accessibility (**WCAG 2.2 AA** floor), scalability, maintainability, compatibility, localization/i18n, compliance — proportional to the archetype (a deliberately best-effort NFR may say so). (Taxonomy + numeric bars: `references/nfr-and-metrics.md`.)58- **User stories & acceptance criteria** — each story carries **acceptance criteria** (Given/When/Then or rule-based) that make "done" independently testable.59- **Traceability** — keep the chain whole: every feature traces up to a goal, every goal has ≥1 feature, every metric ties to a goal, every story has AC. Agile-light (a small matrix) — no heavy RTM tool. No orphan feature, no goal without a feature.60- **Dependencies** — name cross-team and external dependencies (services, data, third parties, required sign-offs) as their own concern; they gate sequencing downstream.61- **Risks** — likelihood/impact + mitigation; a short **pre-mortem** ("if this failed in 6 months, why?") sharpens it.62- **Assumptions, open questions, decision log** — surface unknowns explicitly; for a living PRD, log key decisions (what/when/why).63- **Cross-functional readiness (proportional aid, NOT a required section)** — prompt for feasibility sign-off and, *by archetype*, GTM/launch/support/analytics. Include only what the archetype needs — do not bolt a GTM section onto every PRD.64- **Cross-cutting** — precise, jargon-free, unambiguous language for a cross-functional audience; one name per entity.6566### Step 5: Self-check against the plannability bar before handing off6768Confirm all that apply hold (this is the same 12-condition bar `reviewing-prd` asserts):69701. **Evidenced problem** — backed by evidence (or a flagged assumption), framed as a job; not asserted.712. **Defined users** — at least the primary persona(s) with concrete needs.723. **Measurable success** — 2–4 metrics, each with target + method; a guardrail where the headline metric is obviously gameable in a way that harms a stated goal.734. **Defensible MVP boundary** — in-scope vs out-of-scope/non-goals + release criteria.745. **Concrete features** — features + acceptance criteria specific enough to derive milestones/tasks.756. **Grounded, not assumed (no fabrication)** — problem and metrics rest on evidence; assumptions flagged + listed for "validate before build"; no fabricated numbers.767. **Risks, dependencies-context + open questions surfaced** — not hidden.778. **Clear + unambiguous** — jargon-free, consistent terminology; no vague adjectives standing in for requirements.789. **NFR taxonomy** — the archetype's load-bearing NFR categories present, each with a numeric/checkable target (or stated best-effort).7910. **Traceable** — no orphan feature; every goal has a feature; metrics tie to goals; stories have AC.8011. **Dependencies named** — cross-team/external dependencies + sign-offs surfaced (or "none").8112. **Amend integrity** (when amending) — see Step 6.8283**Thin-idea gate:** if the core problem cannot be evidenced or even credibly assumed, surface that as a **blocker** ("idea too thin to specify — needs discovery") rather than papering it with assumptions.8485### Step 6: Amend an existing PRD as a versioned delta (when iterating)8687When the input is an existing PRD + a change (not a greenfield idea):8889- **Scope the change** — state what this amendment touches and what is deliberately untouched.90- **Edit in place, don't rewrite** — change only the affected requirements/goals/metrics/scope lines; do not regenerate the whole PRD (regeneration loses provenance and risks silent drift).91- **Version + changelog** — bump the PRD's own doc version; add a change-history entry: who / when / **what changed / why** (and who requested it).92- **Mark superseded content** — outdated requirements/metrics are explicitly marked superseded (with the reason), not silently deleted.93- **Analyze ripple** — trace the change's blast radius: which acceptance criteria, metrics, other requirements, and downstream docs (feature-spec, technical-design) are now stale. Surface the affected set (or "no downstream impact" with reason) so the traceability chain isn't left broken.9495(Full amend procedure: `references/archetype-and-amend.md`.)9697## Rules9899**Hard rules (never violate):**100101- **Evidence the problem.** Never assert the problem without evidence or a stated, flagged assumption.102- **Metrics must be measurable.** Every success metric has a target and a measurement method; reject vanity/unmeasurable goals. Add a guardrail where the headline metric is gameable.103- **NFRs get numeric targets.** A load-bearing non-functional requirement names a quantifiable target; "should be fast/secure" is not a requirement.104- **No vague language.** Replace subjective words ("fast", "intuitive", "easy", "scalable") with **quantifiable benchmarks** (e.g. "p95 < 200ms", "task done in ≤ 3 clicks").105- **Never fabricate evidence.** Do not invent statistics, survey figures, or citations. State unsourced claims as **explicitly-flagged assumptions** + "validate before build." An invented number is worse than an honest assumption.106- **Draw the MVP boundary.** Always state in-scope, deferred, and non-goals. No "MVP = everything."107- **Acceptance criteria on stories.** A user story without checkable acceptance criteria is not done.108- **Keep the chain traceable.** No orphan feature; every goal has at least one feature.109- **Compose, don't duplicate.** Take the section structure from the template tool; this skill is the method that fills it.110- **Elaborate the given idea.** The PRD's specifics come from the idea + research, never generic boilerplate.111- **Amend, don't rewrite.** When changing an existing PRD, edit in place + version + changelog; never silently regenerate.112- **Plannable or not done.** Do not hand off a PRD an engineer cannot derive milestones from.113- **Capability boundary (when capability_record provided).** Scope the document output to that record's boundary. Producing content outside the boundary (covering a `refs` entity as if it were owned; designing flows past an `exit_point`) is a scope violation — equivalent to inventing content that isn't in the spec.114115**Preferences (override-able):**116117- "Comprehensive" sets the output *ambition*, but stay **proportional** — completeness of decisions, not word count. A thin idea legitimately collapses sections it doesn't need (no NFR matrix on a trivial tool, no dependencies when there are none).118- Keep goals/metrics to 2–4 bullets; prefer a short pre-mortem over a long risk table.119- Frameworks (North Star/OKR/HEART; RICE/MoSCoW/Kano) are aids to choose the right metrics/priorities — pick what fits the archetype; don't force one.120121## Gotchas122123- **Asserted problem.** "Users struggle with X" with no evidence reads authoritative but is the weakest part of most PRDs — ground it or flag the assumption.124- **Vanity metrics.** "Users will love it" / "more engagement" are not metrics. A metric names *what* is measured, its *target*, and *how* it's tracked.125- **Metric with no guardrail.** A gameable headline metric (e.g. "messages sent") with nothing guarding against the harm it could cause (spam) invites gaming — name the counter-metric.126- **NFRs as adjectives.** "Should be fast and secure" — replace with the category's numeric target (p95, SLO, WCAG 2.2 AA), proportional to the archetype.127- **Orphan feature / dangling goal.** A feature serving no stated goal (or a goal with no feature) breaks the chain a planner relies on — trace it or cut it.128- **Fuzzy MVP boundary.** Without an explicit in/out split + release criteria, scope creeps indefinitely. Name the exclusions.129- **Restating the outline.** Re-deriving the section list inside the PRD content instead of filling the template's sections with judgment.130- **Generic fill.** Content that would be true of any product means you elaborated the *template*, not the *idea*.131- **GTM-by-reflex.** Bolting a GTM/launch section onto a PRD whose archetype (e.g. an internal tool) doesn't need it. Readiness prompts are proportional aids, not universal sections.132- **Silent rewrite on amend.** Regenerating the whole PRD for a one-requirement change — loses the changelog and risks drift. Edit in place.133134**Worked contrast — generic (compliant on the surface) vs grounded** (use it to self-detect):135136| Section | Generic / un-grounded (reject) | Grounded (ship) |137|---|---|---|138| Problem | "Freelancers struggle to track invoices." | "[from real research] X% of freelancers reported ≥1 late payment/quarter; the pain is chasing payment, not data entry." *(number must come from a real source — never invent it; if unresearched, write it as a flagged assumption + 'validate')* |139| Metric | "Reduce late payments." | "Cut median days-to-payment from 21→14 within 90 days, tracked via invoice-paid timestamps; guardrail: support tickets/user ≤ baseline." |140| NFR | "Payments should be fast and reliable." | "Payment-status webhook reflects within 60s (p95); 99.9% delivery over a rolling 30-day window." |141| Acceptance criterion | "Login works." | "Given a registered user with valid credentials, when they submit the login form, they reach the dashboard in < 2s; invalid credentials show an inline error." |142143If your fill reads like the left column — true of any product, no number, no source — it isn't done.144145## Anti-patterns146147- **"The success metric is that it works."** Unmeasurable — define metric + target + method.148- **"MVP = the full feature set."** No boundary — split must-have vs later + non-goals.149- **"I'll write the outline myself."** Duplicates the template tool — take the structure from it.150- **"The idea is thin, so I'll write a generic PRD."** Surface assumptions/open questions instead; never boilerplate.151- **"Skip the research, I know PRDs."** The research grounds *this idea's* problem/users/market — not PRD theory.152- **"It should be fast and intuitive."** Vague adjectives masquerading as requirements — replace with quantifiable benchmarks.153- **"NFRs are an implementation detail."** Missed-early NFRs cause expensive rewrites — name them with targets at PRD time.154- **"I'll regenerate the whole PRD for this change."** Amend in place + version + changelog instead.155156## Output157158A **comprehensive (or amended) PRD** that meets the **Step-5 plannability bar**. The **abstract consumer** is the downstream planning phase (which derives milestones/tasks from it), the downstream feature-spec/technical-design (which elaborate the HOW), and a reviewer (`reviewing-prd`, which asserts the same 12-condition bar). The PRD's *structure* comes from the template tool; this skill supplies the *content quality*. Medium: a textual markdown document (the method is medium-independent).159160## Related161162- A **PRD template tool** (e.g. `content-template-gateway`) — supplies the comprehensive PRD section structure this skill fills.163- A **deep-research capability** — grounds each section's content in evidence about the given idea.164- **`reviewing-prd`** — asserts the same 12-condition plannability bar on the finished PRD; author and reviewer share one bar so they don't drift.165- A **`design-review`** skill — the sibling gate for the PRD's engineering *downstream* docs (feature-spec/technical-design/ADR/RFC); distinct gate, not used on the PRD itself.166- Typical upstream `depends_on`: a problem-statement / market scan / business case / user research (guidance, not a precondition — stay self-contained).167168## Progressive disclosure169170- `references/nfr-and-metrics.md` — the NFR category taxonomy + numeric-target bars, and the metric frameworks (North Star/OKR/HEART/AARRR) + guardrail/counter-metric guidance. Load when filling Requirements or Goals & Metrics.171- `references/archetype-and-amend.md` — the per-archetype section-emphasis overlays (consumer/B2B/internal/platform-API/data-ML/regulated) and the full amend (edit-in-place + version + ripple) procedure. Load when naming the archetype or amending.172- `references/sources.md` — research provenance for the method + quality bar (load only to audit where the guidance came from).173174## Body budget175176- `description` ≤ 1,024 chars (agentskills.io cap).177- Body ~500 lines / 5,000 tokens (soft target — quality takes precedence; flag if consistently over 700 lines / 7,000 tokens).178- Heavy content lives in `references/`, loaded on demand.