From quiver
Explore ideas, compare approaches, and produce a validated spec before planning.
npx claudepluginhub yagizdo/quiver --plugin quiverThis skill uses the workspace's default tool permissions.
```
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.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
Guides code writing, review, and refactoring with Karpathy-inspired rules to avoid overcomplication, ensure simplicity, surgical changes, and verifiable success criteria.
Share bugs, ideas, or general feedback.
!`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>.
After assessing complexity, evaluate whether the idea is too large for a single spec:
Trigger signals:
If any trigger fires, 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, architecture diagrams, or other visual content:
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 brainstorm session. For each step that involves a visual question, write HTML content and direct the user to their browser. For text-only questions, continue in the terminal.
If "No": Continue with normal text-only flow.
If the topic is NOT visual (pure backend, data model, API design, etc.): Skip this step entirely. Do not offer the companion.
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.When to skip questions entirely:
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.
Document structure:
# [Feature/Idea Name] -- Brainstorm Spec
**Date:** YYYY-MM-DD
**Status:** Draft
**Depth:** Quick | Standard | Deep
## Executive Summary
[Copy from Step 4 -- this is the approved summary]
## Context
[Why this idea exists. What problem it solves. Any prior art or existing patterns.]
## Design
### Chosen Approach: [Name]
[Detailed description of the selected approach]
### Key Decisions
[Numbered list of design decisions with brief rationale for each]
### Affected Areas
[File paths, modules, or system boundaries that will be touched]
## Alternatives Considered <!-- Deep only -->
[Other approaches from Step 3, with why they were not chosen]
## Open Questions <!-- if any remain -->
[Questions that surfaced during brainstorming but were deferred to planning phase]
## Success Criteria
[How we know this is done and working correctly]
## Design Principles Applied <!-- Standard and Deep only -->
- **YAGNI:** [Features explicitly removed or deferred from this spec, with reasons]
- **Single Responsibility:** [Each unit's sole responsibility]
- **Interface Clarity:** [Communication interfaces between units]
Rules:
docs/brainstorms/ if it does not exist.docs/brainstorms/YYYY-MM-DD-<descriptive-name>.md (use date '+%Y-%m-%d' for the date prefix).{...} placeholder text remains.After writing, review with fresh eyes:
/plan session, or should it be decomposed into sub-specs?Fix any issues by editing the saved file. No need to re-review after fixes.
After self-review passes, present the user with the opportunity to review:
Use AskUserQuestion:
docs/brainstorms/{filename}. You can review it now or move forward. What would you like to do?""Looks good -- move to planning" / "Invoke /plan with this spec as input""Let me review first" / "I want to read the spec and may request changes""Save and stop" / "Keep the spec, I will plan later"Handle each response:
plan skill with the spec path as context: "Plan the implementation based on the brainstorm spec at docs/brainstorms/{filename}"/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:
docs/brainstorms/ directory.Expected behavior:
AskUserQuestion.AskUserQuestion.Approve / Adjust / Restart via AskUserQuestion.docs/brainstorms/YYYY-MM-DD-<name>.md (in English regardless of conversation language) and reads it back to verify.AskUserQuestion offering Looks good / Let me review first / Save and stop; on the first option it invokes the plan skill with the spec path.Verification checklist:
/brainstorm.docs/brainstorms/ with the date-prefixed filename.AskUserQuestion, not plain text.{placeholder} text.Known gotchas:
visual-companion skill's runtime; if its server cannot start, the brainstorm should fall back to text without aborting.