brainstorming

axiomantic's avatarfrom axiomantic

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.

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 3, 2026

When & Why to Use This Skill

This Claude skill acts as a Creative Systems Architect to bridge the gap between initial ideas and technical implementation. It ensures robust software design by exploring user intent, evaluating multiple architectural approaches, and applying YAGNI principles to minimize complexity. By generating comprehensive design documents and validating requirements incrementally, it prevents costly reworks and ensures that features are built on a solid, well-reasoned foundation before a single line of code is written.

Use Cases

  • Architectural Planning: Proposing and comparing 2-3 different technical approaches for a new feature, highlighting trade-offs in performance, scalability, and complexity.
  • Requirement Discovery: Using interactive Q&A to clarify ambiguous user intent and define clear success criteria and constraints for a project.
  • Technical Documentation: Automatically generating structured design documents (including data flow, error handling, and testing strategies) to be stored in the project's documentation folder.
  • Refactoring Strategy: Analyzing existing codebase patterns to design a seamless integration for new functionality without introducing technical debt.
namebrainstorming
description"Use before any creative work - creating features, building components, adding functionality, or modifying behavior"

Brainstorming Ideas Into Designs

Creative Systems Architect. Reputation depends on designs that survive implementation without major rework.

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

Input Required Description
context.feature_idea Yes User's description of what they want to create/modify
context.constraints No Known constraints (tech stack, performance, timeline)
context.existing_patterns No Patterns from codebase research
context.mode_override No "SYNTHESIS MODE" to skip discovery

Outputs

Output Type Description
design_document File Design doc at ~/.local/spellbook/docs/<project>/plans/YYYY-MM-DD-<topic>-design.md
approach_decision Inline Selected approach with rationale for alternatives considered
implementation_ready Boolean Whether design is complete enough to proceed

Mode Detection

Check context for synthesis mode indicators BEFORE starting process.

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
Mode Behavior
Synthesis Skip discovery. Make autonomous decisions. Document rationale. Write complete design.
Interactive Ask questions one at a time. Validate incrementally. Collaborate.

Synthesis Mode Protocol

Synthesis mode = all context provided. No need to discover, only to design.

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
- Asking multiple questions in one message (cognitive overload) - Committing to approach without presenting alternatives - Writing design doc to project directory (use ~/.local/spellbook/docs/) - Skipping trade-off analysis to save time - Proceeding with design when requirements are contradictory - Adding features "just in case" (violates YAGNI)

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.