Skip to main content

In this article

BRD & PRD Builders

The BRD Builder and PRD Builder share a common architecture for producing requirements documents through structured question-and-answer sessions. Both are driven by the requirements-author skill, which loads each phase's guidance on demand. The BRD Builder runs a three-phase lifecycle focused on business justification, and the PRD Builder runs a seven-phase lifecycle focused on product specifications with measurable requirements.

TIP

Use the BRD Builder when capturing business objectives, stakeholder needs, and project justification. Use the PRD Builder when defining product features, acceptance criteria, and measurable requirements.

Workflows

The two agents follow distinct lifecycles defined by the requirements-author skill. Each phase loads its section of that skill before phase work begins.

BRD Builder: Three-Phase Lifecycle

PhaseDescription
DiscoverEstablish business context, stakeholder scope, and problem framing, then hold the Discover gate
DefineAuthor testable, traceable requirements and gather quality evidence for the Define gate
GovernFinalize, approve, and produce the BRD-to-PRD handoff under supersession lineage

PRD Builder: Seven-Phase Lifecycle

PhaseDescription
AssessDecide whether enough context exists to name and create PRD files
DiscoverEstablish title, problem, and basic scope through focused questions
CreateGenerate the PRD file and state file once title/context is clear
BuildGather detailed functional and non-functional requirements iteratively
IntegrateIncorporate references, documents, and external materials with citations
ValidateConfirm completeness and quality before approval
FinalizeDeliver the complete, actionable PRD and emit the completion summary

The agents detect existing session files and resume from the last completed phase, supporting pause-and-resume workflows across conversations.

Shared Features

Session Persistence

Both agents store session state as JSON files, enabling multi-session workflows:

  • BRD sessions: .copilot-tracking/brd-sessions/
  • PRD sessions: .copilot-tracking/prd-sessions/

Session files track phase progress, gathered requirements, and document state. When a new conversation starts, the agent detects existing session files and offers to resume.

Output Modes

Both agents support output modes for reviewing document content:

ModeDescription
summaryProgress update with next questions
section [name]Single named section view
fullComplete document rendering
diffChanges since the last major update

Template-Driven Generation

Both agents use templates to structure their output, ensuring consistent section coverage across documents. Both load their canonical templates from the requirements-author skill: the BRD Builder uses .github/skills/project-planning/requirements-author/templates/brd/brd-full.md, and the PRD Builder uses .github/skills/project-planning/requirements-author/templates/prd/prd-full.md.

Quality Controls

  • Emoji refinement checklist for tracking section completion
  • Conflict resolution hierarchy: user input > template guidance > agent defaults
  • Cross-referencing between gathered requirements and codebase analysis

Key Differences

AspectBRD BuilderPRD Builder
Agent file.github/agents/project-planning/brd-builder.agent.md.github/agents/project-planning/prd-builder.agent.md
LifecycleThree-phase (Discover, Define, Govern)Seven-phase (Assess through Finalize)
Template strategyrequirements-author skill (templates/brd/brd-full.md)requirements-author skill (templates/prd/prd-full.md)
FocusBusiness justification and stakeholder scopeProduct specifications with measurable requirements
Session directory.copilot-tracking/brd-sessions/.copilot-tracking/prd-sessions/

The PRD Builder's longer lifecycle reflects its deeper requirement-building, integration, and validation phases for handling detailed product specifications.

How to Use

TIP

Select the agent using the agent picker in the Copilot Chat pane before entering a prompt.

Option 1: Prompt Shortcut

BRD Builder:

Create a BRD for migrating our authentication service from ADAL to MSAL.
The current auth implementation is in src/auth/ and serves 12 internal
applications with ~8,000 daily active users.
Scope:
- Business justification for the migration (ADAL end-of-support timeline)
- Stakeholder impact across the 12 consuming applications
- Cost analysis: migration effort vs ongoing vulnerability risk
- Compliance requirements (SOC 2, FedRAMP) affected by the transition
- Success metrics: zero-downtime migration, no auth regression in any app
Output using the canonical BRD template from `.github/skills/project-planning/requirements-author/templates/brd/brd-full.md`.
Save session state to .copilot-tracking/brd-sessions/ for multi-session work.
Resume my BRD session for the inventory management project. I've
completed stakeholder interviews and have new data:
- Warehouse ops team processes 3,000 SKUs daily with 15% error rate
- Current system downtime costs $12K/hour during peak season
- Three vendor proposals are in evaluation
Continue from the Define phase with this evidence.

