dist/claude/plugins/dev-tools/skills/brainstorming-ideas/SKILL.md
Brainstorm ideas and stress-test draft plans before coding. Use when brainstorming, exploring approaches, designing a feature/API/flow, grilling a plan, challenging assumptions, or resolving terminology that blocks the design. NOT for implementation task breakdown; use the spec-plan skill. 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:
Ask clarifying questions using AskUserQuestion. Keep it conversational:
Ask questions one at a time using AskUserQuestion. Adapt based on idea type.
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 the spec-plan skill for implementation tasks.
For the full interview discipline (phase order, per-question format, final summary, failure handling), read references/grill-protocol.md.
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:
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:
Task(
subagent_type="Explore",
prompt="Quick scan: project structure, tech stack, patterns relevant to [user's idea]",
run_in_background=false
)
Then summarize findings and ask: "Based on this, should we also research external solutions?"
If claude-mem tools are available:
search({ query: "[topic keywords]", limit: 10 })
timeline({ query: "[topic keywords]", depth_before: 5, depth_after: 5 })
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.
If Perplexity is unavailable: skip to WebFetch with a direct search query; do not fabricate patterns.
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."
}]
})
After Perplexity response, WebFetch top 2-3 relevant sources:
WebFetch(url="<citation-url>", prompt="Extract implementation details, code patterns, and lessons learned for [feature]")
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:
For each option, briefly cover:
Present design in sections (~200-300 words each). After each section, use AskUserQuestion:
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:
CONTEXT.md / CONTEXT-MAP.md: surface the contradiction explicitly ("the glossary defines X as A, this idea assumes B"). Resolve the term with the user before designing — do not silently pick one./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
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).