Generated banner for Requirements Author
Generated logo for Requirements Author

Requirements Author

MicrosoftOfficialPublished by Microsoft

  • Skill
  • Guidelines
  • Business and productivity
  • CC-BY-4.0
  • No issues found

From the author

Requirements authoring guide for BRD and PRD across Discover, Define, and Govern with canonical templates and handoff contracts
— the description by Microsoft

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The Requirements Author skill provides a structured methodology for managing the lifecycle of Business Requirements Documents (BRD) and Product Requirements Documents (PRD). It defines clear phases for discovery, definition, and governance, ensuring that requirements are testable, traceable, and ready for downstream implementation. The skill includes canonical templates, quality rubrics, and standardized handoff contracts to ensure consistency across project stages and agent sessions.

What it does

  • Provides canonical templates for BRD and PRD documentation.
  • Defines a multi-phase lifecycle for requirements from discovery to governance.
  • Establishes strict quality rubrics and atomicity checklists for acceptance criteria.
  • Manages traceability between business goals, functional requirements, and acceptance criteria.
  • Standardizes handoff payloads between BRD and PRD phases.
  • Maintains version lineage and governance records for approved requirements.

When to use it

  • When initiating a new project requiring formal business or product requirements.
  • When transitioning from business-level objectives to product-level specifications.
  • When you need to ensure requirements are testable, unambiguous, and traceable.
  • When establishing a governance process for document approval and version control.

Advantages

  • Ensures consistency in documentation structure and naming conventions.
  • Reduces ambiguity through rigorous atomicity and quality checks.
  • Facilitates seamless handoffs between business and product teams.
  • Provides clear audit trails through version lineage and governance logs.

Usage examples

“Initialize a new BRD for the upcoming project using the canonical template.”
The agent sets up the BRD structure, applying the required frontmatter and initializing the Discover phase.
“Validate the current set of acceptance criteria for the PRD.”
The agent applies the atomicity checklist to ensure each criterion is testable, atomic, and follows the defined quality rubric.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/microsoft/requirements-author/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip requirements-author.zip -d .agents/skills

Documentation by Microsoft

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/):

BRD scope (references/brd/):

PRD scope (references/prd/):

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

PhasePrimary objectiveEntry conditionExit condition
DiscoverEstablish business context, stakeholder scope, and problem framingRequest or initiative is in intakeDiscover hard gate passes and artifacts are complete
DefineProduce complete, testable, and traceable requirements contentDiscover artifacts are approved for elaborationDefine hard gate passes with quality evidence
GovernFinalize, approve, and supersede BRD versions under lineage controlsDefine package is approved for governance reviewGovern 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.

  1. Accept the YAML inline or from a user-supplied artifact path.

  2. Validate the complete payload before copying any value into the BRD.

  3. Reject unsupported versions, incomplete seeds, placeholder values, and invalid provenance. Do not reinterpret a rejected payload as unstructured evidence.

  4. Assign the next stable BG-### identifier.

  5. Record distinct statement, KPI, baseline, target, timeframe, measurement source, and owner values.

  6. Mark each seed field accepted or revised. For a revision, preserve the source value, current BRD value, and rationale.

  7. 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.

  8. 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.

PhaseSection anchorPrimary objective
Assess#prd-assessDetermine whether enough context exists to create PRD files.
Discover#prd-discoverEstablish the PRD title, scope, and product goals.
Create#prd-createGenerate the PRD file and state file once context is clear.
Build#prd-buildGather detailed requirements iteratively.
Integrate#prd-integrateIncorporate references, documents, and external materials.
Validate#prd-validateEnsure completeness and quality before approval.
Finalize#prd-finalizeDeliver 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/)
BRD references (references/brd/)
PRD references (references/prd/)

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:

Contractschema_versionReference
Standard findingsBRD_STANDARD_FINDINGS_V1brd-standard-findings-v1.md
Quality reportBRD_QUALITY_REPORT_V1brd-quality-report-v1.md
BRD-to-PRD handoffBRD_TO_PRD_HANDOFF_V1brd-to-prd-handoff-v1.md

PRD data contracts:

Contractschema_versionReference
Standard findingsPRD_STANDARD_FINDINGS_V1prd-standard-findings-v1.md
Quality reportPRD_QUALITY_REPORT_V1prd-quality-report-v1.md

Upstream PRD input contracts:

