home / skills / oimiragieo / agent-studio / brainstorming

This skill guides collaborative design refinement from idea to structured specs, asking focused questions and presenting incremental designs for validation.

npx playbooks add skill oimiragieo/agent-studio --skill brainstorming

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

Files (1)
SKILL.md
2.9 KB
---
name: brainstorming
description: Socratic design refinement before implementation. Use when planning creative work or designing features.
version: 1.0
model: sonnet
invoked_by: both
user_invocable: true
tools: [Read, Write]
best_practices:
  - Ask one question at a time
  - Prefer multiple choice over open-ended
  - Enforce YAGNI
  - Explore 2-3 alternative approaches
error_handling: graceful
streaming: supported
---

# 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 context-compressor skill if available for efficient documentation
- Commit the design document to git

**Implementation (if continuing):**

- Ask: "Ready to set up for implementation?"
- Use writing-plans skill 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

## Memory Protocol (MANDATORY)

**Before starting:**
Read `.claude/context/memory/learnings.md`

**After completing:**

- New pattern -> `.claude/context/memory/learnings.md`
- Issue found -> `.claude/context/memory/issues.md`
- Decision made -> `.claude/context/memory/decisions.md`

> ASSUME INTERRUPTION: If it's not in memory, it didn't happen.

Overview

This skill guides teams through a Socratic, incremental process to turn loose ideas into concrete designs and specs before any implementation. It focuses on one-question-at-a-time dialogue, presenting options with trade-offs, and validating the design in small sections. The goal is a lightweight, testable design that’s ready to document and commit.

How this skill works

Start by assessing the current project context and asking a single clarifying question. Iterate with multiple-choice questions when possible, explore 2–3 alternative approaches with trade-offs, then present the agreed design in 200–300 word sections and ask for validation after each section. Follow the post-design steps to write the finalized design file, update memory records, and prepare for implementation if requested.

When to use it

  • Planning a new feature where requirements are fuzzy and need refinement
  • Converting a high-level idea into an actionable design and spec
  • Validating architecture choices and trade-offs before coding
  • Creating incremental, reviewable design documents with stakeholder buy-in
  • Preparing to hand off work to an implementation team

Best practices

  • Ask only one question per message to avoid overwhelming stakeholders
  • Prefer multiple-choice questions to speed alignment; use open-ended sparingly
  • Propose 2–3 approaches and lead with a recommended option and reasoning
  • Keep each design section to 200–300 words and validate before continuing
  • Apply YAGNI: remove features that don't directly support success criteria
  • Record new patterns, issues, and decisions to the project memory after finishing

Example use cases

  • You have a product idea and need a clear architecture and component breakdown before implementation
  • A team is debating frontend state management; use this to compare 2–3 approaches and pick one
  • Refining an API surface: extract constraints, translate into endpoints and error handling
  • Drafting a testing and rollout plan for a feature with incremental validation checkpoints
  • Turning a research prototype into a production-ready spec and commit-ready docs

FAQ

How many questions will this skill ask?

It asks one question at a time and continues until the idea is clarified; expect several short rounds rather than a single long questionnaire.

What if stakeholders disagree on an approach?

Present 2–3 options with trade-offs, recommend one with reasoning, and capture the decision in memory; iterate on objections and update the design incrementally.