Use when starting creative work — designing features, adding functionality, modifying behavior, or exploring approaches. Guides collaborative design exploration through one-at-a-time questions, approach proposals, and incremental design approval. Hard gate: no code until design approved.
From casaflownpx claudepluginhub casaperks/casaflow --plugin casaflowThis skill uses the workspace's default tool permissions.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
PURPOSE: Turn ideas into fully formed, approved designs through natural collaborative dialogue. Explore the solution space, surface cross-cutting concerns, and get user sign-off before any code is written.
CONFIGURATION: Reads jig.config.md for the Concerns Checklist (maps team skills into design review) and pipeline stage overrides by work type.
Invoke this skill when:
kickoff routes here during the BRAINSTORM stageDo NOT use when:
debug)plan)pr-create directly)Every project goes through this process. A single-function utility, a config change, a migration -- 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.
Complete these steps in order:
jig.config.mddocs/plans/YYYY-MM-DD-<topic>-design.mdplan to create implementation planflowchart TD
A[Explore project context] --> B{Visual questions ahead?}
B -->|yes| C[Offer Visual Companion<br/>own message, no other content]
B -->|no| D[Ask clarifying questions<br/>one at a time]
C --> D
D --> E[Propose 2-3 approaches<br/>with trade-offs]
E --> F[Present design sections<br/>get approval per section]
F --> G[Concerns Checklist<br/>from jig.config.md]
G --> H{User approves design?}
H -->|no, revise| F
H -->|yes| I[Write design doc<br/>docs/plans/YYYY-MM-DD-*-design.md]
I --> J[Spec self-review<br/>fix inline]
J --> K{User reviews spec?}
K -->|changes requested| I
K -->|approved| L((Invoke plan))
The terminal state is invoking plan. Do NOT invoke any other implementation skill. The ONLY skill invoked after brainstorming is plan.
Read the ## Concerns Checklist section from jig.config.md. Walk through each concern defined there. Mark N/A if it does not apply -- but explicitly mark it, do not skip silently.
For each concern:
manual -> flag for human reviewPresent the checklist results to the user as part of the design review. Each "Yes" adds scope to the plan -- the user should explicitly approve the added scope.
If no concerns checklist is configured, use the minimal defaults:
See framework/CONCERNS_CHECKLIST.md for full documentation on checklist configuration and work type behavior.
Save to: docs/plans/YYYY-MM-DD-<topic>-design.md
The design document should include:
After writing the spec document, review it with fresh eyes:
Fix any issues inline. No need to re-review -- just fix and move on.
After the self-review passes, ask the user to review the written spec before proceeding:
"Spec written to
<path>. Please review it and let me know if you want to make any changes before we start writing the implementation plan."
Wait for the user's response. If they request changes, make them and re-run the self-review. Only proceed once the user approves.
plan to create a detailed implementation planplan is the next step.A browser-based companion for showing mockups, diagrams, and visual options during brainstorming. Available as a tool -- not a mode. Accepting the companion means it is available for questions that benefit from visual treatment; it does NOT mean every question goes through the browser.
Offering the companion: When you anticipate that upcoming questions will involve visual content (mockups, layouts, diagrams), offer it once for consent:
"Some of what we're working on might be easier to explain if I can show it to you in a web browser. I can put together mockups, diagrams, comparisons, and other visuals as we go. This feature is still new and can be token-intensive. Want to try it? (Requires opening a local URL)"
This offer MUST be its own message. Do not combine it with clarifying questions, context summaries, or any other content. Wait for the user's response before continuing. If they decline, proceed with text-only brainstorming.
Per-question decision: Even after the user accepts, decide FOR EACH QUESTION whether to use the browser or the terminal. The test: would the user understand this better by seeing it than reading it?
A question about a UI topic is not automatically a visual question. "What does personality mean in this context?" is a conceptual question -- use the terminal. "Which layout works better?" is a visual question -- use the browser.
Called by:
kickoff during the BRAINSTORM stageTerminal state:
plan to create implementation planRelated skills:
prd -- for capturing formal product requirements before brainstormingplan -- the next step after design approval| Mistake | Consequence | Fix |
|---|---|---|
| Skipping design for "simple" projects | Unexamined assumptions, wasted rework | Design can be short, but it must exist |
| Multiple questions per message | User overwhelmed, answers incomplete | One question at a time, always |
| Jumping to implementation before approval | Building the wrong thing | Hard gate: no code until design approved |
| Skipping Concerns Checklist | Missing cross-cutting concerns discovered late | Walk through every concern, mark N/A explicitly |
| Writing vague design sections | Ambiguous requirements lead to wrong implementation | Scale sections to complexity, be specific |
| Not decomposing large projects | Unmanageable scope, spec too broad | Flag multi-subsystem projects, decompose first |
| Skipping user review of written spec | Misunderstandings baked into the plan | Always ask user to review before proceeding |