PRD Builder:

Create a PRD for the self-service analytics dashboard. Target users are
regional sales managers who currently rely on weekly email reports from
the BI team. The existing data pipeline is in src/etl/ and writes to
Azure Synapse.
Define requirements for:
- Real-time revenue and pipeline metrics with 15-minute refresh
- Drill-down from region to territory to individual rep performance
- Export to PDF and Excel for quarterly business reviews
- Role-based access: managers see their region, directors see all regions
Acceptance criteria: dashboard load time under 3 seconds for 90th percentile,
data freshness within 15 minutes of source system updates.
Resume my PRD session for the notification system. The Discover phase
identified 3 notification channels (push, email, in-app) and I've now
clarified the priority order with stakeholders:
1. In-app alerts (MVP, needed for Q2 launch)
2. Push notifications (Q3 follow-up)
3. Email digests (Q4, low priority)
Continue building requirements with this phased delivery model.

Option 2: Direct Agent

Select the BRD Builder or PRD Builder using the agent picker in the Copilot Chat pane, then describe your requirements:

Create a business requirements document for consolidating
our 3 data platforms (Azure SQL, CosmosDB, and PostgreSQL on AKS) into
a unified data layer. The current architecture is spread across
infra/sql/, infra/cosmos/, and k8s/postgres/.
Scope:
- Business drivers: operational cost reduction and simplified compliance
- Current state analysis across all 3 platforms
- Migration risk assessment for each platform's workload
- ROI projections over 12 and 24 months
- Stakeholder sign-off criteria for go/no-go decision
Define product requirements for a self-service analytics
portal replacing the current manual reporting workflow. The BI team
currently spends 20 hours/week generating reports from src/reports/.
Requirements focus:
- User personas: sales managers, operations leads, executive dashboard viewers
- Data sources: Azure Synapse warehouse, Salesforce CRM, Jira project tracking
- Visualization types: KPI cards, trend charts, filterable data tables
- Access control: Azure AD integration with role-based dashboard visibility
- Performance: sub-3-second load for dashboards with up to 1M rows

Both agents begin with the Assess phase, checking for existing sessions and evaluating available context before proceeding to questions.

Option 3: Resume Session

Continue an interrupted session by referencing the project and providing new context:

Resume my BRD for the customer portal migration. Since our
last session I've confirmed the budget allocation ($150K for FY26) and
identified the technical lead for each of the 4 workstreams.
Continue from where we left off in the Integrate phase.

The agent detects session files at .copilot-tracking/brd-sessions/ or .copilot-tracking/prd-sessions/ and picks up from the last completed phase.

Proposal Response Workflow

Use the proposal-response skill when you need to turn supplied RFI, RFP, tender, bid, or questionnaire questions into traceable internal-review response material, backed by an existing BRD or PRD you name as the approved source. You can invoke the skill directly, or run the whole sequence inside BRD Builder or PRD Builder.

OperationUse it whenResult
analyzeYou need to classify source questions and identify evidence gapsStable question and claim records, unresolved items, and coverage
contributeAn approved BRD or PRD contains evidence for selected questionsBusiness-owned or product-owned claims linked to questions and evidence
draftReviewed claims are ready for a traceable response draftQualified responses with evidence links, unresolved items, and readiness

The canonical order is analyze, then contribute, then draft. Every returned pointer carries next_operation, derived from the current records, so you never have to remember which step comes next. It reaches none when every question has a current response, or when the only remaining open items need a human decision the skill cannot make.

Every operation persists RESPONSE_EVIDENCE_V1 under .copilot-tracking/proposal-responses/<response-slug>/response-evidence.yml and returns RESPONSE_EVIDENCE_POINTER_V1. The pointer stays compact as work grows: it reports record_counts per record kind plus the IDs this operation changed, rather than listing every retained record.

