Skip to content
Back to skills

Brainstorm

ASecurity

Explore intent, requirements, and design before implementation. Collaborative dialogue to turn ideas into specs. Ask clarifying questions one at a time, propose 2-3 approaches with trade-offs, get approval before writing any code. Prevents wasted work from unexamined assumptions.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
developmentgotestingrefactoring

Works with

  • mcp

Security analysis

A100/100

Scanned November 11, 2026

npx -y skills add Pharaoh-so/pharaoh-mcp --skill brainstorm --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Brainstorm?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Brainstorm
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/pharaoh-so-brainstorm/badge)](https://www.skillsdirectory.com/skills/pharaoh-so-brainstorm)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: brainstorm
prompt-name: brainstorm
description: "Explore intent, requirements, and design before implementation. Collaborative dialogue to turn ideas into specs. Ask clarifying questions one at a time, propose 2-3 approaches with trade-offs, get approval before writing any code. Prevents wasted work from unexamined assumptions."
license: MIT. Adapted from obra/superpowers, Copyright (c) 2025 Jesse Vincent; see NOTICE in @pharaoh-so/mcp
version: 0.2.1
homepage: https://pharaoh.so
user-invocable: true
metadata: {"tags": ["planning", "design", "brainstorming", "requirements", "architecture"]}
---

# Brainstorm

Turn ideas into validated designs before writing code. Every feature goes through this process — even "simple" ones. Simple projects are where unexamined assumptions waste the most time.

## When to Use

Before any creative work: new features, components, behavior changes, or significant modifications. If you're about to build something, brainstorm it first.

## Hard Gate

Do NOT write any implementation code until you have presented a design and the user has approved it. No exceptions regardless of perceived simplicity.

## Process

### 1. Explore Context

Check the current project state — files, docs, recent commits. If Pharaoh tools are available, call `get_codebase_map` to understand architecture before proposing changes.

### 2. Assess Scope

Before asking detailed questions, check if the request describes multiple independent subsystems. If so, decompose into sub-projects first. Each sub-project gets its own brainstorm-plan-implement cycle.

### 3. Ask Clarifying Questions

- One question per message — don't overwhelm
- Prefer multiple choice when possible
- Focus on: purpose, constraints, success criteria
- Keep going until you understand what you're building

### 4. Propose Approaches

- Present 2-3 different approaches with trade-offs
- Lead with your recommendation and explain why
- Apply YAGNI ruthlessly — remove unnecessary features

### 5. Present Design

- Scale each section to its complexity
- Cover: architecture, components, data flow, error handling, testing
- Ask after each section whether it looks right
- Design for isolation: smaller units with clear interfaces

### 6. Write Spec

Save the validated design to a spec file and commit it. Ask the user to review before proceeding.

### 7. Transition

Once the spec is approved, move to implementation. Use the `plan` skill to break the work into verified steps, then build.

## Working in Existing Codebases

- Explore current structure before proposing changes — follow existing patterns
- Use `get_module_context` to understand what exists
- Where existing code has problems affecting the work, include targeted improvements
- Don't propose unrelated refactoring — stay focused on the current goal

## Key Principles

- **One question at a time** — don't overwhelm with multiple questions
- **YAGNI ruthlessly** — remove unnecessary features from designs
- **Explore alternatives** — always propose 2-3 approaches before settling
- **Incremental validation** — present design, get approval before moving on
- **Design for isolation** — smaller units that can be understood and tested independently

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in development →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.