What this skill does
Generates a Business Requirements Document (BRD) or Functional Requirements Specification (FRS) skeleton populated from the user's input. It structures requirements with unique IDs, priority, source, and acceptance notes — making them traceable and reviewable.
When to use it
- User asks to "write a requirements document", "produce a BRD", or "create a functional spec".
- A project needs formal requirements sign-off before design or build begins.
- Requirements must be traceable to use cases, test cases, or regulatory obligations.
- User wants to consolidate user stories, use cases, and constraints into a single document.
Key concepts
BRD vs. FRS
|
BRD — Business Requirements Document |
FRS — Functional Requirements Specification |
| Audience |
Business stakeholders, project sponsors |
Solution architects, developers, testers |
| Focus |
What the business needs and why |
What the system must do |
| Language |
Business language |
Technical/functional language |
| Produced by |
Business analyst |
Functional/technical analyst |
| Input to |
FRS, project charter |
Design specs, test plans |
This skill produces both in a single document unless the user specifies one type only.
Requirement types
| Type |
Description |
Prefix |
| Business requirement |
High-level business need or goal |
BR- |
| Functional requirement |
Specific system behaviour |
FR- |
| Non-functional requirement |
Quality attributes (performance, security, etc.) |
NFR- |
| Constraint |
Fixed boundary (budget, regulation, tech stack) |
CON- |
| Assumption |
Stated truth that has not been verified |
ASM- |
Priority
Use MoSCoW: Must have / Should have / Could have / Won't have (this release).
Instructions
Establish document metadata. Project name, author, version, date, approvers.
Write the business context. Problem statement, business objectives, and scope. Draw from the user's input or the output of a write-epic or gap-analysis.
Identify stakeholders. Reference stakeholder-map output if available, or list roles.
Document business requirements (BR-). High-level needs expressed in business terms. Each BR maps to one or more FRs.
Document functional requirements (FR-). One behaviour per requirement. Each FR must be:
- Specific — no ambiguous language ("the system shall display the order total" not "the system shall handle orders well").
- Measurable — include a threshold where relevant ("within 2 seconds").
- Traceable — reference the BR it satisfies.
- Testable — a tester should be able to confirm it passes or fails.
Document non-functional requirements (NFR-). Cover relevant quality attributes: performance, scalability, security, availability, usability, maintainability, compliance.
Document constraints (CON-). Fixed boundaries the solution must operate within.
Document assumptions (ASM-). Statements assumed true; if proven false, requirements may change.
Add open issues. Requirements not yet agreed or information still needed.
Produce the document using the format below.
Output format
# Requirements Document: [Project / System name]
| Field | Detail |
| --- | --- |
| **Version** | 0.1 — Draft |
| **Date** | YYYY-MM-DD |
| **Author** | [name] |
| **Status** | Draft / In review / Approved |
| **Approvers** | [names or roles] |
---
## 1. Business context
### 1.1 Problem statement
[What problem is being solved and for whom.]
### 1.2 Business objectives
1. [Objective 1]
2. [Objective 2]
### 1.3 Scope
**In scope:** [What this project / system covers]
**Out of scope:** [What is explicitly excluded]
---
## 2. Stakeholders
| Stakeholder | Role | Interest |
| --- | --- | --- |
| [Name / role] | [Team] | [What they need from this project] |
---
## 3. Business requirements
| ID | Requirement | Priority | Source |
| --- | --- | --- | --- |
| BR-001 | [The business need in business language] | Must have | [Stakeholder / regulation] |
---
## 4. Functional requirements
| ID | Requirement | Priority | Traces to | Notes |
| --- | --- | --- | --- | --- |
| FR-001 | The system shall [behaviour] [condition] [threshold]. | Must have | BR-001 | [Clarification or constraint] |
| FR-002 | The system shall [behaviour]. | Should have | BR-001 | |
---
## 5. Non-functional requirements
| ID | Category | Requirement | Priority |
| --- | --- | --- | --- |
| NFR-001 | Performance | [The system shall respond to [action] within [N] seconds under [load].] | Must have |
| NFR-002 | Security | [The system shall [security behaviour].] | Must have |
| NFR-003 | Availability | [The system shall achieve [N]% uptime per [period].] | Should have |
---
## 6. Constraints
| ID | Constraint |
| --- | --- |
| CON-001 | [Fixed boundary — technology, budget, regulation, timeline] |
---
## 7. Assumptions
| ID | Assumption | Impact if false |
| --- | --- | --- |
| ASM-001 | [Stated truth not yet verified] | [What changes if this is wrong] |
---
## 8. Open issues
| ID | Issue | Owner | Due |
| --- | --- | --- | --- |
| OI-001 | [Unresolved requirement or missing information] | [Role] | [Date or TBD] |
---
## Appendix: Traceability matrix
| BR | FR(s) | Use case(s) | Test case(s) |
| --- | --- | --- | --- |
| BR-001 | FR-001, FR-002 | UC-001 | TC-001, TC-002 |
Examples
Example 1 — Customer portal BRD
Input: "Write a BRD for a self-service customer portal where customers can view invoices, raise support tickets, and update their contact details."
Expected output: Business context with three objectives (reduce support calls, improve data accuracy, increase customer satisfaction). BR-001 to BR-003 per capability. FR-001 to FR-009 specifying system behaviours. NFRs covering session timeout (security), page load time (performance), and WCAG 2.1 AA (accessibility).
Example 2 — Building from other skill outputs
Input: User provides output from write-epic and gap-analysis.
Expected output: Requirements document where BRs map to epic goals, FRs address the gaps, and constraints come from the epic's out-of-scope section. Traceability matrix pre-populated.
Notes
- Write FRs using "The system shall…" (mandatory) or "The system should…" (desirable). Avoid "must", "will", or "can" — they have ambiguous force.
- Every FR must be testable. If you cannot write a test that would fail if the FR is not met, the FR is not specific enough.
- Version the document. Requirements change — v0.1 Draft → v0.2 In review → v1.0 Approved.
- This skill integrates with
use-case (FRs and use cases should be mutually traceable), acceptance-test-plan (FRs drive test cases), and gap-analysis (gaps become requirements).
1---2name: requirements-document3description: Generates a Business Requirements Document (BRD) or Functional Requirements Specification (FRS) skeleton populated from the user's input. It structures requirements with unique IDs, priority, source, and acceptance notes — making them traceable and reviewable.4---56## What this skill does78Generates a Business Requirements Document (BRD) or Functional Requirements Specification (FRS) skeleton populated from the user's input. It structures requirements with unique IDs, priority, source, and acceptance notes — making them traceable and reviewable.910## When to use it1112- User asks to "write a requirements document", "produce a BRD", or "create a functional spec".13- A project needs formal requirements sign-off before design or build begins.14- Requirements must be traceable to use cases, test cases, or regulatory obligations.15- User wants to consolidate user stories, use cases, and constraints into a single document.1617## Key concepts1819### BRD vs. FRS2021| | BRD — Business Requirements Document | FRS — Functional Requirements Specification |22| --- | --- | --- |23| **Audience** | Business stakeholders, project sponsors | Solution architects, developers, testers |24| **Focus** | What the business needs and why | What the system must do |25| **Language** | Business language | Technical/functional language |26| **Produced by** | Business analyst | Functional/technical analyst |27| **Input to** | FRS, project charter | Design specs, test plans |2829This skill produces **both in a single document** unless the user specifies one type only.3031### Requirement types3233| Type | Description | Prefix |34| --- | --- | --- |35| Business requirement | High-level business need or goal | BR- |36| Functional requirement | Specific system behaviour | FR- |37| Non-functional requirement | Quality attributes (performance, security, etc.) | NFR- |38| Constraint | Fixed boundary (budget, regulation, tech stack) | CON- |39| Assumption | Stated truth that has not been verified | ASM- |4041### Priority4243Use MoSCoW: **Must have** / **Should have** / **Could have** / **Won't have (this release)**.4445## Instructions46471. **Establish document metadata.** Project name, author, version, date, approvers.48492. **Write the business context.** Problem statement, business objectives, and scope. Draw from the user's input or the output of a `write-epic` or `gap-analysis`.50513. **Identify stakeholders.** Reference `stakeholder-map` output if available, or list roles.52534. **Document business requirements (BR-).** High-level needs expressed in business terms. Each BR maps to one or more FRs.54555. **Document functional requirements (FR-).** One behaviour per requirement. Each FR must be:56 - **Specific** — no ambiguous language ("the system shall display the order total" not "the system shall handle orders well").57 - **Measurable** — include a threshold where relevant ("within 2 seconds").58 - **Traceable** — reference the BR it satisfies.59 - **Testable** — a tester should be able to confirm it passes or fails.60616. **Document non-functional requirements (NFR-).** Cover relevant quality attributes: performance, scalability, security, availability, usability, maintainability, compliance.62637. **Document constraints (CON-).** Fixed boundaries the solution must operate within.64658. **Document assumptions (ASM-).** Statements assumed true; if proven false, requirements may change.66679. **Add open issues.** Requirements not yet agreed or information still needed.686910. **Produce the document** using the format below.7071## Output format7273```markdown74# Requirements Document: [Project / System name]7576| Field | Detail |77| --- | --- |78| **Version** | 0.1 — Draft |79| **Date** | YYYY-MM-DD |80| **Author** | [name] |81| **Status** | Draft / In review / Approved |82| **Approvers** | [names or roles] |8384---8586## 1. Business context8788### 1.1 Problem statement8990[What problem is being solved and for whom.]9192### 1.2 Business objectives93941. [Objective 1]952. [Objective 2]9697### 1.3 Scope9899**In scope:** [What this project / system covers] 100**Out of scope:** [What is explicitly excluded]101102---103104## 2. Stakeholders105106| Stakeholder | Role | Interest |107| --- | --- | --- |108| [Name / role] | [Team] | [What they need from this project] |109110---111112## 3. Business requirements113114| ID | Requirement | Priority | Source |115| --- | --- | --- | --- |116| BR-001 | [The business need in business language] | Must have | [Stakeholder / regulation] |117118---119120## 4. Functional requirements121122| ID | Requirement | Priority | Traces to | Notes |123| --- | --- | --- | --- | --- |124| FR-001 | The system shall [behaviour] [condition] [threshold]. | Must have | BR-001 | [Clarification or constraint] |125| FR-002 | The system shall [behaviour]. | Should have | BR-001 | |126127---128129## 5. Non-functional requirements130131| ID | Category | Requirement | Priority |132| --- | --- | --- | --- |133| NFR-001 | Performance | [The system shall respond to [action] within [N] seconds under [load].] | Must have |134| NFR-002 | Security | [The system shall [security behaviour].] | Must have |135| NFR-003 | Availability | [The system shall achieve [N]% uptime per [period].] | Should have |136137---138139## 6. Constraints140141| ID | Constraint |142| --- | --- |143| CON-001 | [Fixed boundary — technology, budget, regulation, timeline] |144145---146147## 7. Assumptions148149| ID | Assumption | Impact if false |150| --- | --- | --- |151| ASM-001 | [Stated truth not yet verified] | [What changes if this is wrong] |152153---154155## 8. Open issues156157| ID | Issue | Owner | Due |158| --- | --- | --- | --- |159| OI-001 | [Unresolved requirement or missing information] | [Role] | [Date or TBD] |160161---162163## Appendix: Traceability matrix164165| BR | FR(s) | Use case(s) | Test case(s) |166| --- | --- | --- | --- |167| BR-001 | FR-001, FR-002 | UC-001 | TC-001, TC-002 |168```169170## Examples171172### Example 1 — Customer portal BRD173174**Input:** "Write a BRD for a self-service customer portal where customers can view invoices, raise support tickets, and update their contact details."175176**Expected output:** Business context with three objectives (reduce support calls, improve data accuracy, increase customer satisfaction). BR-001 to BR-003 per capability. FR-001 to FR-009 specifying system behaviours. NFRs covering session timeout (security), page load time (performance), and WCAG 2.1 AA (accessibility).177178### Example 2 — Building from other skill outputs179180**Input:** User provides output from `write-epic` and `gap-analysis`.181182**Expected output:** Requirements document where BRs map to epic goals, FRs address the gaps, and constraints come from the epic's out-of-scope section. Traceability matrix pre-populated.183184## Notes185186- Write FRs using "The system shall…" (mandatory) or "The system should…" (desirable). Avoid "must", "will", or "can" — they have ambiguous force.187- Every FR must be testable. If you cannot write a test that would fail if the FR is not met, the FR is not specific enough.188- Version the document. Requirements change — v0.1 Draft → v0.2 In review → v1.0 Approved.189- This skill integrates with `use-case` (FRs and use cases should be mutually traceable), `acceptance-test-plan` (FRs drive test cases), and `gap-analysis` (gaps become requirements).