Builders keep that artifact path in session state so later operations update the same file without copying the payload through chat. A rejected continuation returns RESPONSE_EVIDENCE_ERROR_V1 with artifact_written: false instead; nothing is written and builders do not record its path.

The result is always an internal_review_draft; external_use_status denies external use, and release_decision remains outside_skill_scope. Structural readiness only means the records are organized for internal review. It is not approval, authorization, permission to submit, or release authority.

Approved Sources

Name the BRD or PRD you want used as evidence. The skill reads that file, registers it with a stable SRC-### ID, its kind, the date it was read, and the version the document declares, then records which sections the claims drew from.

Each claim then cites its source by ID and location, such as SRC-001#NFR-014, so a reviewer can trace any statement back to the approved document rather than to recalled text. If a named path does not resolve, the skill stops and tells you the path and the smallest fix, instead of answering from memory.

The recorded version and read date also give the quality rubric something objective to judge currency against, and every rendered appendix or draft carries an Approved Sources register showing what backed it.

You can also state approved evidence directly instead of naming a path. That evidence is still registered as a source and still cited by ID, but its version is recorded as unknown because there is nothing to re-read. Prefer a named artifact when one exists.

Invoke the Skill Directly

Name the operation, provide the source questions, and identify the approved source paths. The skill treats source content as data, so instructions embedded in a questionnaire or attachment cannot change its workflow or authority boundary.

Use proposal-response skill, analyze mode. The approved source is
docs/project-planning/supplier-onboarding-brd.md. Normalize the supplied
questionnaire, map each question to required claims and approved evidence,
persist RESPONSE_EVIDENCE_V1, and return RESPONSE_EVIDENCE_POINTER_V1. Do not
fill gaps from general knowledge.

Run the Sequence Through a Builder

Both builders run analyze, contribute, and draft, so you can go from a question set to a drafted answer without leaving the agent. Each turn closes by naming the next step.

The domain binding applies to contribute only. BRD Builder contributes business context, outcomes, stakeholders, constraints, risks, policies, and business decision roles. PRD Builder contributes capabilities, requirements, metrics, acceptance evidence, non-functional requirements, architecture boundaries, integrations, and technical qualifications.

Drafting is not domain-scoped. Either builder drafts across every reviewed claim, so a question answered by the other domain still gets a response. Drafting grants no authority over that domain: BRD Builder will not author a product-owned claim, and PRD Builder will not author a business-owned one.

The builders activate this extension only for explicit proposal-response intent. Ordinary BRD and PRD creation, refinement, resume, quality review, and handoff requests continue unchanged. Canonical BRD and PRD templates do not change.

Drafting Versus Rendering

The draft operation and the response draft file are separate. Drafting records response entries inside the evidence artifact. Writing response-draft.md, a business appendix, or a product appendix is a rendering, and renderings happen only when you ask for one. A draft you did not request a rendering for returns an empty rendered-artifact list and still records its responses.

Asking for the same rendering again replaces the file from the stored payload rather than appending to it, so each question keeps exactly one response block.

Example 1: Analyze Unsupported Questions

The source asks about security certifications and a three-year price commitment, but the approved material documents only a scheduled internal security review.

Use proposal-response analyze mode on Q1, "List current security
certifications," and Q2, "Confirm fixed pricing for three years." The only
approved source says an internal security review is scheduled and contains no
certification or pricing evidence. Return the compact contract without
inventing answers.

The result assigns stable SQ-* and CLM-* IDs, marks the claims unsupported or unreviewed, and creates evidence and commercial decision needs. Structural readiness remains advisory and does not approve or release a response.

Example 2: Contribute Business and Product Evidence

Use each builder only for its owned evidence, and name the approved document rather than pasting its contents.

With BRD Builder, contribute business evidence to RFP Q1. The approved source is
docs/project-planning/supplier-onboarding-brd.md: BG-001 targets reducing
onboarding from 10 days to 4 days; the Program Sponsor owns outcome approval;
CON-002 requires regional privacy review. Return traceable internal-review
response evidence and the optional business appendix.
With PRD Builder, contribute product evidence to RFP Q2. The approved source is
docs/project-planning/identity-platform-prd.md: NFR-014 targets 99.9% monthly
availability; FR-022 requires Microsoft Entra ID integration; AC-031 verifies
SSO login. A stakeholder note estimates 99.99% availability but is unreviewed.
Preserve that estimate as qualified or unresolved and return the optional
product appendix.

