Requirements Author Skill
Overview
This skill defines how to produce and evolve requirements documents across the project lifecycle for two document types: the Business Requirements Document (BRD) and the Product Requirements Document (PRD). Shared requirements-engineering knowledge lives in references/_shared/, while BRD-specific and PRD-specific knowledge live in references/brd/ and references/prd/ so each consuming agent loads only what its document needs.
The canonical BRD template is brd-full.md with its brd-frontmatter-overlay.md, and the canonical PRD template is prd-full.md. The BRD Builder dispatches into the BRD phase anchors (#discover, #define, #govern); the PRD Builder dispatches into the PRD phase anchors (#prd-assess through #prd-finalize).
Use this skill with the references for the active document scope:
Shared (references/_shared/):
- Requirements Definition
- Traceability Naming
- Traceability Matrix
BRD scope (references/brd/):
- BRD-to-PRD Handoff
- Outcome Hypothesis-to-BRD Handoff
- BRD Quality Formats
PRD scope (references/prd/):
- Product Discovery
- EARS Acceptance
- PRD Quality Formats
Handoff Transport Convention
The producing workflow owns each handoff's canonical transport, and the
consumer validates the complete payload regardless of transport. An outcome
hypothesis returns OUTCOME_HYPOTHESIS_TO_BRD_HANDOFF_V1 inline by default
because it is a one-time seed derived from an already persisted source
artifact; the user may instead supply a separately persisted payload path.
BRD Govern persists BRD_TO_PRD_HANDOFF_V1 and returns its path because that
payload is a durable governance record consumed across agent sessions. This
asymmetry is intentional and does not change payload authority or validation.
BRD Lifecycle
| Phase |
Primary objective |
Entry condition |
Exit condition |
| Discover |
Establish business context, stakeholder scope, and problem framing |
Request or initiative is in intake |
Discover hard gate passes and artifacts are complete |
| Define |
Produce complete, testable, and traceable requirements content |
Discover artifacts are approved for elaboration |
Define hard gate passes with quality evidence |
| Govern |
Finalize, approve, and supersede BRD versions under lineage controls |
Define package is approved for governance review |
Govern hard gate passes and publication artifacts are recorded |
Discover {#discover}
Activities
- Capture business context, drivers, imposed constraints, and expected outcomes.
- Identify stakeholders, decision owners, and review participants.
- Define scope boundaries, assumptions, and dependency surfaces.
- Draft initial requirement candidates and map early traceability placeholders.
- Validate and disposition an
OUTCOME_HYPOTHESIS_TO_BRD_HANDOFF_V1 payload when one is supplied.
Outcome hypothesis intake
Use Outcome Hypothesis-to-BRD Handoff
as the canonical contract.
- Accept the YAML inline or from a user-supplied artifact path.
- Validate the complete payload before copying any value into the BRD.
- Reject unsupported versions, incomplete seeds, placeholder values, and
invalid provenance. Do not reinterpret a rejected payload as unstructured
evidence.
- Assign the next stable
BG-### identifier.
- Record distinct statement, KPI, baseline, target, timeframe, measurement
source, and owner values.
- Mark each seed field
accepted or revised. For a revision, preserve the
source value, current BRD value, and rationale.
- Map assumptions and open questions into their canonical BRD sections.
Initialize each imported question to
Open unless Discover explicitly
confirms another BRD-owned status. Every deferred question requires a
rationale for deferral and one target phase: PRD, Implementation,
Operations, or Future-Release.
- Record the handoff ID, source path, source SHA-256, and KPI measurement
source in the BRD provenance receipt.
Before Discover accepts the handoff, the validated payload is authoritative
for imported seed values. Discover may explicitly accept or revise those
values. After Discover exits, the BRD is authoritative. A later hypothesis
change requires a new validated payload and explicit Discover re-entry.
Hard exit gate
Discover exits only when:
- Scope is bounded and stakeholder ownership is explicit.
- Core assumptions and constraints are documented and reviewable.
- Seed artifacts needed for Define are present and internally consistent.
- Any outcome-hypothesis handoff has passed validation, every imported seed
field has an explicit disposition, and its provenance receipt is complete.
Output artifacts
- Discover summary and scope statement.
- Stakeholder inventory with role and ownership mapping.
- Initial assumption and constraint register.
- Seed requirement and traceability scaffold for Define.
- Outcome-hypothesis receipt and field dispositions when a handoff was supplied.
Define {#define}
Activities
- Author full BRD content using brd-full.md and the canonical naming rules.
- Refine business goals and requirement sets with clear acceptance intent.
- Build and verify author-maintained traceability links across FR, AC, BG, and BR records.
- Perform quality assessment using the BRD quality reporting contract.
Hard exit gate
Define exits only when:
- Requirement content is complete, unambiguous, and testable.
- Traceability links satisfy the active ID schema and naming policy.
- FR-to-AC coverage meets the active
fr_to_ac_coverage_threshold_pct or has a recorded blocker.
- Quality findings are generated and reviewed against the defined rubric.
Output artifacts
- Full BRD draft package with structured sections.
- Author-maintained traceability matrix aligned to naming and ID conventions.
- BRD quality findings and consolidated quality report payloads.
- Define gate decision record with reviewer notes.
Govern {#govern}
Activities
- Prepare final BRD for approval with version metadata and lineage fields.
- Bump approved BRDs from draft
0.x.y versions to 1.0.0 or higher.
- Resolve or disposition remaining quality findings.
- Publish approved BRD outputs and downstream handoff payloads.
- Maintain supersession chain when issuing replacement BRD versions.
Govern handoff production
Before emitting BRD_TO_PRD_HANDOFF_V1, the BRD Builder applies the coverage and waiver validation rules in BRD-to-PRD Handoff, including zero-FR coverage handling. It records the following values from the signed-off BRD and final quality review:
- A lowercase SHA-256 hash of the exact BRD artifact bytes at signoff.
- Counts for FR, NFR, BR, CON, AC, and BG identifiers using id-schema.md.
- FR-to-AC and FR-to-BG coverage metrics from the author-maintained traceability matrix.
- The final
BRD_QUALITY_REPORT_V1 reference, overall status, and Govern decision.
- Signoff approvers, roles, decisions, approval timestamps, comments, and active waivers.
- Waiver records for any accepted FR-to-AC threshold gap or FR-to-BG target gap.
After validation succeeds, write the complete YAML payload to .copilot-tracking/brd-sessions/<brd-name>.handoff.yml, record that path in BRD session state, and return the path with a compact Govern summary. Do not rely on an inline chat payload as the downstream transport.
Hard exit gate
Govern exits only when:
- Approval status and required reviewers are recorded.
- Version and lineage metadata are valid and complete.
- The final quality report authorizes Govern exit.
- Handoff artifacts are published for downstream consumers.
Output artifacts
- Approved BRD release artifact.
- BRD-to-PRD handoff payload.
- Governance decision log with approval evidence.
- Supersession linkage record for replaced BRD versions.
Status taxonomy
Use the following status values for BRD lifecycle tracking:
draft: Actively authored or revised.
in-review: Under formal review and gate validation.
approved: Accepted for governed use.
superseded: Replaced by a newer approved BRD.
Quality rubric pointer
Apply the BRD quality rubric and payload contracts from BRD Quality Formats together with guidance in Requirements Definition. Treat rubric results as gate evidence for Define and Govern decisions. The BRD Quality Reviewer emits both standard findings and the consolidated quality report.
Supersession lineage rules
- A BRD can supersede one or more earlier BRDs when scope is merged.
- A BRD can be superseded by only one approved successor version.
- Every supersession event records
supersedes and superseded_by links.
- Supersession preserves historical artifacts for auditability.
PRD Lifecycle
The PRD Builder agent runs a seven-phase lifecycle. Each phase has its own section anchor below so the agent loads only the guidance for the active phase.
| Phase |
Section anchor |
Primary objective |
| Assess |
#prd-assess |
Determine whether enough context exists to create PRD files. |
| Discover |
#prd-discover |
Establish the PRD title, scope, and product goals. |
| Create |
#prd-create |
Generate the PRD file and state file once context is clear. |
| Build |
#prd-build |
Gather detailed requirements iteratively. |
| Integrate |
#prd-integrate |
Incorporate references, documents, and external materials. |
| Validate |
#prd-validate |
Ensure completeness and quality before approval. |
| Finalize |
#prd-finalize |
Deliver the complete, actionable PRD. |
PRD Assess {#prd-assess}
Activities
- Determine whether enough product context exists to create PRD artifacts.
- Identify the initiative, problem statement, and primary target users.
- Check for an upstream
BRD_TO_PRD_HANDOFF_V1 artifact path and ingest its coverage and waiver context when present.
- Check for an upstream feasibility-to-PRD handoff. Follow Feasibility-to-PRD Handoff to recognize it by
kind, verify required metadata, verdict field presence, and a readable workspace-relative study path. Treat feasibility as supplementary evidence and preserve approved BRD scope.
- For a new session, carry the handoff kind, path, ingest timestamp, verdict, and study revision identifier in the Assess output until Create writes the state file. When state already exists, update its feasibility-specific metadata object directly. Keep raw candidate content in the handoff artifact.
- Decide whether to gather more context or proceed to file creation.
Hard exit gate
Assess exits only when:
- A meaningful kebab-case PRD name can be derived.
- Problem framing and primary users are identified.
- Any available BRD handoff artifact has been read, its payload validated, and its coverage metrics recorded.
- Any available feasibility handoff is recognized by
kind, has readable workspace-relative paths, a valid verdict shape, and normalized metadata ready for Create or persisted in existing state.
Output artifacts
- Assess summary noting context sufficiency.
- Derived working title for the PRD.
- Ingested handoff context when a BRD handoff payload exists.
- Feasibility verdict, evidence summary, constraints, gaps, and normalized handoff metadata when a feasibility handoff exists. Negative verdicts create no candidate dispositions.
PRD Discover {#prd-discover}
Activities
- Ask focused questions to establish the PRD title, scope, and product goals.
- Explore the problem space using Product Discovery and MVP Framing.
- Capture target users, candidate success metrics, and explicit non-goals using Metrics Frameworks.
Hard exit gate
Discover exits only when:
- Title and scope are explicit.
- Primary users and candidate success metrics are named.
- In-scope and out-of-scope boundaries are recorded.
Output artifacts
- Discovery summary.
- Scope and non-goals statement.
- Candidate success metrics.
PRD Create {#prd-create}
Activities
- Generate the PRD file from prd-full.md and create the session state file once title and context are clear.
- Populate the skeleton with the established scope, users, and goals.
- Seed the iterative requirement and metric structure for Build.
- When Assess produced normalized feasibility metadata, write its fields atomically to the new state file as
feasibilityHandoff, carrying kind, path, ingestedAt, verdict, and studyRevisionId. State written before this contract may carry schemaVersion instead of kind; read it without error and rewrite the object to the current shape on the next feasibility metadata update. Do not persist raw candidate content.
Hard exit gate
Create exits only when:
- The PRD file and state file exist.
- The skeleton matches the canonical PRD structure.
- Initial scope and goals are seeded.
- Any normalized feasibility metadata from Assess is present in the newly created state before Build begins.
Output artifacts
- PRD draft skeleton.
- PRD session state file.
- Seeded scope and goals sections.
- Feasibility handoff metadata persisted when supplied.
PRD Build {#prd-build}
Activities
- Gather detailed functional and non-functional requirements iteratively.
- When
feasibilityHandoff is present, read candidate content from its workspace-relative path. Stop if ingestion was reported but metadata is absent or the path is unreadable.
- Give every forward-verdict feasibility candidate exactly one PRD-owned disposition:
accepted-fr, accepted-nfr, accepted-constraint, retained-gap, rejected, or deferred. Treat concern hints as advisory evidence only.
- Allocate final
FR-###, NFR-###, or CON-### identifiers only after authoring and accepting the PRD statement. Preserve source handoff ID, source candidate ID, evidence references, disposition, rationale, and resulting PRD ID in the Feasibility Candidate Disposition register.
- Preserve signed-off BRD authority. Record and explicitly resolve BRD and feasibility conflicts, or retain them as Build gaps when current evidence cannot support a responsible resolution.
- Author acceptance criteria using EARS Acceptance and the Connextra Template.
- Classify non-functional requirements with the NIST 800-160 NFR taxonomy and check stories against INVEST.
- Maintain author traceability across requirements, goals, and metrics using Traceability Naming, Traceability Matrix, and id-schema.md.
Hard exit gate
Build exits only when:
- Requirements are complete, testable, and traceable.
- Acceptance criteria follow EARS or Given-When-Then form.
- Non-functional requirements are categorized.
- Coverage meets the active thresholds or records a blocker.
- Every forward-verdict feasibility candidate has exactly one disposition row, every accepted row names its final PRD ID, and negative verdicts have no candidate rows.
Output artifacts
- Full PRD requirement set.
- Author-maintained traceability matrix.
- Acceptance criteria and NFR classifications.
- Feasibility Candidate Disposition register when a forward feasibility handoff exists.
PRD Integrate {#prd-integrate}
Activities
- Incorporate user-provided references, documents, and external materials.
- Reconcile incoming content with existing requirements and resolve conflicts.
- Link supporting evidence to requirements and metrics.
Hard exit gate
Integrate exits only when:
- Provided references are incorporated or explicitly deferred.
- Conflicts between sources are resolved.
- Supporting evidence is linked.
Output artifacts
- Updated PRD sections with integrated references.
- Reference and evidence linkage record.
PRD Validate {#prd-validate}
Activities
- Assess completeness and quality before approval.
- Run the PRD Quality Reviewer to emit
PRD_STANDARD_FINDINGS_V1 and PRD_QUALITY_REPORT_V1 per PRD Quality Formats.
- Review findings against the rubric and resolve or disposition gaps.
Hard exit gate
Validate exits only when:
- Quality findings and the consolidated report are generated.
- The report authorizes Validate exit via
gate_decisions.validate_exit.
- Coverage and quality thresholds are met or waived.
Output artifacts
- PRD quality findings and report payloads.
- Validate gate decision record.
PRD Finalize {#prd-finalize}
Activities
- Deliver the complete, actionable PRD.
- Resolve remaining findings and record version and approval metadata.
- Run a Finalize drift check and publish downstream artifacts.
Hard exit gate
Finalize exits only when:
- Approval status and required reviewers are recorded.
- The final quality report authorizes Finalize exit via
gate_decisions.finalize_exit.
- No unresolved blocking findings remain.
Output artifacts
- Approved PRD release artifact.
- Finalize decision log with approval evidence.
References
The skill bundles reference documents under references/, organized into three scopes: shared requirements-engineering knowledge in references/_shared/, BRD-specific knowledge in references/brd/, and PRD-specific knowledge in references/prd/. Load a reference body only when its phase activity requires it; each body links to its own sub-references (standards pointers, scoring sheets, and worked examples).
Shared references (references/_shared/)
- requirements-definition.md - Requirement categories, canonical statement form, acceptance-criteria formats, and quality dimensions.
- stakeholder-analysis.md - Mendelow Power/Interest grid and RACI accountability variants.
- process-modeling.md - Optional process, decision, and structural diagram guidance.
- prioritization-schemes.md - Required MoSCoW prioritization scheme.
- traceability-naming.md - Requirement, goal, and decision identifier routing plus traceability conventions.
- id-schema.md - Canonical prefix, digit, and adjacent identifier rules.
- traceability-matrix.md - Author-maintained FR-to-AC, FR-to-BG, and BR-to-FR matrix views.
- design-decisions.md - Registry for
DD-### design decision codes.
- quality-rubric.md - Operational status taxonomy (
RISK / CAUTION / COVERED / NOT_APPLICABLE) and the gate decision rule.
- standards-excerpts.md - Cite-only registry of third-party standards (ISO, IIBA, PMI, ISTQB) referenced by name.
BRD references (references/brd/)
- brd-quality-formats.md - Producer and consumer map for the BRD data contracts.
- requirements-quality-rubric.md - Combined per-requirement, per-NFR-category, and per-business-goal scoring sheets.
- handoff-payload-schema.md - BRD-author view of the BRD-to-PRD handoff payload.
PRD references (references/prd/)
- product-discovery.md - Problem-space exploration and discovery questioning for PRD scope.
- mvp-framing.md - MVP framing and scope-boundary guidance.
- metrics-frameworks.md - JTBD, HEART, and AARRR success-metric frameworks.
- ears-acceptance.md - EARS acceptance-criteria patterns for PRD requirements.
- nist-800-160-nfr.md - NIST 800-160 non-functional requirement taxonomy.
- invest.md - INVEST quality criteria for user stories.
- connextra-template.md - Connextra user-story template.
- prd-quality-formats.md - Producer and consumer map for the PRD data contracts.
- feasibility-to-prd-handoff.md - Consumer rules for feasibility Assess ingestion, Create persistence, Build disposition, BRD coexistence, and source traceability.
Templates
Templates under templates/ are selected by the document frontmatter and canonical document shape.
- brd-full.md - Canonical BRD template covering every section from Executive Summary through Sign-Off.
- brd-frontmatter-overlay.md - Schema for BRD YAML frontmatter, including
diagram_format, lineage, coverage thresholds, and requirement-prefix overrides.
- diagram-mermaid.md - Mermaid flowchart fragment; the default diagram format.
- diagram-ascii.md - ASCII process-diagram fragment for low-fidelity Discover-phase sketches.
- prd-full.md - Canonical PRD template covering every section from product overview through acceptance and metrics.
Data Contracts
Payload contracts govern quality assessment and downstream handoff for each document type. The quality and BRD handoff payloads carry a fixed schema_version; consumers fail fast on any other value, so those constants MUST NOT change. The feasibility-to-PRD handoff instead carries a plain kind marker, because its producer and consumer ship together and no version negotiation applies.
BRD data contracts:
| Contract |
schema_version |
Reference |
| Standard findings |
BRD_STANDARD_FINDINGS_V1 |
brd-standard-findings-v1.md |
| Quality report |
BRD_QUALITY_REPORT_V1 |
brd-quality-report-v1.md |
| BRD-to-PRD handoff |
BRD_TO_PRD_HANDOFF_V1 |
brd-to-prd-handoff-v1.md |
PRD data contracts:
| Contract |
schema_version |
Reference |
| Standard findings |
PRD_STANDARD_FINDINGS_V1 |
prd-standard-findings-v1.md |
| Quality report |
PRD_QUALITY_REPORT_V1 |
prd-quality-report-v1.md |
Upstream PRD input contracts:
| Contract |
Identifier |
Reference |
| BRD-to-PRD handoff |
schema_version: BRD_TO_PRD_HANDOFF_V1 |
brd-to-prd-handoff-v1.md |
| Feasibility-to-PRD handoff |
kind: feasibility-to-prd-handoff |
feasibility-to-prd-handoff.md |
The PRD lifecycle consumes both upstream contracts during Assess. BRD input supplies approved business context, coverage, and waivers. Feasibility input supplies a confirmed verdict, evidence, constraints, gaps, and candidate proposals for PRD Build. Neither contract bypasses PRD authoring.
Mandatory Load Directives
The BRD Builder and PRD Builder agents each enforce a phase → section load contract. Each phase MUST load its section of this skill before executing phase work, and MUST append the section anchor to state.phaseSkillsLoaded.
BRD Builder directives:
| Phase |
Section anchor |
Required phaseSkillsLoaded entry |
| Discover |
#discover |
brd-author#discover |
| Define |
#define |
brd-author#define |
| Govern |
#govern |
brd-author#govern |
PRD Builder directives:
| Phase |
Section anchor |
Required phaseSkillsLoaded entry |
| Assess |
#prd-assess |
prd-author#assess |
| Discover |
#prd-discover |
prd-author#discover |
| Create |
#prd-create |
prd-author#create |
| Build |
#prd-build |
prd-author#build |
| Integrate |
#prd-integrate |
prd-author#integrate |
| Validate |
#prd-validate |
prd-author#validate |
| Finalize |
#prd-finalize |
prd-author#finalize |
The agent loads sections via read_file against this skill file and records the entry in state.phaseSkillsLoaded before any phase work executes. Re-entering a previously loaded phase does not require reloading; the agent checks phaseSkillsLoaded first.
Source Attribution
The bundled reference bodies cite third-party standards and frameworks by name and clause only; no upstream prose is reproduced or paraphrased. Where a reference names a standard's characteristics or categories, the accompanying review criteria, anchors, and indicators are original Microsoft content under CC BY 4.0, not reproductions of the standard's definitions; the authoritative definitions live in the cited standards. The cite-only registry in standards-excerpts.md is the single place new standards citations are added. Standards referenced by name include ISO/IEC/IEEE 29148:2018, ISO/IEC 25010:2023, IIBA BABOK v3, PMI Business Analysis for Practitioners, the ISTQB Glossary, OMG BPMN / DMN / UML, the Cucumber Gherkin pattern, and MoSCoW prioritization, each the property of its respective rights holder.
License
This skill is original Microsoft content licensed under CC BY 4.0.
1---2name: requirements-author3description: Requirements authoring guide for BRD and PRD across Discover, Define, and Govern with canonical templates and handoff contracts4license: CC-BY-4.05---6
7# Requirements Author Skill
8
9## Overview
10
11This skill defines how to produce and evolve requirements documents across the project lifecycle for two document types: the Business Requirements Document (BRD) and the Product Requirements Document (PRD). Shared requirements-engineering knowledge lives in `references/_shared/`, while BRD-specific and PRD-specific knowledge live in `references/brd/` and `references/prd/` so each consuming agent loads only what its document needs.
12
13The canonical BRD template is [brd-full.md](templates/brd/brd-full.md) with its [brd-frontmatter-overlay.md](templates/brd/brd-frontmatter-overlay.md), and the canonical PRD template is [prd-full.md](templates/prd/prd-full.md). The BRD Builder dispatches into the BRD phase anchors (`#discover`, `#define`, `#govern`); the PRD Builder dispatches into the PRD phase anchors (`#prd-assess` through `#prd-finalize`).
14
15Use this skill with the references for the active document scope:
16
17Shared (`references/_shared/`):
18
19* [Requirements Definition](references/_shared/requirements-definition.md)
20* [Traceability Naming](references/_shared/traceability-naming.md)
21* [Traceability Matrix](references/_shared/traceability-matrix.md)
22
23BRD scope (`references/brd/`):
24
25* [BRD-to-PRD Handoff](references/brd/brd-to-prd-handoff-v1.md)
26* [Outcome Hypothesis-to-BRD Handoff](references/brd/outcome-hypothesis-to-brd-handoff-v1.md)
27* [BRD Quality Formats](references/brd/brd-quality-formats.md)
28
29PRD scope (`references/prd/`):
30
31* [Product Discovery](references/prd/product-discovery.md)
32* [EARS Acceptance](references/prd/ears-acceptance.md)
33* [PRD Quality Formats](references/prd/prd-quality-formats.md)
34
35## Handoff Transport Convention
36
37The producing workflow owns each handoff's canonical transport, and the
38consumer validates the complete payload regardless of transport. An outcome
39hypothesis returns `OUTCOME_HYPOTHESIS_TO_BRD_HANDOFF_V1` inline by default
40because it is a one-time seed derived from an already persisted source
41artifact; the user may instead supply a separately persisted payload path.
42BRD Govern persists `BRD_TO_PRD_HANDOFF_V1` and returns its path because that
43payload is a durable governance record consumed across agent sessions. This
44asymmetry is intentional and does not change payload authority or validation.
45
46## BRD Lifecycle
47
48| Phase | Primary objective | Entry condition | Exit condition |
49|----------|----------------------------------------------------------------------|--------------------------------------------------|----------------------------------------------------------------|
50| Discover | Establish business context, stakeholder scope, and problem framing | Request or initiative is in intake | Discover hard gate passes and artifacts are complete |
51| Define | Produce complete, testable, and traceable requirements content | Discover artifacts are approved for elaboration | Define hard gate passes with quality evidence |
52| Govern | Finalize, approve, and supersede BRD versions under lineage controls | Define package is approved for governance review | Govern hard gate passes and publication artifacts are recorded |
53
54## Discover {#discover}
55
56### Activities
57
58* Capture business context, drivers, imposed constraints, and expected outcomes.
59* Identify stakeholders, decision owners, and review participants.
60* Define scope boundaries, assumptions, and dependency surfaces.
61* Draft initial requirement candidates and map early traceability placeholders.
62* Validate and disposition an `OUTCOME_HYPOTHESIS_TO_BRD_HANDOFF_V1` payload when one is supplied.
63
64### Outcome hypothesis intake
65
66Use [Outcome Hypothesis-to-BRD Handoff](references/brd/outcome-hypothesis-to-brd-handoff-v1.md)
67as the canonical contract.
68
691. Accept the YAML inline or from a user-supplied artifact path.
702. Validate the complete payload before copying any value into the BRD.
713. Reject unsupported versions, incomplete seeds, placeholder values, and
72 invalid provenance. Do not reinterpret a rejected payload as unstructured
73 evidence.
744. Assign the next stable `BG-###` identifier.
755. Record distinct statement, KPI, baseline, target, timeframe, measurement
76 source, and owner values.
776. Mark each seed field `accepted` or `revised`. For a revision, preserve the
78 source value, current BRD value, and rationale.
797. Map assumptions and open questions into their canonical BRD sections.
80 Initialize each imported question to `Open` unless Discover explicitly
81 confirms another BRD-owned status. Every deferred question requires a
82 rationale for deferral and one target phase: `PRD`, `Implementation`,
83 `Operations`, or `Future-Release`.
848. Record the handoff ID, source path, source SHA-256, and KPI measurement
85 source in the BRD provenance receipt.
86
87Before Discover accepts the handoff, the validated payload is authoritative
88for imported seed values. Discover may explicitly accept or revise those
89values. After Discover exits, the BRD is authoritative. A later hypothesis
90change requires a new validated payload and explicit Discover re-entry.
91
92### Hard exit gate
93
94Discover exits only when:
95
96* Scope is bounded and stakeholder ownership is explicit.
97* Core assumptions and constraints are documented and reviewable.
98* Seed artifacts needed for Define are present and internally consistent.
99* Any outcome-hypothesis handoff has passed validation, every imported seed
100 field has an explicit disposition, and its provenance receipt is complete.
101
102### Output artifacts
103
104* Discover summary and scope statement.
105* Stakeholder inventory with role and ownership mapping.
106* Initial assumption and constraint register.
107* Seed requirement and traceability scaffold for Define.
108* Outcome-hypothesis receipt and field dispositions when a handoff was supplied.
109
110## Define {#define}
111
112### Activities
113
114* Author full BRD content using [brd-full.md](templates/brd/brd-full.md) and the canonical naming rules.
115* Refine business goals and requirement sets with clear acceptance intent.
116* Build and verify author-maintained traceability links across FR, AC, BG, and BR records.
117* Perform quality assessment using the BRD quality reporting contract.
118
119### Hard exit gate
120
121Define exits only when:
122
123* Requirement content is complete, unambiguous, and testable.
124* Traceability links satisfy the active ID schema and naming policy.
125* FR-to-AC coverage meets the active `fr_to_ac_coverage_threshold_pct` or has a recorded blocker.
126* Quality findings are generated and reviewed against the defined rubric.
127
128### Output artifacts
129
130* Full BRD draft package with structured sections.
131* Author-maintained traceability matrix aligned to naming and ID conventions.
132* BRD quality findings and consolidated quality report payloads.
133* Define gate decision record with reviewer notes.
134
135## Govern {#govern}
136
137### Activities
138
139* Prepare final BRD for approval with version metadata and lineage fields.
140* Bump approved BRDs from draft `0.x.y` versions to `1.0.0` or higher.
141* Resolve or disposition remaining quality findings.
142* Publish approved BRD outputs and downstream handoff payloads.
143* Maintain supersession chain when issuing replacement BRD versions.
144
145### Govern handoff production
146
147Before emitting `BRD_TO_PRD_HANDOFF_V1`, the BRD Builder applies the coverage and waiver validation rules in [BRD-to-PRD Handoff](references/brd/brd-to-prd-handoff-v1.md), including zero-FR coverage handling. It records the following values from the signed-off BRD and final quality review:
148
149* A lowercase SHA-256 hash of the exact BRD artifact bytes at signoff.
150* Counts for FR, NFR, BR, CON, AC, and BG identifiers using [id-schema.md](references/_shared/id-schema.md).
151* FR-to-AC and FR-to-BG coverage metrics from the author-maintained traceability matrix.
152* The final `BRD_QUALITY_REPORT_V1` reference, overall status, and Govern decision.
153* Signoff approvers, roles, decisions, approval timestamps, comments, and active waivers.
154* Waiver records for any accepted FR-to-AC threshold gap or FR-to-BG target gap.
155
156After validation succeeds, write the complete YAML payload to `.copilot-tracking/brd-sessions/<brd-name>.handoff.yml`, record that path in BRD session state, and return the path with a compact Govern summary. Do not rely on an inline chat payload as the downstream transport.
157
158### Hard exit gate
159
160Govern exits only when:
161
162* Approval status and required reviewers are recorded.
163* Version and lineage metadata are valid and complete.
164* The final quality report authorizes Govern exit.
165* Handoff artifacts are published for downstream consumers.
166
167### Output artifacts
168
169* Approved BRD release artifact.
170* BRD-to-PRD handoff payload.
171* Governance decision log with approval evidence.
172* Supersession linkage record for replaced BRD versions.
173
174## Status taxonomy
175
176Use the following status values for BRD lifecycle tracking:
177
178* `draft`: Actively authored or revised.
179* `in-review`: Under formal review and gate validation.
180* `approved`: Accepted for governed use.
181* `superseded`: Replaced by a newer approved BRD.
182
183## Quality rubric pointer
184
185Apply the BRD quality rubric and payload contracts from [BRD Quality Formats](references/brd/brd-quality-formats.md) together with guidance in [Requirements Definition](references/_shared/requirements-definition.md). Treat rubric results as gate evidence for Define and Govern decisions. The BRD Quality Reviewer emits both standard findings and the consolidated quality report.
186
187## Supersession lineage rules
188
189* A BRD can supersede one or more earlier BRDs when scope is merged.
190* A BRD can be superseded by only one approved successor version.
191* Every supersession event records `supersedes` and `superseded_by` links.
192* Supersession preserves historical artifacts for auditability.
193
194## PRD Lifecycle
195
196The PRD Builder agent runs a seven-phase lifecycle. Each phase has its own section anchor below so the agent loads only the guidance for the active phase.
197
198| Phase | Section anchor | Primary objective |
199|-----------|------------------|--------------------------------------------------------------|
200| Assess | `#prd-assess` | Determine whether enough context exists to create PRD files. |
201| Discover | `#prd-discover` | Establish the PRD title, scope, and product goals. |
202| Create | `#prd-create` | Generate the PRD file and state file once context is clear. |
203| Build | `#prd-build` | Gather detailed requirements iteratively. |
204| Integrate | `#prd-integrate` | Incorporate references, documents, and external materials. |
205| Validate | `#prd-validate` | Ensure completeness and quality before approval. |
206| Finalize | `#prd-finalize` | Deliver the complete, actionable PRD. |
207
208## PRD Assess {#prd-assess}
209
210### Activities
211
212* Determine whether enough product context exists to create PRD artifacts.
213* Identify the initiative, problem statement, and primary target users.
214* Check for an upstream `BRD_TO_PRD_HANDOFF_V1` artifact path and ingest its coverage and waiver context when present.
215* Check for an upstream feasibility-to-PRD handoff. Follow [Feasibility-to-PRD Handoff](references/prd/feasibility-to-prd-handoff.md) to recognize it by `kind`, verify required metadata, verdict field presence, and a readable workspace-relative study path. Treat feasibility as supplementary evidence and preserve approved BRD scope.
216* For a new session, carry the handoff kind, path, ingest timestamp, verdict, and study revision identifier in the Assess output until Create writes the state file. When state already exists, update its feasibility-specific metadata object directly. Keep raw candidate content in the handoff artifact.
217* Decide whether to gather more context or proceed to file creation.
218
219### Hard exit gate
220
221Assess exits only when:
222
223* A meaningful kebab-case PRD name can be derived.
224* Problem framing and primary users are identified.
225* Any available BRD handoff artifact has been read, its payload validated, and its coverage metrics recorded.
226* Any available feasibility handoff is recognized by `kind`, has readable workspace-relative paths, a valid verdict shape, and normalized metadata ready for Create or persisted in existing state.
227
228### Output artifacts
229
230* Assess summary noting context sufficiency.
231* Derived working title for the PRD.
232* Ingested handoff context when a BRD handoff payload exists.
233* Feasibility verdict, evidence summary, constraints, gaps, and normalized handoff metadata when a feasibility handoff exists. Negative verdicts create no candidate dispositions.
234
235## PRD Discover {#prd-discover}
236
237### Activities
238
239* Ask focused questions to establish the PRD title, scope, and product goals.
240* Explore the problem space using [Product Discovery](references/prd/product-discovery.md) and [MVP Framing](references/prd/mvp-framing.md).
241* Capture target users, candidate success metrics, and explicit non-goals using [Metrics Frameworks](references/prd/metrics-frameworks.md).
242
243### Hard exit gate
244
245Discover exits only when:
246
247* Title and scope are explicit.
248* Primary users and candidate success metrics are named.
249* In-scope and out-of-scope boundaries are recorded.
250
251### Output artifacts
252
253* Discovery summary.
254* Scope and non-goals statement.
255* Candidate success metrics.
256
257## PRD Create {#prd-create}
258
259### Activities
260
261* Generate the PRD file from [prd-full.md](templates/prd/prd-full.md) and create the session state file once title and context are clear.
262* Populate the skeleton with the established scope, users, and goals.
263* Seed the iterative requirement and metric structure for Build.
264* When Assess produced normalized feasibility metadata, write its fields atomically to the new state file as `feasibilityHandoff`, carrying `kind`, `path`, `ingestedAt`, `verdict`, and `studyRevisionId`. State written before this contract may carry `schemaVersion` instead of `kind`; read it without error and rewrite the object to the current shape on the next feasibility metadata update. Do not persist raw candidate content.
265
266### Hard exit gate
267
268Create exits only when:
269
270* The PRD file and state file exist.
271* The skeleton matches the canonical PRD structure.
272* Initial scope and goals are seeded.
273* Any normalized feasibility metadata from Assess is present in the newly created state before Build begins.
274
275### Output artifacts
276
277* PRD draft skeleton.
278* PRD session state file.
279* Seeded scope and goals sections.
280* Feasibility handoff metadata persisted when supplied.
281
282## PRD Build {#prd-build}
283
284### Activities
285
286* Gather detailed functional and non-functional requirements iteratively.
287* When `feasibilityHandoff` is present, read candidate content from its workspace-relative path. Stop if ingestion was reported but metadata is absent or the path is unreadable.
288* Give every forward-verdict feasibility candidate exactly one PRD-owned disposition: `accepted-fr`, `accepted-nfr`, `accepted-constraint`, `retained-gap`, `rejected`, or `deferred`. Treat concern hints as advisory evidence only.
289* Allocate final `FR-###`, `NFR-###`, or `CON-###` identifiers only after authoring and accepting the PRD statement. Preserve source handoff ID, source candidate ID, evidence references, disposition, rationale, and resulting PRD ID in the Feasibility Candidate Disposition register.
290* Preserve signed-off BRD authority. Record and explicitly resolve BRD and feasibility conflicts, or retain them as Build gaps when current evidence cannot support a responsible resolution.
291* Author acceptance criteria using [EARS Acceptance](references/prd/ears-acceptance.md) and the [Connextra Template](references/prd/connextra-template.md).
292* Classify non-functional requirements with the [NIST 800-160 NFR taxonomy](references/prd/nist-800-160-nfr.md) and check stories against [INVEST](references/prd/invest.md).
293* Maintain author traceability across requirements, goals, and metrics using [Traceability Naming](references/_shared/traceability-naming.md), [Traceability Matrix](references/_shared/traceability-matrix.md), and [id-schema.md](references/_shared/id-schema.md).
294
295### Hard exit gate
296
297Build exits only when:
298
299* Requirements are complete, testable, and traceable.
300* Acceptance criteria follow EARS or Given-When-Then form.
301* Non-functional requirements are categorized.
302* Coverage meets the active thresholds or records a blocker.
303* Every forward-verdict feasibility candidate has exactly one disposition row, every accepted row names its final PRD ID, and negative verdicts have no candidate rows.
304
305### Output artifacts
306
307* Full PRD requirement set.
308* Author-maintained traceability matrix.
309* Acceptance criteria and NFR classifications.
310* Feasibility Candidate Disposition register when a forward feasibility handoff exists.
311
312## PRD Integrate {#prd-integrate}
313
314### Activities
315
316* Incorporate user-provided references, documents, and external materials.
317* Reconcile incoming content with existing requirements and resolve conflicts.
318* Link supporting evidence to requirements and metrics.
319
320### Hard exit gate
321
322Integrate exits only when:
323
324* Provided references are incorporated or explicitly deferred.
325* Conflicts between sources are resolved.
326* Supporting evidence is linked.
327
328### Output artifacts
329
330* Updated PRD sections with integrated references.
331* Reference and evidence linkage record.
332
333## PRD Validate {#prd-validate}
334
335### Activities
336
337* Assess completeness and quality before approval.
338* Run the PRD Quality Reviewer to emit `PRD_STANDARD_FINDINGS_V1` and `PRD_QUALITY_REPORT_V1` per [PRD Quality Formats](references/prd/prd-quality-formats.md).
339* Review findings against the rubric and resolve or disposition gaps.
340
341### Hard exit gate
342
343Validate exits only when:
344
345* Quality findings and the consolidated report are generated.
346* The report authorizes Validate exit via `gate_decisions.validate_exit`.
347* Coverage and quality thresholds are met or waived.
348
349### Output artifacts
350
351* PRD quality findings and report payloads.
352* Validate gate decision record.
353
354## PRD Finalize {#prd-finalize}
355
356### Activities
357
358* Deliver the complete, actionable PRD.
359* Resolve remaining findings and record version and approval metadata.
360* Run a Finalize drift check and publish downstream artifacts.
361
362### Hard exit gate
363
364Finalize exits only when:
365
366* Approval status and required reviewers are recorded.
367* The final quality report authorizes Finalize exit via `gate_decisions.finalize_exit`.
368* No unresolved blocking findings remain.
369
370### Output artifacts
371
372* Approved PRD release artifact.
373* Finalize decision log with approval evidence.
374
375## References
376
377The skill bundles reference documents under `references/`, organized into three scopes: shared requirements-engineering knowledge in `references/_shared/`, BRD-specific knowledge in `references/brd/`, and PRD-specific knowledge in `references/prd/`. Load a reference body only when its phase activity requires it; each body links to its own sub-references (standards pointers, scoring sheets, and worked examples).
378
379### Shared references (`references/_shared/`)
380
381* [requirements-definition.md](references/_shared/requirements-definition.md) - Requirement categories, canonical statement form, acceptance-criteria formats, and quality dimensions.
382* [stakeholder-analysis.md](references/_shared/stakeholder-analysis.md) - Mendelow Power/Interest grid and RACI accountability variants.
383* [process-modeling.md](references/_shared/process-modeling.md) - Optional process, decision, and structural diagram guidance.
384* [prioritization-schemes.md](references/_shared/prioritization-schemes.md) - Required MoSCoW prioritization scheme.
385* [traceability-naming.md](references/_shared/traceability-naming.md) - Requirement, goal, and decision identifier routing plus traceability conventions.
386* [id-schema.md](references/_shared/id-schema.md) - Canonical prefix, digit, and adjacent identifier rules.
387* [traceability-matrix.md](references/_shared/traceability-matrix.md) - Author-maintained FR-to-AC, FR-to-BG, and BR-to-FR matrix views.
388* [design-decisions.md](references/_shared/design-decisions.md) - Registry for `DD-###` design decision codes.
389* [quality-rubric.md](references/_shared/quality-rubric.md) - Operational status taxonomy (`RISK` / `CAUTION` / `COVERED` / `NOT_APPLICABLE`) and the gate decision rule.
390* [standards-excerpts.md](references/_shared/standards-excerpts.md) - Cite-only registry of third-party standards (ISO, IIBA, PMI, ISTQB) referenced by name.
391
392### BRD references (`references/brd/`)
393
394* [brd-quality-formats.md](references/brd/brd-quality-formats.md) - Producer and consumer map for the BRD data contracts.
395* [requirements-quality-rubric.md](references/brd/requirements-quality-rubric.md) - Combined per-requirement, per-NFR-category, and per-business-goal scoring sheets.
396* [handoff-payload-schema.md](references/brd/handoff-payload-schema.md) - BRD-author view of the BRD-to-PRD handoff payload.
397
398### PRD references (`references/prd/`)
399
400* [product-discovery.md](references/prd/product-discovery.md) - Problem-space exploration and discovery questioning for PRD scope.
401* [mvp-framing.md](references/prd/mvp-framing.md) - MVP framing and scope-boundary guidance.
402* [metrics-frameworks.md](references/prd/metrics-frameworks.md) - JTBD, HEART, and AARRR success-metric frameworks.
403* [ears-acceptance.md](references/prd/ears-acceptance.md) - EARS acceptance-criteria patterns for PRD requirements.
404* [nist-800-160-nfr.md](references/prd/nist-800-160-nfr.md) - NIST 800-160 non-functional requirement taxonomy.
405* [invest.md](references/prd/invest.md) - INVEST quality criteria for user stories.
406* [connextra-template.md](references/prd/connextra-template.md) - Connextra user-story template.
407* [prd-quality-formats.md](references/prd/prd-quality-formats.md) - Producer and consumer map for the PRD data contracts.
408* [feasibility-to-prd-handoff.md](references/prd/feasibility-to-prd-handoff.md) - Consumer rules for feasibility Assess ingestion, Create persistence, Build disposition, BRD coexistence, and source traceability.
409
410## Templates
411
412Templates under `templates/` are selected by the document frontmatter and canonical document shape.
413
414* [brd-full.md](templates/brd/brd-full.md) - Canonical BRD template covering every section from Executive Summary through Sign-Off.
415* [brd-frontmatter-overlay.md](templates/brd/brd-frontmatter-overlay.md) - Schema for BRD YAML frontmatter, including `diagram_format`, lineage, coverage thresholds, and requirement-prefix overrides.
416* [diagram-mermaid.md](templates/brd/diagram-mermaid.md) - Mermaid flowchart fragment; the default diagram format.
417* [diagram-ascii.md](templates/brd/diagram-ascii.md) - ASCII process-diagram fragment for low-fidelity Discover-phase sketches.
418* [prd-full.md](templates/prd/prd-full.md) - Canonical PRD template covering every section from product overview through acceptance and metrics.
419
420## Data Contracts
421
422Payload contracts govern quality assessment and downstream handoff for each document type. The quality and BRD handoff payloads carry a fixed `schema_version`; consumers fail fast on any other value, so those constants MUST NOT change. The feasibility-to-PRD handoff instead carries a plain `kind` marker, because its producer and consumer ship together and no version negotiation applies.
423
424BRD data contracts:
425
426| Contract | `schema_version` | Reference |
427|--------------------|----------------------------|---------------------------------------------------------------------------|
428| Standard findings | `BRD_STANDARD_FINDINGS_V1` | [brd-standard-findings-v1.md](references/brd/brd-standard-findings-v1.md) |
429| Quality report | `BRD_QUALITY_REPORT_V1` | [brd-quality-report-v1.md](references/brd/brd-quality-report-v1.md) |
430| BRD-to-PRD handoff | `BRD_TO_PRD_HANDOFF_V1` | [brd-to-prd-handoff-v1.md](references/brd/brd-to-prd-handoff-v1.md) |
431
432PRD data contracts:
433
434| Contract | `schema_version` | Reference |
435|-------------------|----------------------------|---------------------------------------------------------------------------|
436| Standard findings | `PRD_STANDARD_FINDINGS_V1` | [prd-standard-findings-v1.md](references/prd/prd-standard-findings-v1.md) |
437| Quality report | `PRD_QUALITY_REPORT_V1` | [prd-quality-report-v1.md](references/prd/prd-quality-report-v1.md) |
438
439Upstream PRD input contracts:
440
441| Contract | Identifier | Reference |
442|----------------------------|-----------------------------------------|-------------------------------------------------------------------------------|
443| BRD-to-PRD handoff | `schema_version: BRD_TO_PRD_HANDOFF_V1` | [brd-to-prd-handoff-v1.md](references/brd/brd-to-prd-handoff-v1.md) |
444| Feasibility-to-PRD handoff | `kind: feasibility-to-prd-handoff` | [feasibility-to-prd-handoff.md](references/prd/feasibility-to-prd-handoff.md) |
445
446The PRD lifecycle consumes both upstream contracts during Assess. BRD input supplies approved business context, coverage, and waivers. Feasibility input supplies a confirmed verdict, evidence, constraints, gaps, and candidate proposals for PRD Build. Neither contract bypasses PRD authoring.
447
448## Mandatory Load Directives
449
450The BRD Builder and PRD Builder agents each enforce a phase → section load contract. Each phase MUST load its section of this skill before executing phase work, and MUST append the section anchor to `state.phaseSkillsLoaded`.
451
452BRD Builder directives:
453
454| Phase | Section anchor | Required `phaseSkillsLoaded` entry |
455|----------|----------------|------------------------------------|
456| Discover | `#discover` | `brd-author#discover` |
457| Define | `#define` | `brd-author#define` |
458| Govern | `#govern` | `brd-author#govern` |
459
460PRD Builder directives:
461
462| Phase | Section anchor | Required `phaseSkillsLoaded` entry |
463|-----------|------------------|------------------------------------|
464| Assess | `#prd-assess` | `prd-author#assess` |
465| Discover | `#prd-discover` | `prd-author#discover` |
466| Create | `#prd-create` | `prd-author#create` |
467| Build | `#prd-build` | `prd-author#build` |
468| Integrate | `#prd-integrate` | `prd-author#integrate` |
469| Validate | `#prd-validate` | `prd-author#validate` |
470| Finalize | `#prd-finalize` | `prd-author#finalize` |
471
472The agent loads sections via `read_file` against this skill file and records the entry in `state.phaseSkillsLoaded` before any phase work executes. Re-entering a previously loaded phase does not require reloading; the agent checks `phaseSkillsLoaded` first.
473
474## Source Attribution
475
476The bundled reference bodies cite third-party standards and frameworks by name and clause only; no upstream prose is reproduced or paraphrased. Where a reference names a standard's characteristics or categories, the accompanying review criteria, anchors, and indicators are original Microsoft content under CC BY 4.0, not reproductions of the standard's definitions; the authoritative definitions live in the cited standards. The cite-only registry in [standards-excerpts.md](references/_shared/standards-excerpts.md) is the single place new standards citations are added. Standards referenced by name include ISO/IEC/IEEE 29148:2018, ISO/IEC 25010:2023, IIBA BABOK v3, PMI Business Analysis for Practitioners, the ISTQB Glossary, OMG BPMN / DMN / UML, the Cucumber Gherkin pattern, and MoSCoW prioritization, each the property of its respective rights holder.
477
478## License
479
480This skill is original Microsoft content licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).