brainstorming
npx machina-cli add skill jackspace/ClaudeSkillz/brainstorming_obra --openclawBrainstorming Ideas Into Designs
Overview
Help turn ideas into fully formed designs and specs through natural collaborative dialogue.
Start by understanding the current project context, then ask questions one at a time to refine the idea. Once you understand what you're building, present the design in small sections (200-300 words), checking after each section whether it looks right so far.
The Process
Understanding the idea:
- Check out the current project state first (files, docs, recent commits)
- Ask questions one at a time to refine the idea
- Prefer multiple choice questions when possible, but open-ended is fine too
- Only one question per message - if a topic needs more exploration, break it into multiple questions
- Focus on understanding: purpose, constraints, success criteria
Exploring approaches:
- Propose 2-3 different approaches with trade-offs
- Present options conversationally with your recommendation and reasoning
- Lead with your recommended option and explain why
Presenting the design:
- Once you believe you understand what you're building, present the design
- Break it into sections of 200-300 words
- Ask after each section whether it looks right so far
- Cover: architecture, components, data flow, error handling, testing
- Be ready to go back and clarify if something doesn't make sense
After the Design
Documentation:
- Write the validated design to
docs/plans/YYYY-MM-DD-<topic>-design.md - Use elements-of-style:writing-clearly-and-concisely skill if available
- Commit the design document to git
Implementation (if continuing):
- Ask: "Ready to set up for implementation?"
- Use superpowers:using-git-worktrees to create isolated workspace
- Use superpowers:writing-plans to create detailed implementation plan
Key Principles
- One question at a time - Don't overwhelm with multiple questions
- Multiple choice preferred - Easier to answer than open-ended when possible
- YAGNI ruthlessly - Remove unnecessary features from all designs
- Explore alternatives - Always propose 2-3 approaches before settling
- Incremental validation - Present design in sections, validate each
- Be flexible - Go back and clarify when something doesn't make sense
Source
git clone https://github.com/jackspace/ClaudeSkillz/blob/master/skills/brainstorming_obra/SKILL.mdView on GitHub Overview
Brainstorming helps turn rough ideas into fully formed designs and specs through collaborative dialogue. It starts by understanding the current project context, then asks one-question-at-a-time to refine the idea, and presents the design in small sections (200-300 words) for incremental validation.
How This Skill Works
Begin by inspecting the current project state (files, docs, recent commits) and iteratively refine purpose, constraints, and success criteria with one-question-at-a-time prompts (favoring multiple-choice when possible). Next, explore 2-3 design approaches with trade-offs, presenting the options with a recommended path and rationale. Finally, present the design in 200-300 word sections for validation after each segment, document the validated design to docs/plans/YYYY-MM-DD-<topic>-design.md, and commit the changes.
When to Use It
- Kick off a new feature when requirements are fuzzy and multiple approaches exist
- Clarify project context by reviewing the current state before writing implementation plans
- Explore 2-3 architectural options with trade-offs and select a preferred path
- Present designs in incremental sections (200-300 words) for staged feedback
- Document and commit a validated design before transitioning to implementation
Quick Start
- Step 1: Understand the project by reviewing current files, docs, and recent commits
- Step 2: Ask one focused question at a time to refine purpose and constraints (favor multiple-choice prompts)
- Step 3: Explore 2-3 design options with trade-offs, present the recommended design, deliver in 200-300 word sections, validate after each, then document to docs/plans and commit
Best Practices
- Ask one well-scoped question at a time
- Prefer multiple-choice prompts to speed decision-making
- YAGNI ruthlessly: remove unnecessary features from all designs
- Propose 2-3 alternatives before settling on one
- Validate the design incrementally after each section and be willing to revise
Example Use Cases
- Designing a new feature with unclear requirements by iteratively refining goals and constraints
- Choosing between REST and GraphQL by presenting 2-3 architectural options with trade-offs
- Refactoring a legacy module using incremental design sections to validate changes
- Architecting a data processing pipeline with modular components and clear data flow
- Specifying a UI component with interaction flows and error handling before coding