К основному содержанию
скилл CX Codex

shape — скилл для Claude Code: вайрфрейм до кода

Скилл прогоняет экран через вайрфрейм-проход: ASCII-раскладка, список состояний, инвентарь контента и открытые вопросы — до первой строки кода.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add educlopez/ui-craft --skill shape -a claude-code
Открыть на GitHub

Что делает shape

shape — это скилл из набора ui-craft, который отвечает за низкоуровневое мышление перед вёрсткой. Вместо того чтобы сразу писать JSX, агент сначала задаёт 3–5 уточняющих вопросов: какое главное действие на экране, что видно по умолчанию, а что спрятано за кликом, как выглядит успех. Дальше он собирает инвентарь контента с приоритетами P0/P1/P2, рисует ASCII-раскладку для десктопа и мобильной версии, перечисляет состояния (idle, loading, empty, error, partial, conflict, offline, success) и выносит открытые вопросы — про акцентный цвет, типографику, брейкпоинты, стек и источник данных.

Скилл работает как отдельная слэш-команда /shape и может быть встроен в более широкий пайплайн ui-craft. Если установлен и сам ui-craft, shape сначала читает его SKILL.md, чтобы применить Discovery и Craft Test, а потом уже берётся за конкретный экран. При CRAFT_LEVEL ≥ 7 добавляются секции про motion shape и типографическую иерархию, при CRAFT_LEVEL ≤ 4 список состояний урезается до idle/loading/error.

По умолчанию результат только печатается. Скилл может предложить сохранить его в .ui-craft/spec.md как секцию ## Surface: <name>, но файл создаётся только после явного подтверждения. Никакого JSX, CSS или кода компонентов на этом шаге не пишется — это принципиальная позиция автора: пропуск вайрфрейма и есть причина, по которой ИИ-интерфейсы выходят одинаковыми.

Какие задачи решает

  • разложить экран на регионы до того, как писать компоненты
  • выяснить у заказчика главное действие и критерий успеха
  • собрать инвентарь контента с приоритетами P0/P1/P2
  • перечислить состояния экрана и не забыть про empty и error
  • зафиксировать открытые вопросы по цвету, шрифтам и брейкпоинтам

Примеры запросов агенту

  • /shape экран онбординга нового пользователя
  • /shape дашборд с метриками и списком последних событий
  • /shape форма оформления заказа — бриф пока размытый

Как установить shape

1Через Skills CLI (Vercel)

npx skills add educlopez/ui-craft --skill shape -a claude-code

2Вручную: положить файлы

~/.claude/skills/shape/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/shape/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о shape

Как установить shape в Claude?

Выполните npx skills add educlopez/ui-craft --skill shape -a claude-code. Скилл появится в ~/.claude/skills/shape/SKILL.md.

Что делает shape?

Прогоняет экран через вайрфрейм-проход: уточняющие вопросы, инвентарь контента, ASCII-раскладка для десктопа и мобильной, список состояний и открытые вопросы. Код на этом шаге не пишется.

Что нужно, чтобы shape заработал?

Скилл ссылается на файлы из набора ui-craft — например, references/state-design.md и references/spec.md. Если установлен и сам ui-craft, shape сначала читает его SKILL.md, чтобы применить Discovery и Craft Test.

Исходный текст

SKILL.md · MIT
---
name: shape
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. Invoke when the user asks for shape on their UI, or mentions 'shape' alongside design / UI / frontend work."
---

<!-- HARNESS MIRROR — do not edit here. Canonical source: skills/ or commands/. After editing source, copy into cli/assets/<harness>/ and repo-root harness mirrors. -->

**Context:** this sub-skill is one lens of the broader `ui-craft` skill. If the `ui-craft` skill is also installed, read its SKILL.md first for Discovery + Anti-Slop + Craft Test, then apply the specific lens below.

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:

- What's the **primary user action** on this screen? (One verb, one object.)
- What data is **visible by default** vs **hidden behind a click or tab**?
- What does **success** look like — a state, a redirect, a toast?
- Who's the **primary user** — first-timer, power user, mobile-first?

**Step 2 — Content inventory.** Bullet list of every piece of content that will appear. Annotate each by priority:

- **P0** — must be visible on first paint. Cut it and the screen fails.
- **P1** — one click away (tab, accordion, drawer).
- **P2** — settings-level; rarely accessed.

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.

- **idle** — default state, data present.
- **loading** — skeletons that mirror final layout, 200ms delay before showing.
- **empty** — first-run or no data; doubles as onboarding.
- **error** — specific cause + recovery action + support ID.
- **partial** — some data loaded, some failed (e.g., one widget erred).
- **conflict** — user-edit collision (rare but load-bearing on collaborative surfaces).
- **offline** — queue writes, reconcile on reconnect.
- **success** — confirmation state after the primary action completes.

