From flowstate
Use before any creative work — features, components, changes, or modifications. Guides structured design through collaborative dialogue before implementation. Triggers: "brainstorm", "design", "think through", "explore approaches", ambiguous requests, or requests with multiple valid interpretations.
npx claudepluginhub c-reichert/flowstate --plugin flowstateThis skill uses the workspace's default tool permissions.
Turn rough ideas into validated designs through guided dialogue. Prevent premature implementation.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Turn rough ideas into validated designs through guided dialogue. Prevent premature implementation.
Do NOT invoke any implementation skill, write any code, scaffold any project, or take any implementation action until you have presented a design and the user has approved it. This applies to EVERY project regardless of perceived simplicity.Every project goes through this process. A todo list, a single-function utility, a config change — all of them. "Simple" projects are where unexamined assumptions cause the most wasted work. The design can be short (a few sentences for truly simple projects), but you MUST present it and get approval before any implementation begins.
Create a task for each item and complete them in order:
docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md and commitdigraph brainstorming {
rankdir=TB;
node [shape=box, style=rounded];
assess [label="Phase 0: Assess Clarity"];
skip [label="Skip to /workflow:write-plan" shape=doublecircle];
research [label="Phase 1: Repo Research\n(Sonnet subagent)"];
dialogue [label="Phase 2: Collaborative Dialogue\n(one question at a time)"];
approaches [label="Phase 3: Propose Approaches"];
design [label="Phase 4: Present Design"];
resolve [label="Phase 5: Resolve Open Questions\n(HARD GATE)"];
save [label="Phase 6: Save Design Doc"];
transition [label="Phase 7: Transition"];
plan [label="/workflow:write-plan" shape=doublecircle];
refine [label="Refine design" shape=doublecircle];
more [label="Ask more questions" shape=doublecircle];
done [label="Done for now" shape=doublecircle];
assess -> skip [label="clear"];
assess -> research [label="needs brainstorm"];
research -> dialogue;
dialogue -> approaches [label="idea clear or\nuser says proceed"];
approaches -> design [label="user selects approach"];
design -> design [label="revise section"];
design -> resolve [label="approved"];
resolve -> resolve [label="questions remain"];
resolve -> save [label="all resolved"];
save -> transition;
transition -> plan [label="1. Plan"];
transition -> refine [label="2. Refine"];
transition -> more [label="3. Ask more"];
transition -> done [label="4. Done"];
}
Before asking questions, assess whether full brainstorming is needed.
Requirements are already clear when:
Brainstorming is needed when:
If requirements are clear, offer: "Your requirements are detailed enough to skip brainstorming.
Shall I proceed directly to /workflow:write-plan?" This is a skip gate — user must explicitly
confirm before skipping.
Before asking the user any questions, run a quick codebase scan to inform the dialogue. Spawn a Sonnet subagent (repo-research-analyst) to find:
This research shapes what questions to ask and what options to propose. Do not ask the user questions you could answer by reading the codebase.
Ask questions one at a time using the AskUserQuestion tool.
Question techniques:
Prefer multiple choice when natural options exist
Start broad, then narrow
Validate assumptions explicitly
Ask about success criteria
Key topics to explore:
| Topic | Example Questions |
|---|---|
| Purpose | What problem does this solve? What is the motivation? |
| Users | Who uses this? What is their context? |
| Constraints | Technical limitations? Timeline? Dependencies? |
| Success | How will you measure success? What is the happy path? |
| Edge Cases | What should not happen? Error states to consider? |
| Existing Patterns | Similar features in the codebase to follow? |
Exit condition: Continue until the idea is clear OR user says "proceed" or "let's move on."
Track any unresolved questions in an Open Questions list as they arise.
Present 2-3 different approaches with trade-offs. Lead with your recommended option and explain why.
Structure for each approach:
### Approach A: [Name] (Recommended)
[2-3 sentence description]
**Pros:**
- [Benefit 1]
- [Benefit 2]
**Cons:**
- [Drawback 1]
**Best when:** [Circumstances where this approach shines]
Guidelines:
Present the design section by section, scaled to complexity:
Sections to cover (as applicable):
After each section, ask: "Does this look right so far?"
Be ready to revise sections based on feedback. Do not move forward until the user approves the current section.
Before proceeding to save, review ALL Open Questions captured during dialogue.
Every open question must be resolved via AskUserQuestion. Move each resolved question to a "Resolved Questions" section with its answer.
Do NOT proceed to Phase 6 with any unresolved questions. This is a hard gate.
Write the validated design to: docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md
Use the output template below. Before saving, invoke the flowstate:document-review skill for a structured self-review of the brainstorm document. Address any critical or important issues found before committing.
Commit to git.
Offer options via AskUserQuestion:
/workflow:write-plan (auto-detects brainstorm doc)/workflow:write-plan then /workflow:work, so the user can kick off implementation in a separate Claude Code session or agent. Follow the "Parallel Session Prompt Generation" instructions in the planning skill, but adapt the instructions to start from /workflow:write-plan (since no plan exists yet).---
date: YYYY-MM-DD
topic: <kebab-case-topic>
status: active
origin: brainstorming session
---
# <Topic Title>
## What We're Building
[Concise description — 1-2 paragraphs max]
## Why This Approach
[Approaches considered and why this one was chosen]
## Key Decisions
- [Decision 1]: [Rationale]
- [Decision 2]: [Rationale]
## Open Questions
- [Any questions still unresolved — should be empty after Phase 5]
## Resolved Questions
- [Question]: [Resolution]
## Next Steps
> `/workflow:write-plan` for implementation details
During brainstorming, actively resist complexity:
| Anti-Pattern | Better Approach |
|---|---|
| Asking 5 questions at once | Ask one at a time via AskUserQuestion |
| Jumping to implementation details | Stay focused on WHAT, not HOW |
| Proposing overly complex solutions | Start simple, add complexity only if needed |
| Ignoring existing codebase patterns | Run repo research first (Phase 1) |
| Making assumptions without validating | State assumptions explicitly and confirm |
| Creating lengthy design documents | Keep it concise — details go in the plan |
| Skipping open question resolution | Every question must be resolved (Phase 5) |