cc-os/plugins/cc-architect/references/tool-patterns/brainstorming-pattern.md

3.4 KiB

Brainstorming Pattern

Required design refinement for non-trivial concepts before implementation.

Purpose

Refine rough ideas into clear designs through drafting, self-critique, and trade-off surfacing. Prevents building the wrong thing.

When to Use

Required for:

  • New tool concepts (skills, agents, commands)
  • Significant architectural changes
  • User has nascent idea not ready for implementation
  • Multiple valid approaches exist

Skip when:

  • User gives clear, unambiguous instructions
  • Task is purely mechanical (file moves, renames)
  • Fixing specific bugs with obvious solutions
  • User explicitly says "just do it"

Core Principles

  1. Draft first, ask later. Don't interrogate the user. Use judgment to draft, then surface gaps.

  2. Conceptual, not implementation. Output is design decisions and constraints. Implementation details come later.

  3. Always checkpoint. Write a defer file after critique. Nothing is lost if user leaves.

  4. Self-critique before presenting. Find your own issues before the user does.

Implementation Checklist

Tools implementing this pattern must:

  • Detect when brainstorming is needed (vs execution)
  • Draft a complete conceptual design first
  • Self-critique against domain anti-patterns
  • Surface trade-offs requiring user decisions
  • Write checkpoint to .claude/deferred/
  • Give user clear options: leave or continue

Workflow Structure

1. Understand intent (1-2 questions max)
   └─→ What problem? Who consumes it? Constraints?

2. Draft conceptual design
   └─→ Purpose, decisions, structure, constraints
   └─→ Identify script candidates (mechanical, repeatable components)

3. Self-critique
   └─→ Alignment with intent
   └─→ Domain anti-patterns
   └─→ Missing pieces
   └─→ Over-engineering

4. Present and checkpoint
   └─→ Show design
   └─→ Write defer file
   └─→ Offer: leave or continue

5. Resolution (if continuing)
   └─→ Work through trade-offs
   └─→ Dispatch subagents for implementation

Output Format

## Purpose
What this solves, in one paragraph.

## Design Decisions
- Decision 1: choice and why
- Decision 2: ...

## Structure
Conceptual architecture - components, relationships, boundaries.

## Constraints
- What this must do
- What this must NOT do

## Open Questions
- Questions that surfaced during drafting

Anti-patterns

Question barrage: Asking 5+ questions before drafting anything. Draft with assumptions, then validate.

Implementation creep: Including file paths, code snippets, exact structures. Stay conceptual.

Skipping critique: Presenting first draft without self-review. Always critique before showing.

Forced brainstorming: Brainstorming when user gave clear instructions. Most interactions are execution, not exploration.

Script Identification

When refining a skill design, identify which components are mechanical vs. judgment-based. Mechanical components (validation, scaffolding, structured transformations) are script candidates—note these in the design output. See Deterministic Scripting for heuristics and language selection.

Cross-references