$npx -y skills add omnigentx/jarvis --skill brainstormingStructured approach to explore ideas, clarify requirements, and propose designs before implementation. Use before any creative or planning work.
| 1 | # Brainstorming Ideas Into Designs |
| 2 | |
| 3 | Inspired by [obra/superpowers](https://github.com/obra/superpowers/tree/main/skills/brainstorming). |
| 4 | |
| 5 | Turn rough ideas into fully-formed designs through structured exploration. |
| 6 | |
| 7 | **Core rule:** Do NOT implement anything until the design is agreed upon. |
| 8 | |
| 9 | ## Process |
| 10 | |
| 11 | ### 1. Understand Context |
| 12 | - Review current project state (files, docs, existing code) |
| 13 | - Assess scope — is this one task or multiple sub-projects? |
| 14 | - If too large, decompose into smaller pieces first |
| 15 | |
| 16 | ### 2. Ask Clarifying Questions |
| 17 | - One question at a time |
| 18 | - Prefer multiple-choice when possible |
| 19 | - Focus on: purpose, constraints, success criteria |
| 20 | |
| 21 | ### 3. Explore Approaches |
| 22 | - Propose 2-3 different approaches with trade-offs |
| 23 | - Lead with your recommendation and explain why |
| 24 | - Be honest about complexity vs. simplicity |
| 25 | |
| 26 | ### 4. Present Design |
| 27 | - Architecture overview |
| 28 | - Components and their responsibilities |
| 29 | - Data flow |
| 30 | - Error handling strategy |
| 31 | - Testing approach |
| 32 | |
| 33 | ### 5. Get Agreement |
| 34 | - Present each section, confirm before moving on |
| 35 | - Be ready to revise based on feedback |
| 36 | - Document the final design |
| 37 | |
| 38 | ## Key Principles |
| 39 | |
| 40 | - **YAGNI ruthlessly** — Remove features that aren't needed yet |
| 41 | - **Explore alternatives** — Always propose 2-3 approaches |
| 42 | - **Incremental validation** — Confirm each section |
| 43 | - **Design for isolation** — Each component should have one clear purpose |
| 44 | - **Smaller units** — Easier to understand, test, and modify |
| 45 | |
| 46 | ## In Multi-Agent Context |
| 47 | |
| 48 | When brainstorming in a meeting: |
| 49 | - Use `speak()` to propose ideas and ask questions |
| 50 | - Wait for other agents' input before finalizing |
| 51 | - Summarize the agreed design before moving to implementation |