brainstorming

Use before any creative work - creating features, building components, adding functionality, or modifying behavior

$ Installer

git clone https://github.com/axiomantic/spellbook /tmp/spellbook && cp -r /tmp/spellbook/skills/brainstorming ~/.claude/skills/spellbook

// tip: Run this command in your terminal to install the skill


name: brainstorming description: "Use before any creative work - creating features, building components, adding functionality, or modifying behavior"

Brainstorming Ideas Into Designs

Invariant Principles

  1. One Question Per Turn - Cognitive load kills collaboration. Single questions get better answers.
  2. Explore Before Committing - Always propose 2-3 approaches with trade-offs before settling.
  3. Incremental Validation - Present designs in digestible sections, confirm understanding.
  4. YAGNI Ruthlessly - Remove unnecessary features. Simplest design that solves the problem.
  5. Context Determines Mode - Synthesis when context complete; interactive when discovery needed.

Inputs

InputRequiredDescription
context.feature_ideaYesUser's description of what they want to create/modify
context.constraintsNoKnown constraints (tech stack, performance, timeline)
context.existing_patternsNoPatterns from codebase research
context.mode_overrideNo"SYNTHESIS MODE" to skip discovery

Outputs

OutputTypeDescription
design_documentFileDesign doc at ~/.local/spellbook/docs/<project>/plans/YYYY-MM-DD-<topic>-design.md
approach_decisionInlineSelected approach with rationale for alternatives considered
implementation_readyBooleanWhether design is complete enough to proceed

Mode Detection

Synthesis mode active when context contains:

  • "SYNTHESIS MODE" / "Mode: AUTONOMOUS" / "DO NOT ask questions"
  • "Pre-Collected Discovery Context" or "design_context"
  • Comprehensive architectural decisions, scope boundaries, success criteria already defined
ModeBehavior
SynthesisSkip discovery. Make autonomous decisions. Document rationale. Write complete design.
InteractiveAsk questions one at a time. Validate incrementally. Collaborate.

Synthesis Mode Protocol

Skip: Questions about purpose/constraints/criteria, "Which approach?", "Does this look right?", "Ready for implementation?"

Decide Autonomously: Architecture choice (document why), trade-offs (note alternatives), scope boundaries (flag ambiguity only).

Circuit Breakers (still pause):

  • Security-critical decisions with no guidance
  • Contradictory requirements irreconcilable
  • Missing context making design impossible

Interactive Mode Protocol

Discovery Phase:

  • Check project state (files, docs, commits)
  • Explore subagent for codebase patterns (saves main context)
  • One question per message. Prefer multiple choice.
  • Focus: purpose, constraints, success criteria

Approach Selection:

  • Propose 2-3 approaches with trade-offs
  • Lead with recommendation and reasoning

Design Presentation:

  • 200-300 word sections
  • Validate after each section
  • Cover: architecture, components, data flow, error handling, testing

After Design Complete

Documentation:

PROJECT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
PROJECT_ENCODED=$(echo "$PROJECT_ROOT" | sed 's|^/||' | tr '/' '-')
mkdir -p ~/.local/spellbook/docs/$PROJECT_ENCODED/plans
# Write to: ~/.local/spellbook/docs/$PROJECT_ENCODED/plans/YYYY-MM-DD-<topic>-design.md

Implementation (interactive only):

  • Ask: "Ready to set up for implementation?"
  • Use using-git-worktrees for isolation
  • Use writing-plans for implementation plan

Self-Check

Before completing:

  • Presented 2-3 approaches with trade-offs before selecting
  • Design doc written to correct external location (not project dir)
  • All sections covered: architecture, components, data flow, error handling, testing
  • No YAGNI violations (unnecessary complexity removed)
  • Mode correctly detected (synthesis vs interactive)

If ANY unchecked: STOP and fix.