ContractIdentifierReference
BRD-to-PRD handoffschema_version: BRD_TO_PRD_HANDOFF_V1brd-to-prd-handoff-v1.md
Feasibility-to-PRD handoffkind: feasibility-to-prd-handofffeasibility-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:

PhaseSection anchorRequired phaseSkillsLoaded entry
Discover#discoverbrd-author#discover
Define#definebrd-author#define
Govern#governbrd-author#govern

PRD Builder directives:

PhaseSection anchorRequired phaseSkillsLoaded entry
Assess#prd-assessprd-author#assess
Discover#prd-discoverprd-author#discover
Create#prd-createprd-author#create
Build#prd-buildprd-author#build
Integrate#prd-integrateprd-author#integrate
Validate#prd-validateprd-author#validate
Finalize#prd-finalizeprd-author#finalize

The agent reads sections of this skill file and records the entry in state.phaseSkillsLoaded before any phase work executes. phaseSkillsLoaded is durable load history, not proof that the guidance is present in the current model context. Within one live context, re-entering a phase whose section was already read does not require reloading. After a cold start, resume, or context summarization, the agent reloads the current phase section even when its entry is recorded.

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.

Files

references/_shared/rpi-research-integration.md


description: 'Shared segmented RPI depth-point, invocation-state, authority, and Research contract for BRD and PRD authoring'

Requirements RPI Integration

Purpose

Use an RPI segment at a designated builder-phase depth point when Research, dependency-ordered planning, or interruption-safe drafting materially improves the active BRD or PRD work. Each segment runs as its own RPI task and returns evidence to the active builder. The builder remains responsible for conversation, document artifacts, state, requirement decisions, quality review, and every lifecycle gate.

Depth-Point Contract

Name depth points by builder phase rather than capability. One phase may offer more than one capability when each addresses a different demonstrated need.

Builder depth pointEligible capabilityDemonstrated needRPI does not establish
BRD Discoverrpi-researchA named external evidence gap affects a load-bearing assumption, constraint, stakeholder decision, or candidate metricUser need, stakeholder ownership, requirement approval, or Discover exit
BRD Definerpi-plan, then rpi-implementSubstantial authoring has dependencies, contested traceability, or material interruption riskBRD structure, content quality, approval, or Define exit
PRD Discoverrpi-researchA named external evidence gap affects a target-user assumption or candidate success metricDirect user evidence, product need, or Discover exit
PRD Buildrpi-research; rpi-plan, then rpi-implementA bounded current-fact gap affects content, or substantial authoring needs dependency and progress controlProduct authority, PRD structure, content quality, or Build exit

Keep simple or adequately evidenced work on the builder's direct path. No segment auto-activates. Before activation, tell the user:

  • The active builder phase and demonstrated gap or work need.

  • The proposed capability, purpose, expected artifact, and expected interaction cost.

  • What the segment will not establish and which builder gate remains authoritative.

  • The direct path available if the user adjusts, defers, rejects, or skips the segment.

Run each accepted capability activation as a distinct RPI task and invocation record. Use <document-slug>-<document-kind>-<phase>-<sequence> as the lower-kebab-case task slug, where sequence is a session-local, zero-padded monotonic number. Plan and Implement use different sequence values even when they serve the same builder phase. A revised or re-entered phase uses the next sequence.

RPI Researcher may isolate one bounded source-gathering lane when parallel or high-volume retrieval would crowd out the active rpi-research context. Its return is an unverified suggestion. The active Research phase reads every selected source and remains the sole owner of evidence IDs, findings, recommendations, decisions, and the primary Research artifact.

Activation Boundary

Activate Research only when all of these conditions hold:

  • One named market, regulatory, product, API, comparable-solution, or other external evidence gap affects a current BRD or PRD decision.

  • The missing evidence cannot be resolved from the current document, conversation, or already processed references.

  • The question can be bounded by audience, intended use, evidence criteria, source and date scope, non-goals, and constraints.

Do not activate Research for ordinary requirements elicitation, user confirmation, stakeholder ownership, or product discovery that requires direct user evidence. Adequate evidence skips Research.

Research Brief

Provide rpi-research with:

  • The named gap ID, topic, and BRD or PRD decision purpose.

  • The stakeholders, authors, approvers, and intended document use.

  • Stakeholder roles and register IDs instead of personal names when supplying stakeholder context to Research.

  • Explicit questions and evidence criteria.

  • Market, jurisdiction, audience, product-version, source, and date boundaries that apply, plus non-goals.

  • Regulatory, licensing, schedule, solution or product boundary, and user-confirmation constraints.

  • Relevant conversation, document, state, requirements, stakeholder, and reference evidence.

  • Requested outputs and an output mode of analysis, comparison, or caller-requested convergence.

