Help us improve
Share bugs, ideas, or general feedback.
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.
npx claudepluginhub n0rvyn/indie-toolkit --plugin dev-workflowHow 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.
Guides technical evaluation of code review feedback: read fully, restate for understanding, verify against codebase, respond with reasoning or pushback before implementing.
Share bugs, ideas, or general feedback.
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)