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-capture3plugin: exploration-cycle-plugin4description: >5 Captures and refines business requirements, including functional requirements,6 non-functional requirements, business rules, constraints, assumptions, and7 success measures. Produces structured BRD-style documents with [CONFIRMED] and8 [UNCONFIRMED] confidence markers. Trigger with "capture requirements",9 "generate a BRD", "document business rules", "list the constraints", or10 "create a requirements document".11allowed-tools: Bash, Read, Write12---1314# Business Requirements Capture1516Generate structured Business Requirements Documents from exploration session captures.1718## Usage1920```bash21python ./scripts/execute.py \22 --input <file> [<file2>...] \23 --mode <brd|rules|constraints> \24 --output <output_file.md>25```2627**Modes:**28- `brd` *(default)*: Full Business Requirements Document — functional/non-functional requirements, business rules, constraints, assumptions, success measures.29- `rules`: Business rules ledger only — decision logic, policy constraints, workflow conditions.30- `constraints`: Constraints and assumptions register only.3132**Flags:**33- `--input PATH [PATH ...]` : Session brief, problem framing, BRD draft, or prior captures34- `--output PATH` : Destination file (default: `exploration/captures/brd-draft.md`)35- `--mode MODE` : Output scope (default: `brd`)3637## Interactive Co-Authoring Workflow3839When invoked interactively, follow this 3-stage pattern. Do not dump a full document at once.4041### Stage 1: Context Gathering42Ask all three questions in a single message before reading or generating anything:43441. **Input:** Resolve input in this priority order — do not scan the filesystem before asking:45 - If the user passed a problem statement or context inline — use that as primary input (mark as `[UNCONFIRMED]` source)46 - If input files were named — read them after this question; note any that are missing47 - If neither exists — halt here and ask for input before proceeding48 *(Check `exploration/` only if no inline input and no files named.)*492. **Output scope:** Which mode fits your need?50 - `brd` — full Business Requirements Document (functional + non-functional requirements, business rules, constraints, assumptions, success measures)51 - `rules` — business rules ledger only (decision logic, policy constraints, workflow conditions)52 - `constraints` — constraints and assumptions register only533. **Emphasis:** Any specific area, stakeholder concern, or hard constraint that must be front and centre?5455After the user responds: read each input file they identify. Note any that are missing or incomplete.5657### Stage 2: Section-by-Section Refinement58Build iteratively — do not present a massive markdown dump.5960**[CONFIRMED] / [UNCONFIRMED] decision rule** (apply throughout this stage):61- Mark `[CONFIRMED]` only when: the user explicitly stated it, OR it appears clearly in an input file.62- Mark `[UNCONFIRMED]` when: you inferred it, extrapolated it, or the source is ambiguous.63- When in doubt, use `[UNCONFIRMED]` and surface it for human sign-off.64651. **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?"*662. **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.673. **Consolidate gaps:** Collect all `[UNCONFIRMED]` items and any `[NEEDS HUMAN INPUT]` markers into a single `## Consolidated Gaps` section at the end.6869### Stage 3: Reader Testing (Validation)70Once all sections are drafted:71721. **Select the first reader** using this heuristic — state your choice and one sentence of reasoning:73 - Technical constraints, data flows, system behavior → **engineer or tech lead**74 - Policy, compliance, approval gates → **PM or auditor**75 - Cost, timeline, stakeholder sign-off → **executive sponsor**76 - When multiple apply → pick the reader with the **most to lose from an ambiguity** in this specific document772. 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).783. Report: *"If [reader type] reads this, they'll ask: [Q1], [Q2], [Q3]. Should we answer these inline or add them to `## Consolidated Gaps`?"*794. Apply whatever the user decides.8081## Anti-Hallucination Rules8283- Do NOT invent requirements not present in the source captures.84- Apply [CONFIRMED]/[UNCONFIRMED] markers per the Stage 2 decision rule — do not skip marking.85- Do NOT make architectural decisions — capture only what was said or decided.86- Do NOT proceed without input — inline problem statements are valid input, but a BRD generated with neither files nor inline context is pure hallucination.8788<example>89Context: User has completed problem framing and wants a formal BRD.90user: "Generate a BRD from our session captures."91assistant: "I'll run `business-requirements-capture` in `brd` mode to scaffold a formal document from your captures."92</example>9394<example>95Context: User wants only the business rules extracted.96user: "Document the business rules we identified."97assistant: "I'll use `business-requirements-capture --mode rules` to extract a business rules ledger."98</example>99100<example>101Context: Pre-handoff review.102user: "List all constraints and assumptions before we hand off to engineering."103assistant: "I'll run `business-requirements-capture --mode constraints` to produce a constraints and assumptions register."104</example>