with one click
rb-brainstorm
// Use when you have a vague idea and want to explore approaches, compare options, and gather requirements before planning a Ruby/Rails/Grape feature.
// Use when you have a vague idea and want to explore approaches, compare options, and gather requirements before planning a Ruby/Rails/Grape feature.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | rb:brainstorm |
| description | Use when you have a vague idea and want to explore approaches, compare options, and gather requirements before planning a Ruby/Rails/Grape feature. |
| when_to_use | Triggers: "brainstorm", "explore ideas", "not sure how to approach", "discuss before planning", "what if we". Does NOT handle: detailed planning, implementation, research with citations. |
| effort | high |
| argument-hint | <topic or feature idea> |
| disable-model-invocation | true |
Adaptive requirements gathering before planning. Produces an interview.md
that /rb:plan consumes to skip clarification.
/rb:brainstorm {topic}
|
v
[INTERVIEW] <āāāāāāāāāāāāāāāāāāāā
| |
v (sufficient OR user exit) |
[DECISION POINT] |
āā Research āā> [RESEARCH] āāā
āā Continue interview āāāāāāāā
āā Make a plan āā> STOP (suggest /rb:plan .claude/plans/{slug}/interview.md)
āā Store & exit āā> STOP (artifacts saved)
āā Discuss āā> freeform āā> [DECISION POINT]
Read ${CLAUDE_SKILL_DIR}/references/interview-techniques.md. Apply
its codebase-scan patterns, scan-depth rules, and signal-detection
rubrics as the canonical interview cadence.
Ask ONE question at a time. Track coverage across 6 dimensions:
| Dimension | Target | Sufficient | Score |
|---|---|---|---|
| What | Specific behavior/features | Concrete verbs, not vague | 0-2 |
| Why | Problem solved, user need | Clear benefit stated | 0-2 |
| Scope | In/out boundaries | Explicit exclusions | 0-2 |
| Where | Modules, contexts, files | Paths or context names | 0-2 |
| How | Approach, constraints | At least one constraint | 0-2 |
| Edge | Error states, scale, auth | 2+ edge cases identified | 0-2 |
Scoring: 0 = uncovered, 1 = partial ("maybe some caching"), 2 = sufficient ("Redis cache for session tokens, 15min TTL").
Interview sufficient when total score >= 8 out of 12 and every dimension has at least a score of 1.
Before each question after the first, run a brief codebase scan with Grep/Glob
based on what the user just said. See references/interview-techniques.md for
the scan pattern table.
Scan depth:
At brainstorm start, detect and record:
app/api/ or app/apis/)packwerk.yml or packs/)spec/ vs test/).standard.yml or .rubocop.yml)Record in interview.md under ## Codebase Context.
Vague answers ("something like...", "maybe", "whatever you think"): Probe deeper on the SAME dimension with a more specific question. Offer concrete options: "Would it be more like A or B?"
Expertise signals (uses framework terms correctly, mentions modules by name): Skip basic questions. Ask at implementation level.
Scope creep (mentions 3+ new features not in original topic): Acknowledge, then narrow: "Great ideas. Should we focus on {core} first and note {extras} as future work?"
Saturation (2 consecutive answers add no new coverage): Present Decision Point.
CRITICAL: This is the most important phase. Never skip it.
.claude/plans/{slug}/interview.mdCoverage: What 2/2 | Why 2/2 | Scope 1/2 | .../rb:plan .claude/plans/{slug}/interview.mdSee references/research-integration.md for the full pattern.
First cycle: MAX 2 agents. Topic slugs: codebase-scan,
web-research.
${CLAUDE_PLUGIN_ROOT}/bin/manifest-update prepare-run --skill=rb:brainstorm --slug="$PLAN_SLUG" --agents=codebase-scan,web-research. Captures
stdout as $MANIFEST.${CLAUDE_PLUGIN_ROOT}/bin/manifest-update prepare-respawn "$MANIFEST".status: in-flight via stdin patch.manifest-update spawn-paths "$MANIFEST".run_in_background: true):
rails-patterns-analyst for codebase-scan topic:
"How does this codebase handle {topics}?"web-researcher for web-research topic:
"Ruby/Rails approaches to {topics}".
Pass each absolute path verbatim in the spawn prompt.${CLAUDE_PLUGIN_ROOT}/references/agent-resume.md. If matched,
apply that protocol (resume via SendMessage if available, else
mark stub-no-output) BEFORE Artifact Recovery.status field
with its recovery-state value (artifact | stub-replaced |
recovered-from-return | stub-no-output).status: complete after evaluation.Schema + helper subcommands:
${CLAUDE_PLUGIN_ROOT}/references/run-manifest.md.
Evaluate (in main context):
Converge: Present 2-3 approaches with trade-offs. Never recommend one.
Return to Decision Point.
Soft limit: After 3 research cycles, suggest moving to a plan.
Produces .claude/plans/{slug}/interview.md. See
references/interview-techniques.md for the full template.
Key sections: Summary, Coverage Details (per dimension), Codebase Context (Ruby stack), Research Findings, Open Questions, Transcript.
Status: COMPLETE when all dimensions >= 1 and total >= 8. Status: IN_PROGRESS when user chose "Store & exit" before sufficient coverage.
/rb:plan ā always present as optioninterview.md is the contract with /rb:plan/rb:brainstorm āā> interview.md āā> /rb:plan (skips clarification)
āā> stored for later session
Position in workflow: Optional upstream of /rb:plan.