brainstorming
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.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
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:
- Propose 2-3 different approaches
- Include trade-offs for each
- Lead with your recommendation and why
- Let user choose or refine
Example:
I see three approaches:
1. **Component-based** (recommended) - Fits your existing pattern,
easiest to test, but more files.
2. **Inline** - Fewer files, but harder to reuse and test.
3. **Hook-based** - Most flexible, but adds complexity you may not need.
I'd go with #1 because [reasoning]. Thoughts?
Phase 3: Presenting Design
Once approach is chosen:
- Present in sections (200-300 words each)
- After each section: "Does this look right so far?"
- Be ready to revise if something doesn't fit
Cover:
- Architecture / component structure
- Data flow
- Error handling
- Testing approach
- Edge cases
Phase 4: After Design
Document
Write validated design to:
docs/plans/YYYY-MM-DD-<topic>-design.md
Commit to git.
Implementation (if continuing)
Ask: "Ready to set up for implementation?"
Then:
- Use
dm-work:worktreesto create isolated workspace - Create beads for implementation tasks
- Use
dm-work:orchestratorpatterns for delegation
Key Principles
| Principle | Why |
|---|---|
| One question at a time | Don't overwhelm |
| Multiple choice preferred | Easier to answer |
| YAGNI ruthlessly | Remove unnecessary features |
| Explore alternatives | Always 2-3 approaches before settling |
| Incremental validation | Present design in sections |
| Be flexible | Go back when something doesn't fit |
Anti-Patterns
| Don't | Do Instead |
|---|---|
| Jump to implementation | Understand first, design second |
| Ask 5 questions at once | One question per message |
| Present monolithic design | Break into 200-300 word sections |
| Skip trade-off discussion | Always propose 2-3 approaches |
| Assume you understand | Validate understanding with user |
Quick Reference
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/plans/YYYY-MM-DD-<topic>-design.md
6. If implementing: worktree → beads → orchestrate
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-02-04
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!