brainstorming

star 4

Use when the user explicitly asks to brainstorm. Helps turn ideas into designs through collaborative dialogue.

williballenthin By williballenthin schedule Updated 2/6/2026

name: brainstorming description: Use when the user explicitly asks to brainstorm. Helps turn ideas into designs through collaborative dialogue.

Brainstorming

Help turn ideas into designs and specs through collaborative dialogue.

When to Invoke

Only invoke when the user explicitly asks to brainstorm. Examples:

  • "Let's brainstorm this feature"
  • "I want to brainstorm approaches for X"
  • "Can we brainstorm how to solve Y?"

Do not auto-invoke for general implementation tasks or questions.

Process

1. Understand the Context

Start by reviewing the current project:

  • Check relevant files, docs, recent commits
  • Understand what exists and what constraints apply

2. Ask Questions

Explore the idea through questions:

  • Ask one question at a time
  • Prefer multiple choice when options are clear
  • Focus on: purpose, constraints, success criteria, edge cases
  • Don't overwhelm - if a topic needs more exploration, ask follow-up questions
  • Use your choices tool to prompt the user

3. Propose Approaches

Once you understand the problem:

  • Propose 2-3 different approaches with trade-offs
  • Lead with your recommendation and explain why
  • Be direct about pros/cons

4. Present the Design

When ready to document:

  • Break into sections of 200-300 words
  • Check after each section if it looks right
  • Cover: architecture, components, data flow, error handling
  • Apply YAGNI - remove unnecessary features

If the user asks to handoff, jump ahead to the next phase, such as planning or implementation.

5. Update spec.md

If the project has an associated spec.md, consider how the brainstorming session clarified the behavioral specification. Don't include implementation details, just how the project is intended to be used, function, display, etc.

  • be concise and direct. show examples. technical is ok.
  • describe intended behavior, but not undefined behavior.
  • no slop. no bold. no emojis. simple text like my style.

Principles

  • One question at a time - don't overwhelm
  • YAGNI - remove unnecessary features from designs
  • Explore alternatives - always propose 2-3 approaches
  • Incremental validation - present in sections, validate each
  • Be flexible - go back and clarify when needed
Install via CLI
npx skills add https://github.com/williballenthin/aiwilli --skill brainstorming
Repository Details
star Stars 4
call_split Forks 1
navigation Branch main
article Path SKILL.md
More from Creator
williballenthin
williballenthin Explore all skills →