agentsclimarketplace

Skills

Skill majiayu000/spellbook/skills/brainstorming

Collaborative design refinement through Socratic dialogue. Use when exploring ideas, designing features, or planning architecture. Not for mechanical implementation tasks.From its SKILL.md

Install
npx -y skills add majiayu000/spellbook --skill brainstorming

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

3.5 KB, 775 tokens by cl100k_base, as published. Nobody here has run it

Brainstorming

From obra/superpowers

Purpose

Turn rough ideas into fully-formed designs through collaborative dialogue, NOT immediate implementation.

Use for: Exploring ideas, designing features, architecture decisions NOT for: Clear mechanical processes with obvious implementation

The Three Phases

Phase 1: Understanding the Idea

  1. Review existing context

    • Read relevant project files
    • Understand current architecture
    • Note constraints and requirements
  2. Ask clarifying questions

    • ONE question at a time
    • Prefer multiple choice when possible
    • Open-ended questions are fine too
    • Wait for answer before next question
Good: "Should this feature support offline mode?
       A) Yes, full offline support
       B) Yes, limited offline (read-only)
       C) No, online only"

Bad: "What about offline support? And caching?
      Also, how should errors be handled?"

Phase 2: Exploring Approaches

  1. Present 2-3 different solutions
    • Each with clear trade-offs
    • Lead with recommended option
    • Explain reasoning
## Approach A: Event-Driven (Recommended)
- Pros: Decoupled, scalable, easy to extend
- Cons: More complex debugging, eventual consistency
- Best for: Systems needing flexibility

## Approach B: Direct Integration
- Pros: Simple, immediate consistency
- Cons: Tight coupling, harder to scale
- Best for: Small, stable systems

## Approach C: Hybrid
- Pros: Balance of both
- Cons: Complexity of managing two patterns
- Best for: Gradual migration scenarios
  1. Discuss trade-offs
    • Performance vs simplicity
    • Flexibility vs maintainability
    • Short-term vs long-term

Phase 3: Presenting the Design

  1. Present in sections (200-300 words each)

    • Architecture overview
    • Key components
    • Data flow
    • Error handling
    • Testing strategy
  2. Validate incrementally

    • Get confirmation after each section
    • Adjust based on feedback
    • Don't dump everything at once

Key Principles

Ask Questions Sequentially

❌ Wrong:
"What's the expected load? How many users?
 What about mobile? Should it work offline?
 What's the budget? Timeline?"

✅ Right:
"What's the expected user load?
 A) <100 concurrent users
 B) 100-1000 concurrent users
 C) 1000+ concurrent users"
[Wait for answer]
"Given that load, should we prioritize...?"

YAGNI Ruthlessly

Remove unnecessary features from ALL designs:

  • Don't add "just in case" features
  • Don't over-engineer for hypothetical scale
  • Don't add flexibility that isn't needed yet

Explore Before Deciding

Never jump to first solution:

  • Consider at least 2-3 approaches
  • Understand trade-offs of each
  • Make informed recommendation

Present Incrementally

Don't dump full design at once:

  • Section by section
  • Validate understanding
  • Adjust as needed

Follow-up Actions

After design is validated:

  1. Document the design

    • Create design doc or ADR
    • Include key decisions and rationale
  2. Commit to version control

    • Design docs belong in repo
    • Track changes over time
  3. Move to implementation planning

    • Break into tasks
    • Estimate effort
    • Identify dependencies

Example Session

User: "I want to add notifications to the app"

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.