AgentSkillsCN

brainstorming

在开展任何创意性工作之前——无论是创建功能、构建组件、增添新功能,还是修改行为——都应先通过协作对话,深入探究用户意图、需求与设计。

SKILL.md
--- frontmatter
name: brainstorming
description: Use before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements, and design before implementation through collaborative dialogue.

Brainstorming Ideas Into Designs

Turn ideas into fully formed designs through natural collaborative dialogue.

Process: Understand context -> Ask questions one at a time -> Explore approaches -> Present design incrementally -> Validate each section.


Phase 1: Understanding

Check Project Context

Before asking questions:

  • Review relevant files, docs, recent commits
  • Understand existing patterns and constraints
  • Note what's already built that relates

Ask Questions

Rules:

  • One question per message
  • Prefer multiple choice when possible
  • Open-ended when exploration needed
  • Break complex topics into multiple questions

Focus on:

  • Purpose: What problem does this solve?
  • Constraints: What must it work with?
  • Success criteria: How do we know it's done?

Phase 2: Exploring Approaches

Once you understand the goal:

  1. Propose 2-3 different approaches
  2. Include trade-offs for each
  3. Lead with your recommendation and why
  4. Let user choose or refine

Example:

code
I see three approaches:

1. **Data-oriented** (recommended) - Fits your existing pattern,
   easiest to test, but more maps.

2. **Protocol-based** - More structured, but adds complexity.

3. **Multimethod dispatch** - Most flexible, but harder to trace.

I'd go with #1 because [reasoning]. Thoughts?

Phase 3: Presenting Design

Once approach is chosen:

  1. Present in sections (200-300 words each)
  2. After each section: "Does this look right so far?"
  3. Be ready to revise if something doesn't fit

Cover:

  • Architecture / namespace structure
  • Data flow
  • Error handling
  • Testing approach
  • Edge cases

Phase 4: After Design

Document

Write validated design to:

code
docs/design/YYYY-MM-DD-<topic>-design.md

Commit to git.

Implementation (if continuing)

Ask: "Ready to set up for implementation?"

Then:

  1. Use worktrees skill to create isolated workspace
  2. Create beads for implementation tasks
  3. Use orchestrator patterns for delegation

Key Principles

PrincipleWhy
One question at a timeDon't overwhelm
Multiple choice preferredEasier to answer
YAGNI ruthlesslyRemove unnecessary features
Explore alternativesAlways 2-3 approaches before settling
Incremental validationPresent design in sections
Be flexibleGo back when something doesn't fit

Anti-Patterns

Don'tDo Instead
Jump to implementationUnderstand first, design second
Ask 5 questions at onceOne question per message
Present monolithic designBreak into 200-300 word sections
Skip trade-off discussionAlways propose 2-3 approaches
Assume you understandValidate understanding with user

Quick Reference

code
1. Check project context (files, docs, commits)
2. Ask questions one at a time (prefer multiple choice)
3. Propose 2-3 approaches with trade-offs
4. Present design in sections, validate each
5. Write to docs/design/YYYY-MM-DD-<topic>-design.md
6. If implementing: worktree -> beads -> orchestrate