Pass the builder session directory as the trusted alternate Research evidence root. Pass an evidence-path date only when the user or the brief explicitly supplies one; otherwise rpi-research uses the current date. Builder session directories are undated, so never derive the date from lastAccessed, disclaimerShownAt, or another access timestamp. The builder does not create a second research artifact.

Return and Authority

Read the completed primary research artifact before using any finding. Keep that artifact authoritative for research questions, evidence IDs, and Research disposition. The BRD or PRD remains authoritative for requirement wording and document decisions.

For every material finding used or considered by the builder:

  1. Record the Research artifact and traceability receipt in session state.

  2. Give the finding one document-owned disposition: incorporated, revised, rejected, deferred, or retained-assumption.

  3. Record affected document sections or stable requirement IDs and the disposition rationale.

  4. Preserve unresolved evidence as an open question or unvalidated assumption.

Blocked or Needs clarification Research cannot satisfy a lifecycle gate or support an evidence-dependent conclusion. Record the smallest unresolved gap and stop only the dependent work. If rpi-research or a required lookup capability is unavailable, do not replace it with training-data claims.

Research cannot approve a requirement, validate user need, grant signoff, override a signed-off BRD, issue a feasibility verdict, or choose a product decision reserved for the user or owning workflow.

For a returning Plan or Implement segment, read the canonical artifact before using its result. A Plan sequences authoring work and dependencies without replacing the BRD or PRD template. Implement tracks drafting against an approved same-phase Plan without issuing a content-quality verdict. Plan and Implement have separate invocation IDs and task slugs; the Implement entry identifies its accepted Plan entry through dependsOnInvocationId. The existing BRD or PRD Quality Reviewer remains the sole content-quality verdict owner.

Record the return disposition as pending, accepted, revised, rejected, deferred, or not-required. Use pending when a completed return requires a user answer that has not been given. Record the segment's gate relationship separately as supports, does-not-satisfy, or not-applicable. A segment supplies evidence to the builder but never owns the builder's gate verdict.

Invocation State Contract

Initialize rpiInvocations only when the first segmented activation is proposed. Preserve unknown state fields, existing researchReceipts, and prior invocations. Existing researchReceipts remain readable and continue to project into the document; do not delete, migrate, or duplicate them. Every new capability activation appends exactly one rpiInvocations entry, and later reconciliation updates that entry rather than appending another for the same invocation. A Research entry is the canonical receipt for a new Research activation.

The following field names and values are binding:

{
  "rpiInvocations": [
    {
      "invocationId": "discover-01",
      "phase": "discover",
      "capability": "rpi-research|rpi-plan|rpi-implement",
      "taskSlug": "claims-automation-brd-discover-01",
      "dependsOnInvocationId": null,
      "gapId": "stable-builder-gap-id",
      "questionIds": ["Q1"],
      "evidenceIds": ["C1"],
      "artifactPaths": {
        "research": "",
        "plan": "",
        "critique": "",
        "changes": ""
      },
      "segmentStatus": "proposed|running|completed|blocked|skipped|unresolved",
      "userDisposition": "pending|accepted|revised|rejected|deferred|not-required",
      "gateEffect": "supports|does-not-satisfy|not-applicable",
      "outcome": "human-readable result",
      "notEstablished": "",
      "findingDispositions": [
        {
          "evidenceIds": ["C1"],
          "affectedTargets": ["BRD or PRD section or requirement ID"],
          "disposition": "incorporated|revised|rejected|deferred|retained-assumption",
          "rationale": "document-owned reason"
        }
      ],
      "unresolvedItems": []
    }
  ]
}

