com um clique
brainstorming
Turn ideas into fully formed designs through collaborative dialogue
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Turn ideas into fully formed designs through collaborative dialogue
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
Enable workflow discipline and behavioral expectations
Client-aware manual tiered-up adversarial advisor (claude subagent / codex exec), fired at the natural discretionary advisor points
Execute implementation plans wave-by-wave via MCP state management
Create detailed step-by-step implementation plans
Review completed work for quality, bugs, and standards
Read when about to propose "checkpoint / bank progress / resume fresh / find a safe stopping point" mid-execution, when about to ask the operator to run read-only queries the current stage blocks Bash for, or when the stop-hook rejects a message pointing at this skill. Answers "artifacts are durable — the correct move is a workflow surface, not a hand-back."
| name | brainstorming |
| description | Turn ideas into fully formed designs through collaborative dialogue |
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.
Before every direct workflow-transition MCP call:
get_resume_state and validate that its session identity is the
provider-native root session for the active task. Missing or mismatched
identity: fail closed; stop and report the mismatch.changed:true. If the
call errors or returns unexpected changed:false, stop and report it; do not
retry without a fresh get_resume_state read. No blind retry.The skill-state-bridge owns entry to debugging for the
systematic-debugging skill. Do not call mark_debugging directly.
| 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. |
| "Bash is blocked in this stage — the operator should run these read-only queries themselves" | Bash blocked in a design stage is a signal to open an investigation PM loop: tiny brainstorm → tiny plan → execute stage unblocks Bash → run your own queries → produce a findings note. Not a hand-off. See ironclaude:workflow-durability. |
Step 0: Look for existing design document
If the user references a specific design document by name, use the Read tool to open it directly. Otherwise, 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:
Run Mandatory Direct Transition Preflight for target brainstorming. Only after
a different-target result, call MCP
mcp__plugin_ironclaude_state-manager__mark_brainstorming once. 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
Run Mandatory Direct Transition Preflight for target design_ready. Only after
a different-target result, 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. Call it once.
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 prompt for next steps
DO NOT write plan content yourself. DO NOT output task lists, waves, or steps. DO NOT say "I'll write the plan now" and then produce plan prose. The Skill tool IS the plan-writing process. Invoking it is not optional. Anything other than invoking the Skill tool is NOT writing a plan.Display design completion status:
Design complete and saved to docs/plans/YYYY-MM-DD-<topic>-design.md.
Professional mode is ACTIVE - changes staged for your review.
SUGGESTED_NEXT_ACTION: Skill(skill="ironclaude:writing-plans", args="docs/plans/YYYY-MM-DD-<topic>-design.md")
Use AskUserQuestion tool: question: "Ready to create the implementation plan?" header: "Next step" options: "Yes, invoke writing-plans" | "No, stop here"
If user confirms: invoke Skill tool IMMEDIATELY with: skill: "ironclaude:writing-plans" args: "docs/plans/YYYY-MM-DD--design.md"
Do NOT produce any text output between the confirmation and the Skill invocation. If user declines: stop here. The design doc is saved; they can invoke /writing-plans later.
Skill tool { skill: "ironclaude:writing-plans", args: "<design-path>" } immediately. Never substitute prose, task lists, or step descriptions for the Skill invocation. Writing the plan means CALLING THE SKILL TOOL, not describing what you would write.