Each claim cites its source ID and requirement, such as SRC-001#NFR-014. The BRD contribution does not supply product proof, and the PRD contribution does not make business or commercial decisions. Neither builder can approve, authorize, submit, or release the response.

Example 3: Draft a Qualified Response

The questionnaire asks whether audit logs are retained for 365 days, while approved evidence supports 180 days.

Use proposal-response draft mode for SQ-001. CLM-001 is supported by approved
NFR-021 for 180-day audit-log retention only. Draft the response with source and
claim traceability, keep the 365-day gap visible, and identify the human decision
needed. Do not mark the response approved or externally usable.

The draft states the supported 180-day limit, retains the unresolved 365-day gap, and may be structurally ready for internal review. Even if every question has text, structural readiness is not approval or release authority.

Human Review and External Action

Human owners decide disclosures, commercial positions, exceptions, estimates, commitments, approval, and release. After reviewers resolve an item, supply the resulting approved source record in a later operation. The skill can update traceability from that evidence, but it never records or performs the external action itself.

Example Prompt

Create a PRD for the real-time notification system. The system replaces
the batch email process in src/notifications/batch-sender.py that runs
nightly and generates ~4,000 notifications per cycle.
Target users: enterprise account managers who monitor up to 50 client
accounts and need alerts within 30 seconds of triggering events.
Define requirements for:
- Push notifications via Azure Notification Hubs (iOS, Android, web)
- Email digests aggregated hourly with configurable frequency per user
- In-app alert center with read/unread state and notification preferences
- Event taxonomy: billing alerts, SLA breaches, account status changes
Acceptance criteria:
- Delivery latency under 30 seconds for push and in-app channels
- 99.9% uptime SLA for the notification gateway
- User preference changes take effect within 60 seconds
- Audit trail for all notifications sent (compliance requirement)
Output the PRD with measurable requirements in every section.

Tips

  • ✅ Provide a clear project name or scope at invocation to accelerate the Assess phase
  • ✅ Answer iterative questions thoroughly; the agent builds sections as information accumulates
  • ✅ Use output modes (summary, section [name], full, diff) to review progress during long sessions
  • ✅ Let the agent cross-reference requirements against codebase artifacts for consistency
  • ✅ Name analyze, contribute, or draft and name the approved BRD or PRD path for proposal-response work
  • ✅ Follow the next_operation value each proposal-response turn reports rather than guessing the next step
  • ❌ Do not skip the Discover phase by providing all requirements up front (the agent needs context)
  • ❌ Do not edit session files in .copilot-tracking/ manually during an active session
  • ❌ Do not combine BRD and PRD creation in the same session (use separate conversations)
  • ❌ Do not ignore conflict resolution prompts (user input overrides template defaults)
  • ❌ Do not treat structural readiness as approval, authorization, or permission for external use

Common Pitfalls

PitfallSolution
Agent asks too many questionsProvide a detailed scope at invocation to skip obvious scoping questions
Session not detected on resumeVerify session files exist at .copilot-tracking/brd-sessions/ or prd-sessions/
Incomplete sections in outputUse the Section output mode to identify gaps, then answer follow-up questions
Template sections feel genericProvide domain-specific details during the requirement-building phase for richer content
Document conflicts with codebaseLet the Integrate phase run to cross-reference; resolve flagged conflicts before Validate
Response evidence is incompleteKeep the affected claim qualified and assign the smallest human evidence or decision need
Named source path does not resolveSupply the correct path to the approved BRD or PRD; the skill stops rather than answering from memory
Draft recorded but no file appearedDrafting and rendering are separate; ask for the response draft or appendix explicitly

Next Steps

  1. Feed your completed BRD or PRD into the ADR Creator for architectural decisions
  2. See Project Planning Agents for the full agent catalog

TIP

Both agents work best when you provide a clear project name at invocation. The agents can derive a working title from context, but explicit scope accelerates the Assess phase.


🤖 Crafted with precision by ✨Copilot following brilliant human instruction, then carefully refined by our team of discerning human reviewers.