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-workflowThis skill uses the workspace's default tool permissions.
Do NOT invoke any implementation skill, write code, or take implementation action until design is presented and user-approved.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
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)