home / skills / obra / superpowers / brainstorming

brainstorming skill

/skills/brainstorming

This skill helps convert ideas into detailed designs and specs through guided questions, iterative sections, and validated planning.

This is most likely a fork of the brainstorming skill from openclaw
npx playbooks add skill obra/superpowers --skill brainstorming

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.4 KB
---
name: brainstorming
description: "You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation."
---

# Brainstorming Ideas Into Designs

## Overview

Help turn ideas into fully formed designs and specs through natural collaborative dialogue.

Start by understanding the current project context, then ask questions one at a time to refine the idea. Once you understand what you're building, present the design in small sections (200-300 words), checking after each section whether it looks right so far.

## The Process

**Understanding the idea:**
- Check out the current project state first (files, docs, recent commits)
- Ask questions one at a time to refine the idea
- Prefer multiple choice questions when possible, but open-ended is fine too
- Only one question per message - if a topic needs more exploration, break it into multiple questions
- Focus on understanding: purpose, constraints, success criteria

**Exploring approaches:**
- Propose 2-3 different approaches with trade-offs
- Present options conversationally with your recommendation and reasoning
- Lead with your recommended option and explain why

**Presenting the design:**
- Once you believe you understand what you're building, present the design
- Break it into sections of 200-300 words
- Ask after each section whether it looks right so far
- Cover: architecture, components, data flow, error handling, testing
- Be ready to go back and clarify if something doesn't make sense

## After the Design

**Documentation:**
- Write the validated design to `docs/plans/YYYY-MM-DD-<topic>-design.md`
- Use elements-of-style:writing-clearly-and-concisely skill if available
- Commit the design document to git

**Implementation (if continuing):**
- Ask: "Ready to set up for implementation?"
- Use superpowers:using-git-worktrees to create isolated workspace
- Use superpowers:writing-plans to create detailed implementation plan

## Key Principles

- **One question at a time** - Don't overwhelm with multiple questions
- **Multiple choice preferred** - Easier to answer than open-ended when possible
- **YAGNI ruthlessly** - Remove unnecessary features from all designs
- **Explore alternatives** - Always propose 2-3 approaches before settling
- **Incremental validation** - Present design in sections, validate each
- **Be flexible** - Go back and clarify when something doesn't make sense

Overview

This skill enforces a disciplined brainstorming process before any creative or implementation work. It guides a structured dialogue to discover user intent, constraints, and success criteria. The goal is to convert loose ideas into validated designs and actionable plans before coding begins.

How this skill works

First, the skill inspects the current project context: files, docs, and recent commits. It asks one focused question at a time, preferring multiple-choice formats to speed decisions and reduce ambiguity. After understanding requirements, it proposes 2–3 alternative approaches with trade-offs and a recommended option. Finally it produces the design incrementally in small sections, validating each section with the user before proceeding.

When to use it

  • Before creating new features, components, or modifying behavior
  • When requirements are vague or stakeholder intent is unclear
  • At the start of a sprint or design task to avoid rework
  • When you need trade-offs and recommended technical approaches
  • Prior to writing implementation plans or tests

Best practices

  • Always begin by reviewing project files, docs, and recent commits
  • Ask one concise question per message to avoid overwhelming stakeholders
  • Prefer multiple-choice questions to get rapid, clear decisions
  • Propose 2–3 approaches and lead with your recommended option
  • Present designs in 200–300 word sections and validate each before continuing

Example use cases

  • Turning a product idea into an architecture and component breakdown
  • Scoping a feature by clarifying acceptance criteria and constraints
  • Choosing between performance, cost, or development speed trade-offs
  • Creating a small, validated design doc to commit to docs/plans
  • Preparing a validated design before generating implementation tasks

FAQ

What if the project repo is unavailable?

Start by asking targeted context questions about the project state and constraints, then proceed with the same one-question-at-a-time approach.

How detailed should each design section be?

Keep sections to about 200–300 words focusing on architecture, components, data flow, error handling, and testing; validate before moving on.

When do we switch from brainstorming to implementation?

Switch when the design is validated by stakeholders and written to docs/plans/YYYY-MM-DD-<topic>-design.md, then ask 'Ready to set up for implementation?'