You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
Transforms vague ideas into validated designs through structured questioning before any implementation begins.
/plugin marketplace add oskar-dragon/claude-code/plugin install superpowers@claude-codeThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/formats.mdHelp 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 and get user approval.
<HARD-GATE> Do NOT invoke any implementation skill, write any code, scaffold any project, or take any implementation action until you have presented a design and the user has approved it. This applies to EVERY project regardless of perceived simplicity. </HARD-GATE>Every project goes through this process. A todo list, a single-function utility, a config change — all of them. "Simple" projects are where unexamined assumptions cause the most wasted work. The design can be short (a few sentences for truly simple projects), but you MUST present it and get approval.
You MUST create a task for each of these items and complete them in order:
docs/plans/<feature-name>/design.md (or design.local.md if non-committable) and commit (if committable)After exploring project context (checklist step 1), ask the committable question:
AskUserQuestion:
question: "Should planning documents for this workflow be committed to git?"
header: "Documents"
options:
- label: "Yes, commit to git (Recommended)"
description: "Documents use .md extension and are committed. Good for team visibility and history."
- label: "No, keep local only"
description: "Documents use .local.md extension and stay gitignored. Good for exploratory/throwaway work."
This choice determines file extensions for the entire workflow:
| Committable | Design | Plan | Tasks |
|---|---|---|---|
true | design.md | plan.md | tasks.json |
false | design.local.md | plan.local.md | tasks.local.json |
Propagation: Include **Committable:** true (or false) in the design doc header. Downstream skills read this field.
digraph brainstorming {
"Explore project context" [shape=box];
"Ask clarifying questions" [shape=box];
"Propose 2-3 approaches" [shape=box];
"Present design sections" [shape=box];
"User approves design?" [shape=diamond];
"Write design doc" [shape=box];
"Invoke writing-plans skill" [shape=doublecircle];
"Explore project context" -> "Ask clarifying questions";
"Ask clarifying questions" -> "Propose 2-3 approaches";
"Propose 2-3 approaches" -> "Present design sections";
"Present design sections" -> "User approves design?";
"User approves design?" -> "Present design sections" [label="no, revise"];
"User approves design?" -> "Write design doc" [label="yes"];
"Write design doc" -> "Invoke design-reviewer agent";
"Invoke design-reviewer agent" -> "All findings resolved?" [shape=diamond];
"All findings resolved?" -> "Invoke design-reviewer agent" [label="no, resolve remaining"];
"All findings resolved?" -> "Invoke writing-plans skill" [label="yes"];
}
The terminal state is invoking writing-plans. Design review is a mandatory intermediate step — writing-plans is never invoked without it.
Understanding the idea:
Exploring approaches:
Presenting the design:
references/formats.mdDocumentation:
docs/plans/<feature-name>/design.md (or design.local.md if non-committable)**Committable:** true (or false) in the design doc header blockDesign Review:
<HARD-GATE> Do NOT invoke writing-plans until the design-reviewer agent has been invoked AND all findings have been explicitly resolved (fix or dismiss). This gate applies even if the design review finds nothing — the agent must still run and confirm zero findings. </HARD-GATE>Implementation:
REQUIRED: Use Claude Code's native task tools to create structured tasks during the design process.
After each design section is validated by the user, create a task:
TaskCreate:
subject: "Implement [Component Name]"
description: |
[Key requirements from the design section]
Acceptance Criteria:
- [ ] [Criterion from design]
- [ ] [Criterion from design]
activeForm: "Implementing [Component Name]"
Track all task IDs for dependency setup.
Set up dependency relationships:
TaskUpdate:
taskId: [dependent-task-id]
addBlockedBy: [prerequisite-task-ids]
Run TaskList to display the complete task structure with dependencies.
Include task IDs in the design document for reference.
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.