From dev-workflow
Use before any creative work — creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dev-workflow:brainstormThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Do NOT invoke any implementation skill, write code, or take implementation action until design is presented and user-approved.
Do NOT invoke any implementation skill, write code, or take implementation action until design is presented and user-approved.
If the user already has 2+ concrete options and needs to pick one, use dev-workflow:design-decision instead.
First, search the knowledge base (if search tool available):
search(query="<domain keywords>", source_type=["doc", "error", "lesson"], project_root="<cwd>")Then:
Ask one question at a time. Wait for the answer before asking the next.
Focus on:
For each approach, provide:
Follow the comparison table format from CLAUDE.md Rule 13:
| Approach | Architecture Fit | Implementation Size | Risk/Cost | Best For |
|---|---|---|---|---|
| A | ... | ... | ... | ... |
| B | ... | ... | ... | ... |
Mark your recommendation and explain why in one sentence.
After the user picks a direction:
If the design involves user-visible behavior (UI components, interaction flows, navigation changes), add a final design section with two parts:
Part 1: User Journeys
Step-by-step narratives of what the user sees and does. One journey per primary flow. These give the plan-writer readable context to understand interaction intent.
## User Journeys
### Journey: [Name]
1. User [action] → sees [result]
2. User [action] → [component] responds with [behavior]
3. ...
Part 2: UX Assertions
Structured, verifiable assertions. Each captures one specific behavioral expectation with a concrete verification method. These are checkpoints that the plan-verifier uses to validate plan faithfulness.
## UX Assertions
| ID | Assertion | Verification |
|----|-----------|-------------|
| UX-001 | [Behavioral expectation in user's language] | [How to verify in code: Grep target, component check, state inspection] |
| UX-002 | ... | ... |
Rules:
If the design has no user-visible behavior (pure infrastructure, data model only), skip this section.
If the design involves user-visible UI (same trigger as 4a), confirm these visual decisions before saving the design document:
Hierarchy Strategy
Spacing & Density
Color Scheme
Present as table for user confirmation:
| Page/Component | Info Hierarchy | Density | Key Color Decisions |
|---|---|---|---|
| {page name} | Primary: X, Secondary: Y, Tertiary: Z | Standard | Reuse existing palette |
User can skip rows — use project defaults or ui-design-principles.md reference values. These decisions flow into the design document and constrain plan-writer output.
If the design has no user-visible behavior (pure infrastructure, data model only), skip this section.
Write the approved design to:
docs/06-plans/YYYY-MM-DD-<topic>-design.md
The design document must begin with YAML frontmatter:
---
type: design
status: active
tags: [tag1, tag2]
refs: []
---
type is always design. tags — derive 2-5 keywords from the design topic and major concepts discussed (e.g., a sync feature design → [sync, conflict-resolution, offline]). refs — list the project brief path and any architecture docs referenced during the brainstorm session. status starts as active.
If Step 4b (Visual Design Decisions) was completed, include a ## Visual Design Decisions section in the design document with the confirmed hierarchy/density/color table.
If the design is primarily architectural (data model, service layer, component boundaries), also save or symlink to docs/02-architecture/ so it's discoverable alongside other architecture docs.
After design is approved, inform the user based on the design type:
If the design has UX Assertions (user-visible UI):
Design approved. Before writing the implementation plan, consider creating a visual prototype:
- Use
/generate-design-promptto get a Stitch or Figma prompt based on this design- Create the prototype in your design tool
- Use
/understand-designto bring the prototype back for AI analysis- If issues found: use
/generate-design-prompt refineto get improvement prompts, iterate- Then use
/write-planto create the implementation planOr skip prototyping and go directly to
/write-plan.
If the design is infrastructure-only (no UX Assertions):
Design approved. Use
/write-planto create a structured implementation plan.
If significant decisions were made during this brainstorm (rejected alternatives, changed assumptions, architectural constraints):
Consider running
/crystallizeto lock these decisions before proceeding to/write-plan. This ensures the plan-verifier agent — which runs in a separate context for unbiased review — knows what was discussed and decided.
docs/06-plans/ (Step 5 completed)npx claudepluginhub n0rvyn/indie-toolkit --plugin dev-workflowGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.