adapt
Responsive layout pass covering breakpoints, touch targets, safe areas, and fluid type. Use when the UI has layout or touch issues on mobile/tablet, when…
Wireframe-first pass — outputs an ASCII layout + state list + content inventory + question list before any code. Use when starting a new screen from scratch or when the user's brief is still ambiguous.
> /plugin marketplace add educlopez/ui-craft > /plugin install ui-craft@ui-craft
How it fires
How this command gets triggered: by you, by Claude, or both.
/shapeContext preview
What this command does when you run it.
Wireframe-first pass — outputs an ASCII layout + state list + content inventory + question list before any code. Use when starting a new screen from scratch or when the user's brief is still ambiguous.
description: Wireframe-first pass — outputs an ASCII layout + state list + content inventory + question list before any code. Use when starting a new screen from scratch or when the user's brief is still ambiguous. argument-hint: "[screen or feature description]"
Shape the UI for `$ARGUMENTS` before writing code. Load the `ui-craft` skill.
This command produces a **shape artifact**, not JSX. The point is to force low-fi thinking — content inventory, layout regions, state coverage, open questions — before any component is written. Skipping this step is how generic AI UIs get built: straight to hi-fi, no discovery, every screen looks the same.
**Step 1 — Clarify (3-5 questions).** Ask the user before shaping. Don't guess. Minimum questions:
**Step 2 — Content inventory.** Bullet list of every piece of content that will appear. Annotate each by priority:
Example:
- P0 Headline (one line, the value prop) - P0 Primary CTA - P0 Hero chart / metric - P1 Secondary nav tabs - P1 Recent activity list - P2 Export / integrations menu
**Step 3 — ASCII layout.** Low-fi sketch showing regions. No specific copy, no colors, no font sizes. One desktop variant + one mobile variant. Use box characters:
Desktop ┌──────────────────────────────────────────────┐ │ [logo] [nav] [user] │ ├──────────────────────────────────────────────┤ │ ┌────────────────┐ ┌───────────────────┐ │ │ │ Headline + sub │ │ │ │ │ │ │ │ Hero visual │ │ │ │ [Primary CTA] │ │ │ │ │ └────────────────┘ └───────────────────┘ │ │ │ │ ── Social proof row ── │ │ │ │ ┌─── Feature 1 ───┐ ┌─── Feature 2 ───┐ │ │ └─────────────────┘ └─────────────────┘ │ └──────────────────────────────────────────────┘ Mobile ┌──────────────────┐ │ [logo] [☰] │ ├──────────────────┤ │ Headline + sub │ │ │ │ [Primary CTA] │ │ │ │ ┌── Hero ──┐ │ │ └──────────┘ │ │ │ │ Social proof │ │ │ │ Feature 1 │ │ Feature 2 │ └──────────────────┘
Asymmetry is fine and often better — don't force center-everything.
**Step 4 — State list.** Enumerate the states this screen must handle. Point at [references/state-design.md](../skills/ui-craft/references/state-design.md) for the contracts.
Mark each as **required** / **optional (why)** / **N/A**.
**Step 5 — Open questions.** Do NOT start coding until these are answered. Default set:
**Knob awareness.**
**Step 6 — Offer to persist to `.ui-craft/spec.md` (opt-in).**
After printing all five steps, offer to write the output as a spec section:
> "Write this shape to `.ui-craft/spec.md` as `## Surface: <name>`? (Persists the composition choice, layout, and acceptance bar for the build phase.)"
Print-only is the default when `/shape` is run standalone. Step 6 is the offer; it does not execute unless the user explicitly confirms.
**Output contract.**
**Next step:** `/craft` — build the surface you just wireframed (rung 1).
Ship designer-grade UI by default. A design engineering system for AI coding agents — install it as a skill or as the ui-craft CLI, and your agent starts designing like it has taste. Ask for a dashboard, get one you'd put in production.
Repo: educlopez/ui-craft
Responsive layout pass covering breakpoints, touch targets, safe areas, and fluid type. Use when the UI has layout or touch issues on mobile/tablet, when…
Motion design pass — adds purposeful animations or removes excessive ones, respecting MOTION_INTENSITY and the project's animation stack. Use when the user…
Technical UI audit — a11y, performance, responsive. Produces a prioritized findings table.
Amplify personality — raises layout variance and motion, strengthens typography and one signature detail, without slop. Use when the UI works but feels safe,…
Write or update the project's durable design brief at .ui-craft/brief.md.
UX copy review across buttons, errors, empty states, and form hints — critiques by default, applies only on request. Use when copy feels vague, generic, or…