From ironclaude
Turn ideas into fully formed designs through collaborative dialogue
How this skill is triggered — by the user, by Claude, or both
Slash command
/ironclaude:brainstormingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Turn vague ideas into fully-formed designs through systematic collaborative dialogue. This skill guides you through understanding the problem, exploring approaches, and creating a comprehensive design document before any implementation.
Turn vague ideas into fully-formed designs through systematic collaborative dialogue. This skill guides you through understanding the problem, exploring approaches, and creating a comprehensive design document before any implementation.
Whenever soliciting user input — choices, confirmations, or selections — ALWAYS use the AskUserQuestion tool. NEVER ask via prose. Follow the format in .claude/rules/ask-user-question-format.md: Re-ground context, Predict, Options. This produces structured UI and enforces one-question-at-a-time discipline.
| Rationalization | Why it's wrong |
|---|---|
| "This is too simple to brainstorm" | Simple changes break. Every v1.0.x bug came from "simple" changes. |
| "I already know the answer" | Verify with evidence. Confidence is not correctness. |
| "Let me just make this quick fix" | Quick fixes become tech debt. The workflow exists for a reason. |
| "The user said to skip brainstorming" | The user set up professional mode. The workflow is non-negotiable. |
| "I'll brainstorm in my head and skip to planning" | The design doc IS the brainstorm output. No doc = no brainstorm. |
Step 0: Look for existing design document
If the user references an existing design or you find a recent design document:
Use the Glob tool with pattern docs/plans/*-design.md to find design documents.
If a relevant design exists and the user wants to proceed with it:
If no existing design or user wants a new one, proceed with Phase 1.
Announce professional mode status:
Using brainstorming skill. Professional mode is ACTIVE - architect mode enforced (no code changes).
Parse --scope from skill arguments. Valid values: hold, selective, expansion, reduction. Default: selective if not provided.
Display:
Scope mode: [mode] — [description]
Where descriptions are:
hold — Scope fixed. Maximum rigor within it.selective — Hold baseline, surface cherry-pick opportunities.expansion — Explore the 10x version alongside as-stated.reduction — Minimum viable version. Strip everything else.Before proceeding with any brainstorming:
This is REQUIRED, not optional. Do not skip.
If the search agent fails, use AskUserQuestion tool:
Search docs/plans/ for existing designs related to the topic:
Use the Glob tool with pattern docs/plans/*-design.md to find design documents.
For each potentially relevant design:
Do NOT skip this check. Do NOT assume user wants a new design.
Step 1: Check project context
Examine current state:
Does this brainstorm involve a bug, crash, error, unexpected behavior, or unclear existing behavior?
To invoke debugging:
skill="ironclaude:systematic-debugging"After debugging completes, resume brainstorming:
Before continuing, call MCP mcp__plugin_ironclaude_state-manager__mark_brainstorming to transition workflow_stage back to brainstorming. If it fails (wrong stage), report the error to the user before proceeding.
If debugging skill fails to invoke: Use AskUserQuestion tool (do NOT silently skip):
Step 2: Ask clarifying questions
Ask ONE question at a time:
Format: ALWAYS use the AskUserQuestion tool for questions with defined options. For genuinely open-ended questions (no predefined choices), plain text is acceptable.
Example (prediction + AskUserQuestion):
**My prediction:** You'll say B because the user mentioned wanting to "add" something new.
[Use AskUserQuestion tool with:]
- question: "What is the primary goal of this feature?"
- header: "Goal"
- options: "Improve performance" | "Add new functionality" | "Fix existing bugs" | "Refactor architecture"
Important: Before EVERY question, state your prediction with reasoning: "My prediction: You'll say X because..." NEVER ask multiple questions in one message. Wait for answer, then ask next question.
Continue until you have clear understanding of:
Step 3: Propose 2-3 approaches
Before presenting approaches to the user, internally validate each against COA criteria:
Drop or rework any approach that fails these criteria. The user should only see validated options. If you can only find one viable approach after validation, present it as a recommendation with rationale for why alternatives were not viable.
Present different ways to solve the problem:
Example (prediction + approaches):
I recommend Approach B (Event-driven with queue) because it's more scalable and handles failures better.
Approach A: Direct synchronous calls
+ Simple implementation
+ Easy to debug
- Tight coupling
- No failure handling
Approach B: Event-driven with queue (Recommended)
+ Loose coupling
+ Handles failures gracefully
+ Scales horizontally
- More complex setup
- Eventual consistency
Approach C: Hybrid with caching
+ Fast for common cases
+ Simpler than full event-driven
- Cache invalidation complexity
- Still has tight coupling
**My prediction:** You'll say B because you mentioned scalability as a priority.
Which approach fits your needs?
REQUIRED for every approach presentation: For each approach, you MUST include:
Do not present approaches without this analysis. The user should never have to ask "how do these align with my guidance?" — that analysis must be proactive.
Scope mode adjustments to Step 3:
Step 4: Apply YAGNI ruthlessly
For chosen approach, identify and remove:
Ask: "Do we need X for the first version?" for each questionable feature.
Scope mode adjustments to Step 4:
Step 5: Present design in sections
Break design into ~200-300 word sections:
After EACH section, predict and ask:
**My prediction:** You'll say yes because [reasoning based on what was discussed].
Does this section look right so far?
Wait for confirmation before continuing to next section.
Step 6: Handle feedback
If user says something doesn't look right:
Be willing to go back and revise ANY section.
Step 7: Write design document
Save complete design to docs/plans/YYYY-MM-DD-<topic>-design.md:
# <Feature Name> Design
> **Created:** YYYY-MM-DD
> **Status:** Design Complete
## Summary
[1-2 paragraphs describing what this is and why]
## Architecture
[Architecture overview with approach chosen]
## Components
[Detailed component breakdown]
## Data Flow
[How data moves through the system]
## Error Handling
[How errors are handled]
## Testing Strategy
[How this will be tested]
## Implementation Notes
[Any important notes for implementation]
Step 8: Stage design document
Run:
git add docs/plans/YYYY-MM-DD-<topic>-design.md
Step 8.5: Signal design complete
Call MCP mcp__plugin_ironclaude_state-manager__mark_design_ready with the file parameter set to the design document path (e.g., docs/plans/YYYY-MM-DD-topic-design.md) to transition the session to design_ready and auto-register the design.
If mcp__plugin_ironclaude_state-manager__mark_design_ready returns an error (wrong stage), display the error to the user. Do NOT proceed to Step 9 until it succeeds.
Step 9: Announce completion and next steps
Display:
Design complete and saved to docs/plans/YYYY-MM-DD-<topic>-design.md.
Professional mode is ACTIVE - changes staged for your review.
Ready to create an implementation plan?
[If yes: /writing-plans docs/plans/YYYY-MM-DD-<topic>-design.md]
Wait for user response. If they want to proceed, remind them of the command:
To create the implementation plan, use:
/writing-plans docs/plans/YYYY-MM-DD-<topic>-design.md
npx claudepluginhub robertphyatt/ironclaude --plugin ironclaudeStructured brainstorming session that turns raw ideas into validated designs before implementation, one question at a time.
Refines rough ideas into fully-formed designs through collaborative questioning, alternative exploration, and incremental validation before writing code or plans.
Guides a disciplined Socratic brainstorming loop before any creative or implementation work: clarifying questions, pushback, trade-off analysis, design doc, user approval, then handoff to implementation.