.github/skills/workflows-brainstorm/SKILL.md
Explore the WHY and WHAT of a feature through collaborative dialogue, producing a user story, architectural context, and design decisions that anchor all downstream phases
npx skillsauth add the-rabak/compound-engineering-plugin workflows-brainstormInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
[feature idea or problem to explore]
Note: The current year is 2026. Use this when dating brainstorm documents.
Brainstorming answers WHY we're building something and WHAT it is. It produces the lynchpin artifacts -- a problem narrative, user story, and architectural context -- that thread through every downstream phase (/workflows-plan -> /deepen-plan -> /workflows-work -> /workflows-review).
Without a clear WHY, plans decompose into disconnected tasks, execution agents lose sight of purpose, and reviews evaluate code in a vacuum.
Process knowledge: Load the brainstorming skill for detailed question techniques, approach exploration patterns, user story construction, and architectural context mapping.
<feature_description> #$ARGUMENTS </feature_description>
If the feature description above is empty, ask the user: "What would you like to explore? Please describe the feature, problem, or improvement you're thinking about."
Do not proceed until you have a feature description from the user.
Evaluate whether brainstorming is needed based on the feature description.
Clear requirements indicators:
If requirements are already clear:
Use AskUserQuestion tool to suggest: "Your requirements seem detailed enough to proceed directly to planning. Should I run /workflows-plan instead, or would you like to explore the idea further?"
Run a quick repo scan to understand existing patterns and system topology:
Focus on: similar features, established patterns, CLAUDE.md guidance, and system boundaries this feature would interact with.
Use the AskUserQuestion tool to ask questions one at a time.
This phase has two goals: understand the problem space (why this matters) and the user space (who needs this and how they experience the problem today).
Question progression (see brainstorming skill for detailed techniques):
Guidelines:
Exit condition: Continue until you can articulate the problem, the people, and the desired outcome clearly -- OR user says "proceed."
This is the orchestrator's job -- do not delegate this to a subagent.
After the collaborative dialogue, synthesize everything learned into two artifacts. Present them to the user for validation before proceeding.
Problem Narrative (2-4 sentences): State the problem clearly: who has it, what triggers it, what the impact is, and why now is the right time to solve it. This is the WHY that every downstream phase traces back to.
User Story (structured):
As a [persona with relevant context],
I need to [action/capability]
so that [desired outcome/value],
because currently [pain point or gap]
which causes [concrete negative impact].
The user story is NOT a template checkbox. It's the north star. If a plan phase can't trace back to this story, it shouldn't exist. If a review finding doesn't connect to this story, its priority should be reassessed.
Present both to the user with AskUserQuestion: "Here's my understanding of the problem and user story. Does this capture the core of what we're solving?"
Iterate until the user confirms. This is the most important step in the entire brainstorm.
Propose 2-3 concrete approaches based on research and conversation.
Critically: evaluate each approach against the problem narrative and user story, not in a vacuum.
For each approach, provide:
Lead with your recommendation and explain why in terms of the user story and success criteria. Apply YAGNI to implementation scope -- prefer simpler solutions -- but don't use YAGNI as an excuse to ignore understanding. You can understand broadly and build narrowly.
Use AskUserQuestion tool to ask which approach the user prefers.
This is the orchestrator's job -- do not delegate this to a subagent.
After the approach is chosen, construct a lightweight architectural context map. This is NOT implementation design (no file paths, no class names, no code). This is structural understanding -- where this feature lives in the system.
Architectural Context Map:
Output format: A concise prose description (not a diagram). Think of it as explaining to a new team member where this feature sits and what it touches. 5-10 sentences max.
Present to the user with AskUserQuestion: "Here's where I see this feature sitting in the system. Does this match your understanding?"
Iterate until confirmed. This context map flows into every execution agent's {{ARCHITECTURAL_CONTEXT}} and every reviewer's evaluation frame.
Write a brainstorm document to docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md.
Ensure docs/brainstorms/ directory exists before writing.
Document structure (mandatory sections for downstream handoff):
---
date: YYYY-MM-DD
topic: <kebab-case-topic>
status: complete
handoff:
problem_narrative: true
user_story: true
architectural_context: true
success_criteria: true
---
# <Topic Title>
## Problem Narrative
[The synthesized problem statement from Phase 1.3. WHY we're building this.
2-4 sentences: who has the problem, what triggers it, what the impact is.]
## User Story
[The structured user story from Phase 1.3. The north star for all downstream work.]
As a [persona],
I need to [action]
so that [outcome],
because currently [pain point]
which causes [impact].
## Success Criteria
[How we'll know this is working. Tied to the user story, not just technical correctness.]
- [Measurable outcome 1 -- linked to the user story's "so that"]
- [Measurable outcome 2]
- [Observable behavior that proves the problem is solved]
## Architectural Context
[The structural context map from Phase 2.5. WHERE this lives in the system.]
- **Lives in:** [service/module/layer]
- **Interacts with:** [neighboring systems/modules]
- **User entry point:** [UI/API/CLI/event]
- **Data:** [what data flows, where it lives]
- **Dependencies:** [what this depends on, what may depend on it]
## Chosen Approach
[Description of the selected approach and WHY it was chosen -- traced back to the
user story and problem narrative. Not just "it's simpler" but "it's simpler AND
it fully addresses the user's need because..."]
## Key Decisions
- [Decision 1]: [Rationale tied to problem/user story]
- [Decision 2]: [Rationale tied to problem/user story]
## Approaches Considered
[Brief summary of alternatives and why they were not chosen, relative to the
user story and success criteria.]
## Stakeholder Impact
[Who is affected by this change and how. Populated from Phase 1.2 dialogue.]
- **End users:** [How their experience changes]
- **Developers:** [How this affects the codebase, patterns, maintenance]
- **Operations:** [Deployment, monitoring, infrastructure impact]
- **Business:** [Revenue, cost, compliance, timeline impact]
## Open Questions
- [Any unresolved questions for the planning phase]
## Resolved Questions
- [Questions that were resolved during brainstorming, with answers]
IMPORTANT: Before proceeding to Phase 4, check if there are any Open Questions listed in the brainstorm document. If there are open questions, YOU MUST ask the user about each one using AskUserQuestion before offering to proceed to planning. Move resolved questions to the "Resolved Questions" section.
Validation: Check that all handoff frontmatter fields are true. If any section is empty or missing, go back and fill it. The downstream phases depend on this contract.
Use AskUserQuestion tool to present next steps:
Question: "Brainstorm captured with problem narrative, user story, architectural context, and design decisions. What would you like to do next?"
Options:
/workflows-plan (will auto-detect this brainstorm and use its lynchpin artifacts)If user selects "Ask more questions": Return to Phase 1.2 (Collaborative Dialogue) and continue probing deeper -- edge cases, constraints, preferences, or areas not yet explored. After new information emerges, re-synthesize the Problem Narrative and User Story (Phase 1.3) if they need updating. Continue until the user is satisfied, then return to Phase 4.
If user selects "Review and refine":
Load the document-review skill and apply it to the brainstorm document.
When document-review returns "Review complete", present next steps:
/workflows-plan with this document/workflows-plan [document-path]When complete, display:
Brainstorm complete!
Document: docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md
Problem: [One-sentence problem narrative]
User Story: As a [persona], I need to [action] so that [outcome]
Architecture: Lives in [module], interacts with [neighbors]
Key decisions:
- [Decision 1]
- [Decision 2]
Next: Run `/workflows-plan` when ready to implement.
The plan will use this brainstorm's user story and architectural context
as its foundation.
This brainstorm document is consumed by:
/workflows-plan -- Reads user story and architectural context to structure phases. Each plan phase must trace back to the user story. Architectural context informs task decomposition and dependency mapping./deepen-plan -- Uses problem narrative and success criteria to evaluate whether deepened tasks still serve the original intent./workflows-work -- Feeds architectural context into each execution agent's {{ARCHITECTURAL_CONTEXT}} block. Feeds user story into the orchestrator's task validation./workflows-review -- Uses problem narrative, user story, and success criteria as the frame for evaluating whether the implementation actually solves the stated problem.NEVER CODE! Just explore, understand, and document the WHY, WHAT, and WHERE.
tools
Package one plan execution packet into a compact ticket-local execution packet with parent refs, scope fences, feature-home ownership, and evidence commands. Use when converting plans into local tickets or when execution needs one ticket-sized context pack without the full plan.
tools
Package one plan execution packet into a compact ticket-local execution packet with parent refs, scope fences, feature-home ownership, and evidence commands. Use when converting plans into local tickets or when execution needs one ticket-sized context pack without the full plan.
testing
Run a deep adversarial review of plans and architecture before implementation. Use when validating strategy docs, contracts, roadmaps, and competitive positioning with scored findings and prioritized recommendations.
testing
Run a deep adversarial review of plans and architecture before implementation. Use when validating strategy docs, contracts, roadmaps, and competitive positioning with scored findings and prioritized recommendations.