plugins/dev-tools/skills/brainstorming-ideas/SKILL.md
Brainstorm ideas and stress-test draft plans before coding. Use when user wants to brainstorm, explore approaches, design a feature/API/flow, challenge assumptions, or resolve terminology that blocks the design. NOT for pure decision-tree interviews on a single existing plan ("grill me"); use grill-me. NOT for breaking approved requirements into implementation tasks; use /spec:plan. NOT for general documentation updates; use documenting-code or learning-patterns.
npx skillsauth add alexei-led/claude-code-config brainstorming-ideasInstall 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.
Turn a vague idea or draft plan into a clear design before coding. In grill mode, stress-test a plan until every important branch of the decision tree is resolved.
Use TaskCreate / TaskUpdate to track these 7 phases:
CONTEXT.md / CONTEXT-MAP.md terms when present; resolve conflicts explicitlyBefore asking design questions, check for project knowledge when relevant. Use Glob/Read to find the nearest relevant CONTEXT.md, CONTEXT-MAP.md, and docs/adr/ files. If present, read them and use that vocabulary in questions and designs.
If no domain docs exist, create them lazily only when a term or decision is actually resolved. Do not generate empty documentation.
Start with dialogue, not agents. Ask the user directly.
Use AskUserQuestion:
| Header | Question | Options | | --------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Idea type | What would you like to brainstorm? | 1. New feature - Add new functionality 2. Modification - Change existing behavior 3. Integration - Connect with an external system 4. Plan grill - Stress-test an existing plan 5. Exploration - Not sure yet, let's discover |
Ask clarifying questions using AskUserQuestion. Keep it conversational:
Ask questions one at a time using AskUserQuestion. Adapt based on idea type.
| Question Type | When to Ask | Example AskUserQuestion | | ------------- | ------------------------------ | ------------------------------------------------------------------------------------ | | WHO | Always first | "Who will use this?" → Options: Existing users, New segment, Internal, API consumers | | WHY | After WHO | "What problem does this solve?" → Options based on detected pain points | | WHAT | After WHY is clear | "What's the core capability?" → Open or options based on research | | WHERE | For integrations/modifications | "Where should this live?" → Options based on codebase exploration | | HOW | After approach research | "How should we implement?" → Present 2-3 technical approaches |
If the user passed plan, grill, or asked to stress-test/challenge a plan, interrogate the plan one decision at a time. Keep it focused on design quality and assumptions, not task breakdown; use /spec:plan for implementation tasks.
For each question:
CONTEXT.md, call it out: "Your glossary defines X as A, but this plan uses X as B — which is it?"When a domain term is resolved, confirm before writing and update CONTEXT.md inline if the user approves the wording. Keep definitions one sentence. List aliases to avoid.
Offer an ADR only when all three are true:
Before moving on, explicitly list the assumptions embedded in the idea so far:
Based on our discussion, here are the assumptions I'm seeing:
1. [Assumption about users] — e.g., "Users want X in real-time"
2. [Assumption about tech] — e.g., "Our current DB can handle this load"
3. [Assumption about scope] — e.g., "This doesn't need to work offline"
Use AskUserQuestion:
| Header | Question | Options | | ----------- | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | | Assumptions | Any of these assumptions wrong or risky? | 1. All correct - Proceed as-is 2. Some wrong - I'll clarify 3. Not sure - Let's validate the risky ones during research |
If "Some wrong": ask which ones and adjust requirements. If "Not sure": flag risky assumptions for verification in Phase 4.
After understanding requirements, ask before spawning any agents:
| Header | Question | Options | | --------- | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Next step | How should we proceed? | 1. Explore codebase - Check existing patterns and tech stack 2. Research solutions - Look up how others solve this 3. Check project history - Query past decisions on this topic (claude-mem) 4. Both - Explore then research 5. Skip to approaches - I know what I want |
Task(
subagent_type="Explore",
prompt="Quick scan: project structure, tech stack, patterns relevant to [user's idea]",
run_in_background=false
)
<!-- CC-ONLY: end -->
Then summarize findings and ask: "Based on this, should we also research external solutions?"
If claude-mem tools are available:
<!-- CC-ONLY: begin -->search({ query: "[topic keywords]", limit: 10 })
timeline({ query: "[topic keywords]", depth_before: 5, depth_after: 5 })
<!-- CC-ONLY: end -->
Summarize past decisions, known issues, and relevant context. Then ask if they want to also explore or research.
Proceed to Phase 4.
Jump directly to Phase 5 (Present Approaches).
Only run when user explicitly chose research in Phase 3.
mcp__perplexity-ask__perplexity_ask({
messages: [{
role: "user",
content: "How do leading [industry] products implement [feature type]? Include architectural patterns, UX approaches, and trade-offs. Focus on [tech stack] implementations."
}]
})
<!-- CC-ONLY: end -->
After Perplexity response, WebFetch top 2-3 relevant sources:
<!-- CC-ONLY: begin -->WebFetch(url="<citation-url>", prompt="Extract implementation details, code patterns, and lessons learned for [feature]")
<!-- CC-ONLY: end -->
Present research summary before asking approach preference:
## Research Findings
**Common patterns:**
- [Pattern 1]: Used by X, Y. Trade-off: ...
- [Pattern 2]: Used by Z. Trade-off: ...
**Recommended for our context:** [Pattern] because [reasons]
Use AskUserQuestion with 2-4 options:
| Header | Question | Options | | -------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | | Approach | Which approach fits best? | 1. [Recommended] - Description + key trade-off 2. [Alternative] - Description + key trade-off 3. Minimal - YAGNI version |
For each option, briefly cover:
Present design in sections (~200-300 words each). After each section, use AskUserQuestion:
| Header | Question | Options | | -------- | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | | Validate | Does this [section] look right? | 1. Yes, continue - Move to next section 2. Needs changes - I'll explain 3. Go back - Revisit earlier decisions |
At each section, actively challenge:
If the brainstorm resolved domain language, update CONTEXT.md or the relevant context file:
## Language
**Term**:
One-sentence definition.
_Avoid_: fuzzy synonym, overloaded alias
If a qualifying architectural/product decision crystallized, create a short ADR under docs/adr/NNNN-slug.md:
# Decision title
One to three sentences: context, decision, why.
Skip ADRs for easy-to-reverse, obvious, or no-real-alternative decisions.
If the outcome is more than a short answer, offer to write a concise design note:
docs/plans/YYYY-MM-DD-<topic>-design.md
Include only: Problem, Chosen approach, Trade-offs, Open questions, Testing strategy.
Use AskUserQuestion:
| Header | Question | Options | | ---------- | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Next steps | Ready to proceed with implementation? | 1. Create worktree - Isolated workspace via using-git-worktrees 2. Create plan - Detailed implementation steps 3. Done for now - Just save the design |
This skill incorporates proven brainstorming techniques:
| Technique | How It's Used | | ------------------------- | ------------------------------------------------------------------------------------------- | | Starbursting (5WH) | Structured questions in Phase 2 | | Design Thinking | Empathize (context) → Define (WHY) → Ideate → Prototype (design sections) | | SCAMPER | For modifications: Substitute, Combine, Adapt, Modify, Put to other use, Eliminate, Reverse | | Reverse Brainstorming | "How could this fail?" during validation | | Mind Mapping | Architecture section visualizes relationships |
/brainstorming-ideas user notifications # Explore a feature idea
/brainstorming-ideas plan auth flow # Shape a draft plan
/brainstorming-ideas grill migration # Stress-test an existing plan
Execute this collaborative brainstorming workflow now.
tools
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, TypeScript, Go, web code, or infrastructure operations.
tools
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview.
testing
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts or generic command pipelines (see writing-shell).
development
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).