Use when creating or developing, before writing code or implementation plans - refines rough ideas into fully-formed designs through collaborative questioning, alternative exploration, and incremental validation. Don't use during clear 'mechanical' processes
Transforms rough ideas into fully-formed designs through collaborative questioning and incremental validation. Use when starting new features or refactoring—before writing code or implementation plans.
/plugin marketplace add pproenca/dot-claude-old/plugin install core@dot-claudeThis skill is limited to using the following tools:
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.
Announce at start: "I'm using the brainstorming skill to refine this idea into a design."
Create TodoWrite todos for each phase:
Mark each phase as in_progress when starting, completed when done. This makes progress visible and prevents skipping phases.
Use the AskUserQuestion tool for structured decision points:
Keep free-form conversation for:
Principle: Structured questions for decisions, conversational for discovery.
Step 1: Check project context
Step 2: Gather initial constraints
Use AskUserQuestion to understand scope:
Question: "What is the scope of this feature?"
Header: "Scope"
Options:
- MVP / Proof of concept: Minimal viable implementation to validate the idea
- Production-ready: Full implementation with error handling, tests, and docs
- Enhancement: Adding to existing feature rather than building new
Step 3: Identify target users (if unclear)
Use AskUserQuestion when user type matters:
Question: "Who is the primary user of this feature?"
Header: "User"
Options:
- End users: External users of the application
- Developers: Engineers working with the codebase
- Both: Needs to serve multiple user types
Step 4: Gather constraints
Use AskUserQuestion with multiSelect for constraints:
Question: "What constraints should I consider?"
Header: "Constraints"
multiSelect: true
Options:
- Performance-critical: Speed and efficiency are primary concerns
- Backwards compatible: Must not break existing functionality
- Security-sensitive: Requires security review and hardening
- External dependencies: Integrates with third-party services
Step 5: Context-specific questions
Continue with free-form questions one at a time:
Step 1: Identify 2-3 approaches
After understanding the idea, propose 2-3 different approaches:
Step 2: Get approach selection
Use the AskUserQuestion tool (do NOT output as plain text):
Question: "Which approach would you prefer?" Header: "Approach" Options:
Generate option labels and descriptions dynamically based on the approaches identified.
Step 1: Present design in sections
Once approach is selected, present the design:
Step 2: Validate each section
After each section, use AskUserQuestion:
Question: "Does this section of the design look right?"
Header: "Feedback"
Options:
- Looks good: This section is accurate, proceed to next
- Minor tweaks: Small changes needed, I will specify
- Needs rethinking: This approach has issues, let's discuss
If "Minor tweaks" or "Needs rethinking" selected, pause for their input.
Step 3: Handle feedback
Step 1: Documentation decision
Use the AskUserQuestion tool (do NOT output as plain text):
Question: "How should I proceed with documentation?" Header: "Docs" Options:
Step 2: Save design (if chosen)
docs/plans/YYYY-MM-DD-<topic>-design.mdStep 3: Implementation handoff
Use the AskUserQuestion tool (do NOT output as plain text):
Question: "Ready to proceed with implementation?" Header: "Next step" Options:
Step 4: Execute choice
Use free-form text instead when:
The "Other" option in AskUserQuestion always allows custom input, but some questions are better asked conversationally.
REQUIRED SUB-SKILLS (when continuing to implementation):
Pairs with:
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.