Mark each as **required** / **optional (why)** / **N/A**.

**Step 5 — Open questions.** Do NOT start coding until these are answered. Default set:

- Accent color — brand-defined, or to be chosen? (See Discovery in `SKILL.md`.)
- Typography — existing tokens, or new system? (Reference `typography.md`.)
- Responsive breakpoints — what's the minimum supported width?
- Stack — CSS only, or Motion / GSAP / Three.js? (Only load `stack.md` if the user opts in.)
- Data source — real API ready, or mock for shape?
- Keyboard / a11y requirements — anything beyond the baseline from `accessibility.md`?

**Knob awareness.**

- At `CRAFT_LEVEL ≥ 7`, add two more sections:
  - **Motion shape** — which elements enter, in what order, with what stagger. Pick from the duration scale in `references/motion.md`.
  - **Typography hierarchy plan** — display / headline / body / label sizes and weights, before code.
- At `CRAFT_LEVEL ≤ 4`, strip Step 4 to `idle / loading / error` only. Skip the motion shape.

**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.)"

- **User confirms →** format the output as a `## Surface: <name>` section following the template in `../skills/ui-craft/references/spec.md`, then write or append to `.ui-craft/spec.md`. Confirm in one line: "Written to `.ui-craft/spec.md` → `## Surface: <name>`."
- **User declines →** do not write any file. The printed output stands. Note: "spec.md not written — the pipeline continues without a persisted acceptance bar."

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.**

- Produce a single Markdown block with all five steps, in order. Step 6 is the optional offer that follows.
- Do **NOT** write JSX, CSS, or component code in this command.
- End the output with: _"Ready to build? Review the shape, confirm the open questions, then run `/ui-craft:audit` (or use Build mode) once the code exists."_

**Next step:** `/craft` — build the surface you just wireframed (rung 1).

© educlopez · MIT · educlopez/ui-craft

Похожие скиллы

Всё по теме «Фронтенд и UI» →
hallmark Nutlope Скилл для ИИ-кодинга, который заставляет сгенерированные интерфейсы выглядеть сделанными, а не сгенерированными. Пригодится, когда просишь агента собрать новую страницу или сайт. CX Codex +1 70 800установок mies deeflect Скилл для ИИ-кодинга, который заставляет агента убирать лишнее в интерфейсах и доводить детали до аккуратности. Пригодится, когда верстаете UI, дашборд или онбординг. CX Codex +1 9 600установок antislop-ui miqdadbadjuber Скилл задаёт правила для цвета, компоновки, компонентов и анимации интерфейсов. Нужен при создании или правке сайта, веб-приложения или другой UI. CX Codex +1 6 400установок design-brief julianoczkowski Проводит интервью о задаче, смотрит существующий код и сохраняет дизайн-бриф в markdown. Пригодится перед стартом новой страницы или фичи. CX Codex +1 5 300установок ui-designer daniel-dan-conrad Скилл для сборки фронтенда с осознанным визуальным направлением: типографика, цвет, движение и композиция вместо дефолтных решений. CX Codex +1 3 600установок

Из того же набора13

ui-craft-minimal Настраивает агента на вёрстку минималистичных интерфейсов в духе Linear, Notion и Vercel. Фиксирует монохромную гамму, крупный воздух и запрещает лишнюю анимацию. CX Codex +1 897установок ui-craft-editorial Скилл настраивает журнальную типографику для блогов, лонгридов и медиа. Он фиксирует параметры чтения, ограничивает палитру и запрещает продуктовые шрифты. CX Codex +1 896установок colorize Скилл добавляет один акцент в 3–5 местах интерфейса или убирает лишний цвет, возвращая экран к нейтральной основе. CX Codex +1 888установок heuristic Прогоняет интерфейс по 10 эвристикам Нильсена и 6 законам дизайна, выдаёт таблицу находок и балл UsabilityScore от 0 до 100. CX Codex +1 879установок tokens Проверяет, как в проекте устроены дизайн-токены, и помогает собрать трёхслойную систему с нуля. Пригодится, когда цвета и отступы расползлись по файлам. CX Codex +1 853установок finalize Прогоняет интерфейс через детектор, токены и 10 проходов планки качества, а потом выдаёт вердикт: READY, NOT READY или BLOCKED. CX Codex +1 850установок brief Создаёт или обновляет дизайн-бриф проекта в файле .ui-craft/brief.md. Помогает зафиксировать назначение интерфейса, принципы и границы продукта перед генерацией UI. CX Codex +1 849установок redesign Обновляет интерфейс сайта или приложения без потери структуры, SEO и конверсионных форм. Помогает освежить визуал, когда код и контент уже работают. CX Codex +1 463установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой