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

design-audit · athevon — скилл для Claude Code: что делает и как установить

Проверяет код фронтенда на проблемы с анимацией, доступностью и дизайн-токенами. Находит визуальные штампы ИИ и ошибки вёрстки перед сдачей проекта.

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

Что делает design-audit

Аудит запускается скриптом python3 "$SKILL_BASE/design-audit/scripts/audit.py" . с поддержкой флагов --json, --only и --group. Инструмент сканирует разметку .vue, .svelte, .astro, JSX и CSS, минуя папки сборки и зависимости node_modules. Скрипт делит результат на три категории: подтверждённые находки с указанием file:line, чистые проверки и неприменимые тесты для отсутствующих типов файлов.

Отдельная группа tells выявляет восемнадцать маркеров, характерных для сгенерированного кода: светящиеся границы, карточки-тройки, размытое стекло, бесконечные фоновые анимации или тире в тексте. Контрастность скрипт сам не считает, поэтому проверять соотношение цветов (4.5:1 для основного текста и 3:1 для границ) придётся вручную по значениям токенов.

Если в системе нет python3, скилл переключается на ручной разбор затронутых файлов. В таком режиме проверяются медиазапросы prefers-reduced-motion, анимации исчезновения, фокус и обработчики кликов на неинтерактивных тегах.

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

  • найти кликабельные теги div без поддержки клавиатуры
  • отловить анимацию тяжёлых свойств макета вроде width или top
  • выявить генеративные штампы вроде размытого стекла и карточек-троек
  • проверить поддержку prefers-reduced-motion в компонентах

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

  • Проведи design-audit для текущего проекта и выведи только критические ошибки.
  • Запусти аудит доступности и проверь контрастность токенов в src/.

Как установить design-audit

1Через Skills CLI (Vercel)

npx skills add AThevon/genjutsu --skill design-audit -a claude-code

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

~/.claude/skills/design-audit/SKILL.md

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

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

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

ui-ux-pro-max Подбирает дизайн-системы, палитры и шрифтовые пары под стек и тип продукта через локальную базу правил. Пригодится при вёрстке интерфейсов и проверке доступности. CX Codex +1 948установок cast Скилл для творческого кодинга: превращает статичный интерфейс в живой — движение, микроинтеракции, отклик на действия. Работает с Web, Android (Compose) и Apple (SwiftUI). CX Codex +1 1 300установок paint Запускает пайплайн дизайн-системы для веба, Compose и SwiftUI: от брейншторма арт-дирекшна до кода и аудита доступности. CX Codex +1 1 300установок motion-principles Скилл задаёт правила интерфейсной анимации: безопасные свойства, тайминги, кривые разгона и режим reduced-motion для веба, SwiftUI и Jetpack Compose. CX Codex +1 1 100установок threejs-r3f Скилл по Three.js и React Three Fiber: правила сцен, хуков, постобработки и производительности. Пригодится, когда агент пишет 3D на React. CX Codex +1 1 000установок css-native Скилл для ИИ-агента, который подсказывает, как делать анимации и визуальные эффекты на нативном CSS без библиотек. CX Codex +1 1 100установок gsap Скилл помогает агенту писать анимации GSAP: таймлайны, каскадные эффекты и ScrollTrigger. Нужен для сложных движений и прокрутки. CX Codex +1 997установок canvas-generative Скилл для алгоритмической графики на Canvas 2D: частицы, flow fields, шум, фракталы и L-системы. Пригодится, когда нужна анимация или генеративная картинка в браузере. CX Codex +1 995установок

Другие версии design-audit

Похожие

modern-web-design freshtechbro Скилл-методичка по веб-дизайну 2024-2025: тренды, микровзаимодействия, скроллителлинг, доступность и производительность. Пригодится, когда агент верстает интерфейс. CX Codex +1 2 900установок Web Design Builder rknall Собирает HTML5-макеты и лендинги по описанию, а потом сам проверяет доступность и работу интерфейса через Playwright MCP. CX Codex +1 416установок design-token-audit Owl-Listener Проверяет, где в проекте обходят дизайн-токены: находит захардкоженные значения, дубли и пробелы в наборе токенов. CX Codex +1 2 200установок better-ui jakubkrehel Скилл задаёт точные правила для радиусов, теней, иконок и анимаций интерфейса. Пригодится, когда базовые взаимодействия уже работают и нужна визуальная доводка. CX Codex +1 39 300установок emil-design-eng emilkowalski Скилл задаёт правила для полировки интерфейсов, компонентов и анимаций. Пригодится, когда UI работает, но требует более точных состояний и переходов. CX Codex +1 388 200установок design-motion-principles kylezantos Создаёт и проверяет анимации интерфейса с учётом контекста продукта и частоты действий. Нужен для переходов, состояний наведения и микровзаимодействий. CX Codex +1 12 700установок

Рядом в теме «Фронтенд и UI»

Всё по теме «Фронтенд и UI» →

Вопросы о design-audit

Как установить design-audit в Claude Code?

Выполните команду npx skills add AThevon/genjutsu --skill design-audit -a claude-code. Скилл сразу станет доступен агенту.

Что проверяет design-audit?

Скилл ищет проблемы с анимациями, ошибки доступности вроде отсутствия prefers-reduced-motion и следы шаблонных генераций ИИ. В отчёте выводятся точные координаты строк и текст найденных фрагментов.

Что делать, если в системе нет Python 3?

Скилл сообщает об отсутствии python3 и переходит к ручному аудиту изменённых компонентов. Проверяются клавиатурный фокус, анимации раскладки и медиазапросы движения.

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

SKILL.md · MIT
---
name: design-audit
description: "Design audit checklist - motion gaps, accessibility, color consistency, responsive, performance."
metadata:
  internal: true
