brainstorm-feature ยท diff

git:20260923.99eab43 to git:20260929.1450937

41 added, 49 removed. Audit A to A.

---
name: brainstorm-feature
- description: "Clarify a rough product or engineering idea into a BRD-lite brief (Why) with measurable business value."
+ description: "SDLC intake that turns a rough idea into an approved BRD-lite brief (Why lane) or delivery contract (Direction lane) at docs/brd/brd-[slug].md, sized by SNC tier."
metadata:
+ internal: true
triggers:
keywords:
- brainstorm feature
- workflow
---
# Brainstorm Feature Skill
> [!IMPORTANT]
- > Clarify a rough product or engineering idea into a BRD-lite brief (Why) with measurable business value.
+ > SDLC intake that turns a rough idea into an approved BRD-lite brief (Why lane) or delivery contract (Direction lane) at docs/brd/brd-[slug].md, sized by SNC tier.
Optional args: slug=<feature>, ticket=<id/url>, mode=interactive|autonomous|channel, channel=<id>, auto_continue=true|false, profile=business|hybrid|technical.
## Instructions
When the user asks to perform this workflow, execute the following steps:
- # Brainstorm Feature Workflow (BRD-lite / Why)
+ # Brainstorm Feature Workflow (BRD-lite Why / Direction Contract)
- Goal: Convert vague intent into a compact BA-owned BRD-lite brief before PM PRD planning or technical design.
+ Goal: Turn rough intent into an approved, evidence-backed brief sized to the task, then hand off to planning without reopening settled decisions.
## Steps
- 1. Gather intent:
- - Load baseline BRD section, `common-business-requirements`, and `common-operator-profile`.
- - Infer `operator_profile` (business | hybrid | technical) from request phrasing; never ask the operator to self-rate. Carry it in the Handoff Payload.
- - Draft a provisional brief before asking.
- - Capture objective, sponsor, validation owner, stakeholders, users, pain/opportunity, value hypothesis, SMART metric, constraints, glossary, non-goals, and delivery context.
- 2. Explore options:
- - List 3 viable approaches.
- - Capture benefit, cost, risk, and unknowns for each.
- - Include funding/priority rationale.
- - Mark one recommended approach.
- 3. Pressure-test:
- - Keep BRD solution-free; route functional behavior to PRD/SRS.
- - Check security, privacy, accessibility, performance, data, rollout risks, and measurable approval criteria.
- - Treat non-critical unknowns as assumptions.
- - Split stakeholder asks into candidate `REQ-*` placeholders and flag platform, market, permission, and edge-case gaps for PM.
- 4. Decide:
- - Ask only true blocking product decisions, max 3 at a time.
- - Include a recommended default and 2-3 options for each question.
- - Record accepted approach and rejected alternatives.
- - Draft defaults before blocking: sponsor/validation owner = the requesting operator; SMART metric drafted from the stated pain (mark `assumed`); scope fence drafted from the request with explicit non-goals.
- - For `operator_profile=business`, present all three drafted defaults as one confirm-with-default question round (fits the max-3 rule) instead of blocking outright.
- - Continue on non-critical assumptions; return BLOCKED only when the operator rejects the drafted defaults, or in autonomous/channel mode with no confirmation channel available.
- - Save to `docs/brd/brd-[slug].md` when writes are allowed and route to `plan-feature`.
+ 1. Frame:
+ - Load `common-decision-discipline`, `common-operator-profile`, `common-task-complexity-routing`; load `common-business-requirements` for the Why lane.
+ - Infer `operator_profile` (never ask). Score SNC: `tier=low` -> Quick (contract in chat, no file), `tier=medium` -> Standard, `tier=high` -> Deep. The tier only rises.
+ - Lane: `business` -> Why (solution-free BRD-lite); `technical` or unclear technical direction -> Direction (delivery contract); `hybrid` -> both, compact.
+ - Bug symptom without a root cause -> stop and route to `dev-fix`. Multi-subsystem idea -> list slices, brainstorm the first only.
+ 2. Ground:
+ - Read the smallest useful set of code, tests, docs, and existing `docs/brd|prd|srs` for the slug before any feasibility or AS-IS claim.
+ - Tag each claim in the Evidence ledger: `confirmed(<path>)`, `assumed`, or `unknown`.
+ - Draft a provisional brief, then write back "You said / I assumed" unless outcome, constraints, non-goals, and acceptance criteria are already stated.
+ 3. Decide:
+ - Ask only decisions that change the result, safety boundary, or public contract: max 3 per round, each with a recommended default and 2-3 options; never re-ask settled facts.
+ - Why lane options: build, buy, defer, do nothing. Direction lane: 0-3 technical option cards, only when a real choice exists.
+ - Recommend the smallest option that meets the contract; if a critical assumption is unresolved, the one cheapest to abandon.
+ - For `operator_profile=business`, draft owner, SMART metric, and scope fence as one confirm-with-default round.
+ 4. Approve and hand off:
+ - Self-review: placeholders, contradictions, scope, ambiguity.
+ - Interactive: end with "Reply ok or corrections"; ok sets `approval: approved(<operator>, <YYYY-MM-DD>)` for this brief only.
+ - Autonomous or channel mode with no confirmation channel: `approval: assumed-autonomous`; continue.
+ - Standard/Deep: save to `docs/brd/brd-[slug].md` when writes are allowed; mint the slug once. Quick: carry the contract and `approval` in the Handoff Payload.
+ - Route to `plan-feature`.
## Runtime Contract
- - Use for rough feature, ops, or process-change ideas before PRD.
- - Required inputs: rough intent plus any known owner, metric, or scope fence; missing items get drafted defaults, not an automatic block.
- - Return BLOCKED only when the operator rejects drafted defaults for owner, measurable value, or scope boundary, or autonomous mode has no confirmation channel.
+ - Use for rough feature, ops, process, or technical-direction ideas before a PRD exists for the slug.
+ - Required inputs: rough intent; missing owner, metric, or scope fence get drafted defaults, not a block.
+ - Return BLOCKED only when the operator rejects drafted defaults for owner, value, or scope.
## Handoff Payload
- - `slug`, `operator_profile`, executive summary, business objective, SMART metric, recommended approach, alternatives, constraints, non-goals, open questions, assumptions (flagged `assumed`), PM handoff checklist.
+ - `slug`, `operator_profile`, `lane`, `snc_tier`, `approval`, contract (outcome, constraints, non-goals, acceptance criteria), SMART metric (Why lane), recommended and rejected options, evidence ledger, assumptions (flagged `assumed`), open questions, PM handoff checklist.
- Outcome report with `feature_status=requirements_ready | blocked`, requirement trace seed, completed/missing evidence, decision needed, and recommended next workflow.
## Blocking Questions
- Ask max 3 at a time with a recommended default and 2-3 options.
## Output Template
```md
- # BRD-lite Brief: [Name]
- ## Executive Summary
- ## Business Objective
- ## SMART Success Metric
- ## Target Users
- ## Problem
- ## AS-IS To TO-BE
- ## Stakeholders And Validation Owner
- ## Success Metrics
- ## Cost-Benefit / Value Hypothesis
- ## Offshore Delivery Context
- ## Recommended Approach
- ## Alternatives Considered
- ## Stakeholders
- ## Constraints
- ## Non-Goals
- ## Glossary
- ## PM Handoff Checklist
+ # Brief: [Name]
+ lane: why | direction | both; snc_tier: low | medium | high; approval: pending | approved(<who>, <YYYY-MM-DD>) | assumed-autonomous
+ ## Contract
+ Outcome; Constraints; Non-Goals; Acceptance Criteria
+ ## Why
+ Business objective; SMART metric; users; problem; AS-IS to TO-BE; sponsor and validation owner
+ ## Options And Recommendation
+ ## Evidence
+ | Claim | Status |
+ ## Standard And Deep Sections
+ Stakeholders; cost-benefit; delivery context; glossary; PM handoff checklist
+ ## Approval
## Outcome Report
{schema_version: 1, run_id: "[run-id]", slug: "[slug]", workflow: brainstorm-feature, feature_status: requirements_ready, started_at: "[timestamp]", completed_at: "[timestamp]", requirement_trace: {brd_objectives: [], requirements: [], acceptance_criteria: [], srs: []}, completed_evidence: [], missing_evidence: [], decision_needed: [], recommended_next_workflow: plan-feature, cost: {source: unavailable}, agent: {identity: "[agent-identity]", model: "[model]"}}
## Open Questions
## Next Workflow
plan-feature
## Cost Report
Call `get_session_cost(workflow="brainstorm-feature")` before final handoff.
```