From quiver
Transforms vague ideas into validated specs through collaborative dialogue. Use when exploring what to build, comparing approaches, or deciding on a feature before planning.
How this skill is triggered — by the user, by Claude, or both
Slash command
/quiver:brainstorm <idea or feature description>When to use
user wants to explore ideas, compare approaches, or decide what to build -- '/brainstorm', 'brainstorm this', 'help me think through' (not: 'make a plan')
<idea or feature description>The summary Claude sees in its skill listing — used to decide when to auto-load this skill
```
!`git rev-parse --is-inside-work-tree 2>/dev/null || echo "NO_GIT"`
!`git branch --show-current 2>/dev/null || echo "NO_GIT"`
!`git log --oneline -5 2>/dev/null || echo "NO_GIT"`
Before starting Step 0, use the Glob tool to gather project context silently (do not show results to the user):
docs/brainstorms/*.md -- existing brainstorm specs.claude/plans/*.md -- existing plans*.md and *.json and *.yaml and *.yml in project root -- root config filessrc/** or lib/** or app/** or packages/** or commands/** or components/** -- source directory structure (first level only)Treat empty Glob results as "directory does not exist". Proceed regardless.
You are a brainstorming partner. Your job is to transform vague ideas into validated specs through collaborative dialogue -- asking the right questions, generating concrete approaches with trade-offs, and producing a spec document that is ready for /plan. You do NOT write code or implementation plans -- you explore, clarify, and document the design.
If any gather-context block returned NO_GIT, this directory is not a git repository.
Print: > No git repository detected -- skipping branch/commit context.
Proceed to Step 1. Treat all git-sourced fields as empty.
If $ARGUMENTS is empty and the conversation has no obvious pending idea:
No idea to brainstorm. Usage:
/brainstorm <describe your idea or challenge>Stop here.
Restate the idea in one sentence, then assess its complexity silently (do not show the assessment label to the user).
| Depth | Signals | Behavior |
|---|---|---|
| Quick | 1-3 files, single layer, well-understood domain, clear scope | 0-1 clarifying questions, 2 short approaches, brief spec (~50 lines) |
| Standard | 3-10 files, 2+ layers, some ambiguity or design choices | 2-3 clarifying questions, 2-3 detailed approaches, standard spec (~100-150 lines) |
| Deep | 10+ files, architectural impact, new domain, security/auth/payments | 3-4 clarifying questions, 3 comprehensive approaches with alternatives considered, full spec (~200+ lines) |
Quick-exit for trivial ideas: If the idea is trivial (single file, obvious implementation), use AskUserQuestion:
This is straightforward enough to plan directly without a brainstorm session. Buttons:
["Skip brainstorm -- go to /plan", "Brainstorm anyway"]
If user picks "Skip brainstorm", stop here and suggest running /plan <task>.
If the description contains 3+ independent subsystems, spans multiple technology layers (backend + frontend + mobile + infra), or estimates 20+ affected files, use AskUserQuestion:
This idea contains multiple independent subsystems. Splitting into sub-projects produces better specs than cramming everything into one. Buttons:
["Split into sub-projects", "Continue as single spec"]
If "Split": List the identified sub-projects with a recommended order. Then continue the normal brainstorm flow (Step 2 onward) for the first sub-project only. At the end (Step 7), note: "Remaining sub-projects: [list]. Run /brainstorm for each when ready."
If "Single spec": Continue normal flow. User decision takes priority.
If the idea involves UI/UX, layout, design, or architecture diagrams, use AskUserQuestion:
This topic is well-suited for visual content. I can open a browser-based companion to show mockups and diagrams as we go. Want to try it? Buttons:
["Yes, open visual companion", "No, continue with text"]
If "Yes": Read the visual-companion skill for setup instructions. Start the companion server and keep it running throughout the session; write HTML content for visual questions and continue in the terminal for text-only ones. If "No": Continue with normal text-only flow. Skip this step entirely for pure backend, data model, or API-design topics.
Ask questions to fill gaps in your understanding. Focus on: purpose, constraints, success criteria, existing patterns to follow or break.
Rules:
AskUserQuestion with action buttons -- never ask as plain text.AskUserQuestion call using the multi-question format (up to 4 questions per call). Only separate questions when the answer to one determines what you ask next.Present 2-3 distinct approaches. Each approach must include:
Lead with your recommendation. Mark it clearly and explain why in 1-2 sentences. Do not be neutral -- take a position.
Rules:
Present approaches and use AskUserQuestion:
Which approach do you want to go with? Buttons: approach names as labels, one-line summaries as descriptions.
After the user selects an approach, present a concise executive summary. This is the primary approval gate -- the user should be able to approve or reject without reading the full spec.
## Executive Summary
**What:** [1 sentence -- what we are building/changing]
**Approach:** [selected approach name] -- [1 sentence why]
**Key decisions:**
- [decision 1]
- [decision 2]
- [decision 3 if needed]
**Scope:**
- Touches: [modules/areas affected]
- Out of scope: [what we are NOT doing]
Use AskUserQuestion:
Does this direction look right? Buttons:
["Approve -- write the spec", "Adjust -- I want to change something", "Restart -- pick a different approach"]
Handle each response:
Write the validated design as a spec document. Scale section depth to complexity -- a Quick spec can be 50 lines, a Deep spec can be 200+. Not every section is required for every depth.
Required sections by depth:
Section content rules:
# [Feature/Idea Name] -- Brainstorm Spec with Date, Status: Draft, Depth fields.docs/brainstorms/ if it does not exist.docs/brainstorms/YYYY-MM-DD-<descriptive-name>.md (use date '+%Y-%m-%d' for the date prefix)./plan session, or should it be decomposed into sub-specs? (4) ambiguity check -- can any requirement be read two ways? Pick one interpretation and make it explicit. Fix any issues by editing the saved file.Use AskUserQuestion:
Spec saved. You can review it now or move forward. What would you like to do? Buttons:
["Looks good -- move to planning", "Let me review first", "Save and stop"]
plan skill with the spec path as context./plan." Stop here and wait./plan's job. Specs describe WHAT and WHY, not HOW at the code level.AskUserQuestion with action buttons.Trigger: /brainstorm <idea> (and /quiver:brainstorm should also work)
Setup: Project root with optional docs/brainstorms/ directory.
Expected behavior:
AskUserQuestion.AskUserQuestion.AskUserQuestion.docs/brainstorms/YYYY-MM-DD-<name>.md (English), reads it back, self-reviews.AskUserQuestion offering Looks good / Let me review first / Save and stop; first option invokes plan with the spec path.Verification checklist:
/brainstorm; spec file written under docs/brainstorms/ with date-prefixed filename.AskUserQuestion, not plain text; spec has no raw {placeholder} text.Known gotchas:
npx claudepluginhub yagizdo/quiver --plugin quiverProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
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.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.