Business Requirements Capture
Generate structured Business Requirements Documents from exploration session captures.
Usage
python ./scripts/execute.py \
--input <file> [<file2>...] \
--mode <brd|rules|constraints> \
--output <output_file.md>
Modes:
brd (default): Full Business Requirements Document — functional/non-functional requirements, business rules, constraints, assumptions, success measures.
rules: Business rules ledger only — decision logic, policy constraints, workflow conditions.
constraints: Constraints and assumptions register only.
Flags:
--input PATH [PATH ...] : Session brief, problem framing, BRD draft, or prior captures
--output PATH : Destination file (default: exploration/captures/brd-draft.md)
--mode MODE : Output scope (default: brd)
Interactive Co-Authoring Workflow
When invoked interactively, follow this 3-stage pattern. Do not dump a full document at once.
Stage 1: Context Gathering
Ask all three questions in a single message before reading or generating anything:
- Input: Resolve input in this priority order — do not scan the filesystem before asking:
- If the user passed a problem statement or context inline — use that as primary input (mark as
[UNCONFIRMED] source)
- If input files were named — read them after this question; note any that are missing
- If neither exists — halt here and ask for input before proceeding
(Check
exploration/ only if no inline input and no files named.)
- Output scope: Which mode fits your need?
brd — full Business Requirements Document (functional + non-functional requirements, business rules, constraints, assumptions, success measures)
rules — business rules ledger only (decision logic, policy constraints, workflow conditions)
constraints — constraints and assumptions register only
- Emphasis: Any specific area, stakeholder concern, or hard constraint that must be front and centre?
After the user responds: read each input file they identify. Note any that are missing or incomplete.
Stage 2: Section-by-Section Refinement
Build iteratively — do not present a massive markdown dump.
[CONFIRMED] / [UNCONFIRMED] decision rule (apply throughout this stage):
- Mark
[CONFIRMED] only when: the user explicitly stated it, OR it appears clearly in an input file.
- Mark
[UNCONFIRMED] when: you inferred it, extrapolated it, or the source is ambiguous.
- When in doubt, use
[UNCONFIRMED] and surface it for human sign-off.
- Brainstorm & Curate: Based on the input files, present a numbered list of proposed requirements or rules (lightweight — title + one sentence each). Ask: "Which of these should we keep, cut, or merge? Anything missing?"
- Draft section by section: Present all approved items as drafts in a single message — one 2–4 sentence block per item, [CONFIRMED]/[UNCONFIRMED] marked. Ask: "Accurate? Flag any item to revise before we move on." Apply all edits in one pass, then proceed.
- Consolidate gaps: Collect all
[UNCONFIRMED] items and any [NEEDS HUMAN INPUT] markers into a single ## Consolidated Gaps section at the end.
Stage 3: Reader Testing (Validation)
Once all sections are drafted:
- Select the first reader using this heuristic — state your choice and one sentence of reasoning:
- Technical constraints, data flows, system behavior → engineer or tech lead
- Policy, compliance, approval gates → PM or auditor
- Cost, timeline, stakeholder sign-off → executive sponsor
- When multiple apply → pick the reader with the most to lose from an ambiguity in this specific document
- Predict exactly 3 questions that reader would ask after reading this document that it does not yet answer. Make questions specific to this document's content (not generic).
- Report: "If [reader type] reads this, they'll ask: [Q1], [Q2], [Q3]. Should we answer these inline or add them to
## Consolidated Gaps?"
- Apply whatever the user decides.
Anti-Hallucination Rules
- Do NOT invent requirements not present in the source captures.
- Apply [CONFIRMED]/[UNCONFIRMED] markers per the Stage 2 decision rule — do not skip marking.
- Do NOT make architectural decisions — capture only what was said or decided.
- Do NOT proceed without input — inline problem statements are valid input, but a BRD generated with neither files nor inline context is pure hallucination.
1---2name: business-requirements-capture3description: Captures and refines business requirements, including functional requirements, non-functional requirements, business rules, constraints, assumptions, and success measures. Produces structured BRD-style documents with [CONFIRMED] and [UNCONFIRMED] confidence markers. Trigger with "capture requirements", "generate a BRD", "document business rules", "list the constraints", or "create a requirements document".4---56# Business Requirements Capture78Generate structured Business Requirements Documents from exploration session captures.910## Usage1112```bash13python ./scripts/execute.py \14 --input <file> [<file2>...] \15 --mode <brd|rules|constraints> \16 --output <output_file.md>17```1819**Modes:**20- `brd` *(default)*: Full Business Requirements Document — functional/non-functional requirements, business rules, constraints, assumptions, success measures.21- `rules`: Business rules ledger only — decision logic, policy constraints, workflow conditions.22- `constraints`: Constraints and assumptions register only.2324**Flags:**25- `--input PATH [PATH ...]` : Session brief, problem framing, BRD draft, or prior captures26- `--output PATH` : Destination file (default: `exploration/captures/brd-draft.md`)27- `--mode MODE` : Output scope (default: `brd`)2829## Interactive Co-Authoring Workflow3031When invoked interactively, follow this 3-stage pattern. Do not dump a full document at once.3233### Stage 1: Context Gathering34Ask all three questions in a single message before reading or generating anything:35361. **Input:** Resolve input in this priority order — do not scan the filesystem before asking:37 - If the user passed a problem statement or context inline — use that as primary input (mark as `[UNCONFIRMED]` source)38 - If input files were named — read them after this question; note any that are missing39 - If neither exists — halt here and ask for input before proceeding40 *(Check `exploration/` only if no inline input and no files named.)*412. **Output scope:** Which mode fits your need?42 - `brd` — full Business Requirements Document (functional + non-functional requirements, business rules, constraints, assumptions, success measures)43 - `rules` — business rules ledger only (decision logic, policy constraints, workflow conditions)44 - `constraints` — constraints and assumptions register only453. **Emphasis:** Any specific area, stakeholder concern, or hard constraint that must be front and centre?4647After the user responds: read each input file they identify. Note any that are missing or incomplete.4849### Stage 2: Section-by-Section Refinement50Build iteratively — do not present a massive markdown dump.5152**[CONFIRMED] / [UNCONFIRMED] decision rule** (apply throughout this stage):53- Mark `[CONFIRMED]` only when: the user explicitly stated it, OR it appears clearly in an input file.54- Mark `[UNCONFIRMED]` when: you inferred it, extrapolated it, or the source is ambiguous.55- When in doubt, use `[UNCONFIRMED]` and surface it for human sign-off.56571. **Brainstorm & Curate:** Based on the input files, present a numbered list of proposed requirements or rules (lightweight — title + one sentence each). Ask: *"Which of these should we keep, cut, or merge? Anything missing?"*582. **Draft section by section:** Present all approved items as drafts in a **single message** — one 2–4 sentence block per item, [CONFIRMED]/[UNCONFIRMED] marked. Ask: *"Accurate? Flag any item to revise before we move on."* Apply all edits in one pass, then proceed.593. **Consolidate gaps:** Collect all `[UNCONFIRMED]` items and any `[NEEDS HUMAN INPUT]` markers into a single `## Consolidated Gaps` section at the end.6061### Stage 3: Reader Testing (Validation)62Once all sections are drafted:63641. **Select the first reader** using this heuristic — state your choice and one sentence of reasoning:65 - Technical constraints, data flows, system behavior → **engineer or tech lead**66 - Policy, compliance, approval gates → **PM or auditor**67 - Cost, timeline, stakeholder sign-off → **executive sponsor**68 - When multiple apply → pick the reader with the **most to lose from an ambiguity** in this specific document692. Predict exactly 3 questions that reader would ask after reading this document that it does not yet answer. Make questions specific to this document's content (not generic).703. Report: *"If [reader type] reads this, they'll ask: [Q1], [Q2], [Q3]. Should we answer these inline or add them to `## Consolidated Gaps`?"*714. Apply whatever the user decides.7273## Anti-Hallucination Rules7475- Do NOT invent requirements not present in the source captures.76- Apply [CONFIRMED]/[UNCONFIRMED] markers per the Stage 2 decision rule — do not skip marking.77- Do NOT make architectural decisions — capture only what was said or decided.78- Do NOT proceed without input — inline problem statements are valid input, but a BRD generated with neither files nor inline context is pure hallucination.7980<example>81Context: User has completed problem framing and wants a formal BRD.82user: "Generate a BRD from our session captures."83assistant: "I'll run `business-requirements-capture` in `brd` mode to scaffold a formal document from your captures."84</example>8586<example>87Context: User wants only the business rules extracted.88user: "Document the business rules we identified."89assistant: "I'll use `business-requirements-capture --mode rules` to extract a business rules ledger."90</example>9192<example>93Context: Pre-handoff review.94user: "List all constraints and assumptions before we hand off to engineering."95assistant: "I'll run `business-requirements-capture --mode constraints` to produce a constraints and assumptions register."96</example>