Field rules:

  • invocationId is stable within one builder session and combines the phase with its sequence.

  • phase uses the owning builder's phase name rather than a capability name.

  • capability identifies the activated RPI entry point. A Plan's critique, when it runs, is recorded in artifactPaths.critique, not as another invocation.

  • taskSlug is unique to the activation and follows the depth-point slug convention.

  • dependsOnInvocationId is null unless this capability consumes another invocation. An Implement entry names the accepted same-phase Plan invocation it executes.

  • gapId is stable for the builder-owned gap or authoring need.

  • questionIds and evidenceIds contain the exact stable identifiers from a Research artifact. Use empty arrays for non-Research capabilities; never infer or renumber identifiers during reconciliation.

  • artifactPaths is capability-keyed. rpi-research may use the builder session directory as a trusted alternate root. Plan, Critique, Implement, Review, and Challenge retain their canonical .copilot-tracking roots; the builder stores pointers rather than relocating those artifacts.

  • segmentStatus records lifecycle state. completed records execution only and does not imply user acceptance or gate satisfaction.

  • userDisposition records the decision about returned work. A completed segment awaiting a required user answer uses pending with does-not-satisfy; resume at that answer without rerunning the completed segment. Update the same invocation after the answer while preserving its IDs, paths, outcome, limits, and prior decisions. Do not infer or automatically migrate an ambiguous historical value.

  • completed may pair with accepted, revised, rejected, deferred, or pending. It may pair with not-required only when the owning workflow already assigns that decision to the agent and records that no user disposition is required; this does not add a new approval gate to agent-owned work.

  • gateEffect records only the segment's own contribution to the owning phase gate, never whether that gate passed. Choose the value by segment outcome:

    • supports: a completed segment whose returned work is accepted or revised, or completed agent-owned work recorded as not-required that contributes to the gate. It contributes evidence toward the gate and never claims the gate passed; the builder's gate stays open until the builder decides it.

    • does-not-satisfy: a proposed or running segment; a blocked or unresolved segment; returned work that is rejected or deferred; or a completed return that is pending a required user answer.

    • not-applicable: a skipped segment only when the builder records adequate alternate evidence or no material gap, otherwise does-not-satisfy with the unresolved item preserved; or completed agent-owned work recorded as not-required that makes no gate contribution.

  • outcome is a concise result, not a copied artifact body.

  • notEstablished carries the segment's limits with the invocation.

  • findingDispositions retains the existing Research disposition shape so document projection remains stable. Use an empty array for non-Research capabilities.

  • unresolvedItems contains concise gap identifiers or questions, not duplicated evidence bodies.

Legacy Research Receipt Compatibility

Preserve unknown state fields and prior researchReceipts. Do not initialize or append this legacy array for a new Research activation; the rpiInvocations Research entry is its canonical receipt. When resuming an activation represented only by a legacy receipt, keep it readable and update that receipt in place rather than creating a duplicate invocation or receipt.

{
  "researchReceipts": [
    {
      "gapId": "stable-builder-gap-id",
      "artifactPath": ".copilot-tracking/research/YYYY-MM-DD/task-research.md",
      "researchDisposition": "executed|reused|satisfied-and-skipped",
      "questionIds": ["Q1"],
      "evidenceIds": ["C1"],
      "findingDispositions": [
        {
          "evidenceIds": ["C1"],
          "affectedTargets": ["BRD or PRD section or requirement ID"],
          "disposition": "incorporated|revised|rejected|deferred|retained-assumption",
          "rationale": "document-owned reason"
        }
      ],
      "unresolvedItems": []
    }
  ]
}

Field rules:

  • gapId is stable within one builder session.

  • artifactPath is the workspace-relative primary Research artifact path.

  • questionIds and evidenceIds preserve the Research artifact's identifiers without copying its prose.

  • findingDispositions contains one row for every material finding the builder considered.

  • affectedTargets uses document section names or stable requirement IDs when they exist.

  • unresolvedItems contains concise gap identifiers or questions, not duplicated evidence bodies.

Document Projection

Project the receipt into the BRD or PRD Research Finding Dispositions table. The document table is the human-readable decision record; state retains resumable pointers and machine-shaped fields.

Keep feasibility candidate dispositions separate. A feasibility handoff proposes requirement candidates through its own contract, while ordinary Research findings support or challenge document decisions.

Do not copy complete Research findings into BRD_TO_PRD_HANDOFF_V1. The handoff already binds the authoritative BRD by path and SHA-256. A new handoff version requires a demonstrated downstream consumer that cannot use the bound BRD and its Research disposition table.

License

This reference is original Microsoft content licensed under CC BY 4.0.

Requirements and compatibility

Written for: GitHub Copilot, Claude Code

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Claude Code frontmatter

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
Microsoft
Publisher
Microsoft (Official)
Source
microsoft/hve-core · .github/skills/project-planning/requirements-author · commit f425e94
Licence
Creative Commons Attribution 4.0 International (redistribution allowed)
  • LICENSE (written by AutoGineer)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Microsoft or Microsoft.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download requirements-author.zip