---

> **Version-sensitive.** Every API name, SDK gate and browser-support claim below was
> verified on **2026-09-08** against primary sources. What against, and when, is in
> `_jutsu/VERSIONS.md`. If that date is old, re-verify before acting on a version number.

# Design Audit

> The final checkpoint. Loaded by `/genjutsu:paint` at the end of the pipeline.
> Scans the codebase for motion gaps, a11y violations, perf issues, and inconsistencies.

---

## The static pass

**Run the script. Do not hand-write the greps.**

```bash
python3 "$SKILL_BASE/design-audit/scripts/audit.py" .
```

Add `--json` if you want to post-process it. `--only <check-id>` runs one check, `--group tells` or
`--group hygiene` runs one group.

It reports three things, and the distinction between the last two is the whole reason it
exists:

- **findings** - the check ran and found something. Every finding carries `file:line` and the
  matched text, so you report the evidence rather than a verdict.
- **clean** - the check ran against real files and found nothing.
- **not applicable** - there were no files of that type, so the check did not run. **Report
  these as not checked. Never as passing.**

These greps used to live in this file, anchored on `src/`. A default Next.js app-router or
Nuxt 3 project has no `src/`, so they matched nothing, and the pipeline read the empty output as
a clean bill of health and said so to the user right before delivery. The script detects its
roots, skips `node_modules` and build output, covers `.vue` / `.svelte` / `.astro` alongside JSX
and CSS, and has a test per check asserting that the check can still fire.

**Tells are reported apart.** The script also runs the `tells` group: eighteen checks for
defaults a model reaches for when nothing asked for them, such as a numbered eyebrow, a weather
strip, three equal cards or a U+2014 (em dash) in the copy. Most read the displayed text of the
markup (text between tags, `alt`, `title`, `aria-label`, `placeholder`), never class names or
style objects, so `width: "100%"` is never taken for a claim of perfection. Five read the source
instead, because their tell is a class or a CSS rule: gradient text, glass, glow, blobs and
perpetual motion. Copy held in
JavaScript data (an array of features, a content file) is not displayed text to the script: read
it by hand.

They land in their own section, "Tells - confront each with the thesis before counting it",
always at `nice-to-have`, and the script never counts one as a problem, because it cannot read
the thesis. You confront each one:

- the validated thesis names the pattern (it says the studio works across Paris and Tokyo, and
  the header shows both clocks): list it as **allowed by the thesis**, with the sentence quoted;
- it does not: the tell is a problem, and it counts with the other problems.

A mood word names nothing. "Editorial" or "agency" does not allow a numbered eyebrow; most tells
are exactly the clichés those words summon. When the `tells` module was loaded, its rules decide.

The inventory also lists colours, radii and font families next to durations and easings, each
value with up to five `file:line` locations. No verdict there: compare them with the tokens and
the thesis.

**Contrast is not in the script.** Compute it yourself from the token values you emitted, and
report the pair with the ratio: `#831843 on #FDF2F8 = 9.4:1`. 4.5:1 for body text, 3:1 for large
text and UI boundaries. A swatch you looked at is not a measurement.

**If `python3` is unavailable**, say so in one line and fall back to reading the components you
touched, in this order: reduced-motion guard, exit animations, layout-property animations, focus
visibility, click handlers on non-interactive elements. Report it as a partial audit, and say
which checks you could not run.

---


## Stack-specific audit

Pick the subsection matching the project stack.

### Compose (Android / Multiplatform)
- [ ] Run **Layout Inspector** (Android Studio): inspect recompositions, identify components recomposing on every state change.
- [ ] Run **Macrobenchmark** (`androidx.benchmark.macro`): measure frame timing on a real device under representative scrolling / animation load. Target: <16.67ms per frame at 60fps, <8.33ms at 120fps.
- [ ] Inspect **recomposition counts**: Layout Inspector > Component Tree > View Options > **Show Recomposition Counts** (API 29+, Compose 1.2+). Reset the counters before each interaction so the numbers mean something. There is no `Modifier.recomposeHighlighter` in androidx - it is a sample you vendor into a debug source set.
- [ ] Generate **Baseline Profiles** (`BaselineProfileGenerator`) for production builds.
- [ ] Verify `Modifier.semantics` is set on custom components (TalkBack support).

### SwiftUI (iOS / macOS)
- [ ] Run **Instruments Time Profiler**: identify hot paths during animation (target: zero frames over 16.67ms).
- [ ] Run **Instruments Hitches Instrument** (iOS 14+): detects dropped frames and stalls.
- [ ] Run **Instruments GPU Frame Capture** for Metal shaders: verify shader compile time, GPU vs CPU bottleneck.
- [ ] Verify `.accessibilityLabel` / `.accessibilityHint` on every interactive view.
- [ ] Test with Dynamic Type at 200% size (`Environment Overrides` in Xcode).
- [ ] Test with Reduce Motion ON.

### Web
- [ ] Existing checklist above (Lighthouse, Chrome DevTools Performance, etc.).

---

## Output Format

Structure findings by severity:

### Critical (must fix before ship)
- Missing `prefers-reduced-motion` handling
- Clickable divs without keyboard support
- `outline: none` without `:focus-visible` replacement
- Animating layout properties (width/height/top/left)

### Important (fix in current sprint)
- Conditional renders without `AnimatePresence`
- Hover states without transition
- Missing `aria-hidden` on decorative animations
- `setTimeout` used for animation loops
- Inconsistent durations (>8 unique values)

### Nice-to-have (backlog)
- Lists without stagger animation
- Inline styles without transition
- Excessive `will-change` usage
- Asymmetric enter/exit (wrong direction)
- Animation library oversized for actual usage

© AThevon · MIT · AThevon/genjutsu

Смотрите также

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

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