Get the FREE Ultimate OpenClaw Setup Guide →

brainstorming

npx machina-cli add skill chris-hendrix/claudehub/brainstorming --openclaw
Files (1)
SKILL.md
5.0 KB

Brainstorming Ideas Into Designs

Turn rough ideas into fully formed designs through natural collaborative dialogue.

Purpose

Brainstorming is about exploring alternatives and making an informed decision, not creating detailed implementation plans. The key outputs are:

  • Understanding what currently exists (codebase/dependencies)
  • Evaluating 2-3 different approaches with trade-offs
  • Choosing the best approach with clear rationale

Do not conflate with planning - detailed architecture, component design, and implementation steps belong in the plan (created with /rpi:plan). The brainstorm focuses on the decision of which approach to take, not how to implement it.

Research

Brainstorming typically involves research to inform the alternatives:

Codebase research (use researching-codebase skill):

  • When modifying existing features
  • To understand current patterns and architecture
  • To identify reusable components

Web research (use researching-web skill):

  • When evaluating new libraries or frameworks
  • When choosing dependencies for the project
  • To understand API capabilities and limitations
  • To find best practices for new integrations
  • CRITICAL: Always research current best practices and latest recommendations when choosing dependencies or technical approaches - LLM knowledge cutoff means you may be unaware of newer, better options or deprecated approaches
  • Search for recent comparisons, official docs, and community consensus (e.g., "best React state management 2026", "modern authentication libraries comparison")
  • Verify that chosen dependencies are actively maintained and compatible with current project versions

Research both when the task involves integrating new technologies into an existing codebase.

Principles

  • One question at a time - Don't overwhelm with multiple questions. Each answer informs the next question.
  • Multiple choice preferred - Bounded options accelerate decisions. Open-ended is fine for exploratory topics.
  • Research before recommending - When choosing dependencies, libraries, or technical approaches, research current best practices and recent recommendations. Don't rely solely on potentially outdated LLM knowledge.
  • YAGNI ruthlessly - Challenge every feature. Remove unnecessary complexity from all designs.
  • Minimal code examples - Brainstorming is about concepts and decisions, not implementation. Only show code when absolutely necessary to illustrate a specific point. Use brief snippets (5-10 lines max) or pseudo-code. Focus on architecture and trade-offs, not syntax.
  • Explore alternatives - Always consider 2-3 approaches before settling on one.
  • Incremental validation - Present design in sections, validate each before continuing.
  • Be flexible - Go back and clarify when something doesn't make sense.

Understanding the Objective

Before exploring alternatives, you must understand:

  1. The Objective - What are we trying to achieve? (Could be solving a problem, adding a feature, making a strategic decision, etc.)
  2. Success Criteria - What does success look like? How will we know if this works?

Get explicit user confirmation on both before proceeding. If you misunderstand the objective or what success looks like, all subsequent work is wasted.

Present your understanding of the objective and success criteria, then ask: "Does this accurately capture what we're trying to achieve?"

Questioning

Focus on understanding purpose, constraints, and context. Prefer multiple choice questions - they're easier to answer and keep momentum. Reserve open-ended questions for genuinely exploratory topics.

Sequential questioning maintains focus. Avoid question dumps.

Exploring Approaches

Present 2-3 different approaches with their trade-offs. Lead with the recommended option and explain why. Frame trade-offs conversationally.

When approaches involve dependencies or libraries: Research current best practices and recent recommendations before presenting options. Don't rely solely on LLM knowledge - verify through web search what the community currently recommends.

Common approach patterns:

  • Minimal - Smallest viable solution (quick validation, low risk)
  • Balanced - Pragmatic middle ground (most use cases)
  • Comprehensive - Full-featured solution (long-term investment)

Presenting Designs

Break designs into digestible sections (200-300 words each). Validate understanding after each segment before proceeding. Cover architecture, components, data flow, error handling, and testing as relevant.

Document Template

See brainstorm-template.md for the standard structure when saving brainstorms to .thoughts/brainstorms/YYYY-MM-DD-<topic>.md.

Source

git clone https://github.com/chris-hendrix/claudehub/blob/main/plugins/rpi/skills/brainstorming/SKILL.mdView on GitHub

Overview

Brainstorming refines rough ideas into fully formed designs via collaborative questioning, alternative exploration, and incremental validation. It focuses on evaluating 2-3 approaches with trade-offs and selecting the best path before any implementation planning. It also emphasizes researching the codebase and current best practices to ground decisions.

How This Skill Works

Start by clarifying the objective and success criteria, then research the existing codebase and potential dependencies. The team generates 2-3 alternative approaches, documents their trade-offs, and validates them incrementally, then selects a recommended option with a clear rationale. Detailed implementation steps are deferred to the planning phase.

When to Use It

  • Starting a new feature or capability
  • Evaluating dependencies or library choices
  • Assessing architecture options without diving into code
  • Modifying an existing feature with multiple viable approaches
  • Introducing new tech or APIs that require trade-off analysis

Quick Start

  1. Step 1: Clarify the objective and success criteria with the user
  2. Step 2: Research the codebase and potential dependencies to inform alternatives
  3. Step 3: Compare 2-3 options, document trade-offs, select the best path, and capture the rationale

Best Practices

  • Research current best practices before choosing dependencies or approaches
  • Present 2-3 bounded alternatives with explicit trade-offs
  • Keep questions focused on the 'which' decision, not the 'how' details
  • Validate options incrementally and confirm objective and success criteria
  • Document rationale, constraints, and potential risks for future reference

Example Use Cases

  • Choosing between REST vs GraphQL for an API integration
  • Selecting a frontend state management approach (Redux vs Zustand vs Context)
  • Deciding on an authentication strategy (session-based, JWT, or OAuth)
  • Evaluating database options (PostgreSQL vs MySQL vs NoSQL) for a project
  • Migrating to a new observability stack (logs, metrics, tracing)

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers