src/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 or debating a bounded plan, challenging assumptions, or resolving design-blocking terminology. NOT for implementation task breakdown. NOT for generic technology comparisons or best-practice research; use researching-web. NOT for docs updates; use documenting-code.
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 well-formed design before coding. Keep the session collaborative, question-driven, and small enough to change direction.
When a runtime question tool is available, use it for every choice point:
Do not ask the user to type 1, 2, or 3 unless no interactive tool is
available. If no tool exists, use concise labeled options and include Other.
Before design questions, look for relevant project docs:
CONTEXT.mdCONTEXT-MAP.mddocs/adr/*/CONTEXT.md or */docs/adr/Read them when present. Use those terms in questions and designs. If no docs exist, create them only with user approval and only when a real term or decision is resolved.
If the user did not supply a topic or plan, ask what they want to explore. Then narrow one question at a time until you can state the problem in one sentence. Prefer questions about:
Use only for a bounded plan, trade-off, or assumption. If none is clear, ask for
one. Read references/grill-protocol.md and follow it.
Stay focused on design quality and assumptions, not implementation task breakdown. If the user asks for task sequencing, state that it is outside this skill's scope.
Use 5WH, skipping what is already clear:
State assumptions explicitly and ask which are wrong or risky. Use multi-select when several assumptions can be wrong.
Find similar modules, flows, conventions, integration points, test patterns, and architecture constraints. Summarize in 3-5 bullets. Cite key paths when code shaped the recommendation.
Research external solutions only if the user asks or selects that path. If the
request is only a generic technology comparison or best-practice survey, use
researching-web instead.
Present 2-3 approaches. For each:
Mark one recommendation. Ask which fits best with the interactive question tool.
Then detail the chosen design in short sections, confirming after each:
Apply YAGNI at each section. Remove pieces that do not solve the stated problem.
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, and Testing strategy.
If a domain term crystallized, propose a CONTEXT.md entry and write it only with
user approval:
Term:
One-sentence definition.
Avoid: overloaded synonym
Offer an ADR only for decisions that are hard to reverse, surprising without context, and came from a real trade-off.
Completed:
BRAINSTORM COMPLETE
Topic: <topic>
Approach chosen: <name or none>
Design note: <path or none>
Key decisions: <bullets>
Domain docs: <updates or none>
Open questions: <bullets or none>
Paused or routed:
BRAINSTORM PAUSED | ROUTED TO <skill>
Topic: <topic>
Current state: <one sentence>
Resolved: <bullets>
Needed next: <question, artifact, or target skill>
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).