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

typeset — скилл для Claude Code: типографика интерфейса

Разбирает шрифты, шкалу размеров и иерархию текста в интерфейсе и приводит их к системе. Пригодится, когда вёрстка выглядит сырой.

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

Что делает typeset

Скилл запускается по /typeset и сначала оценивает текущую типографику по пяти пунктам: выбор шрифтов, иерархия, размеры и шкала, читаемость, единообразие. Отдельно помечает «невидимые дефолты» вроде Inter, Roboto, Arial и системных шрифтов, слишком близкие размеры (14, 15, 16 px дают мутную иерархию) и слабый контраст по весу. Дальше он строит план: замена шрифтов, шкала, стратегия весов, отступы и схема ролей, чтобы следующие экраны оставались в той же системе.

Правки идут по конкретным правилам. Для приложений — фиксированная rem-шкала, для лендингов и контентных страниц — clamp(min, preferred, max) для заголовков, тело текста остаётся фиксированным. Длина строки ограничивается через max-width: 65ch, тело — не меньше 16px, line-height 1.1–1.2 для заголовков и 1.5–1.7 для текста. Для таблиц и чисел — tabular-nums и выравнивание по правому краю, для мелких капсов — трекинг. Токены советует называть по роли (--text-body, --text-heading), а не по значению.

Перед работой скилл требует загрузить $frontend-design — оттуда берутся принципы дизайна и протокол сбора контекста. Если контекста проекта ещё нет, сначала придётся загрузить $setup. Так что это не самостоятельный инструмент, а шаг внутри цепочки скиллов better-web-ui. Ещё он опирается на справочники по типографике и иерархии текста из того же репозитория.

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

  • заменить дефолтные Inter и Roboto на шрифт под характер бренда
  • развести размеры заголовков и текста, чтобы иерархия читалась с первого взгляда
  • ограничить длину строки до комфортных 45–75 символов
  • привести веса к трём-четырём ролям вместо десятка похожих
  • выровнять числа в таблицах через tabular-nums

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

  • прогони /typeset по странице настроек — иерархия текста смазанная
  • типографика выглядит дженерично, поправь шкалу и веса
  • текст в карточках тяжело читать, разберись с длиной строки и line-height

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

1Через Skills CLI (Vercel)

npx skills add aladicf/better-web-ui --skill typeset -a claude-code

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

~/.claude/skills/typeset/SKILL.md

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

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

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

audit Прогоняет код по пяти направлениям: доступность, производительность, темы, адаптивность и анти-паттерны. Выдаёт отчёт со скорингом и планом правок. CX Codex +1 625установок animate Добавляет в интерфейс движение: переходы, микроинтеракции, жесты и состояния наведения. Пригодится, когда UI кажется мёртвым или дёргается при частом использовании. CX Codex +1 607установок hierarchy Скилл разбирает интерфейс по визуальной иерархии: где главное действие теряется, что спорит за внимание и какие подписи мешают читать. CX Codex +1 606установок arrange Скилл разбирает слабую пространственную композицию интерфейса: произвольные отступы, слипшиеся блоки, однообразные сетки карточек. CX Codex +1 577установок data-viz Скилл для проектирования графиков, дашбордов и таблиц с данными. Помогает выбрать тип диаграммы и не забыть про доступность. CX Codex +1 568установок empty-state Скилл для проектирования пустых состояний: нулевые данные, пустая выдача поиска, отказы в доступе и ошибки. Пригодится, когда экран встречает пользователя надписью «Нет элементов». CX Codex +1 552установок a11y Разбирает интерфейс по клавиатуре, скринридеру, контрасту и семантике, а потом правит найденное. Пригодится, когда компонент не работает без мыши. CX Codex +1 561установок colorize Скилл для ИИ-кодинга, который добавляет цвет в слишком серые интерфейсы: семантику состояний, акценты и цветовую иерархию. Пригодится, когда макет выглядит безжизненно. CX Codex +1 551установок

Похожие

editorial typeui.sh Скилл задаёт правила редакционного дизайна: серифная типографика, 8pt-сетка, токены цветов и проверки доступности. Пригодится, когда верстаете лонгрид или документацию. CX Codex +1 2 700установок typography-scale Owl-Listener Строит модульную типографическую шкалу: размеры, насыщенность, межстрочный интервал. Пригодится, когда верстаете дизайн-систему с нуля. CX Codex +1 2 600установок brutalism typeui.sh Скилл задаёт агенту правила бруталистского дизайна: бетонная эстетика, резкие макеты, функциональный минимализм. Пригодится, когда нужен интерфейс без глянца. CX Codex +1 2 400установок industrial-brutalist-ui nexu-io Скилл задаёт жёсткие правила визуального стиля для дашбордов, портфолио и редакционных сайтов. Механика, плотные сетки, моноширинные шрифты и эффекты старого железа. CX Codex +1 1 700установок framed-tech-dark-border-gradient MengTo Скилл задаёт ИИ-агенту направление тёмного технического дизайна: рамки, градиентные границы, асимметричные панели и монохромная типографика. CX Codex +1 1 400установок light-mode-paper-technical MengTo Задаёт направление дизайн-системы: тёплые бумажные поверхности, тёмная внешняя рамка, тонкая диагональная текстура и один сдержанный акцент. CX Codex +1 1 400установок

Рядом в теме «Дизайн»

Всё по теме «Дизайн» →

Вопросы о typeset

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

Выполните npx skills add aladicf/better-web-ui --skill typeset -a claude-code. Скилл окажется в ~/.claude/skills/typeset/SKILL.md.

Что делает typeset?

Оценивает шрифты, шкалу размеров, иерархию, веса и читаемость в интерфейсе, затем предлагает системные правки. Цель — чтобы текст выглядел осознанно выбранным, а не дефолтным.

Что нужно, чтобы скилл заработал?

Он требует загрузить $frontend-design с принципами дизайна и протоколом сбора контекста. Если контекста проекта ещё нет, сначала загружается $setup.

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

SKILL.md · MIT
---
name: typeset
description: Improve UI typography by fixing font choices, type scale, hierarchy, weight, and readability so text feels intentional. Use when the user mentions fonts, typography, type scale, readability, text hierarchy, or sizing that feels off.
metadata:
   argument-hint: "[target]"
---

Assess and improve typography that feels generic, inconsistent, or poorly structured — turning default-looking text into intentional, well-crafted type.

## MANDATORY PREPARATION

Users start this workflow with `/typeset`. Once this skill is active, load $frontend-design — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow that protocol before proceeding — if no design context exists yet, you MUST load $setup first.

---

## Assess Current Typography

Analyze what's weak or generic about the current type:

1. **Font choices**:
   - Are we using invisible defaults? (Inter, Roboto, Arial, Open Sans, system defaults)
   - Does the font match the brand personality? (A playful brand shouldn't use a corporate typeface)
   - Are there too many font families? (More than 2-3 is almost always a mess)

2. **Hierarchy**:
   - Can you tell headings from body from captions at a glance?
   - Are font sizes too close together? (14px, 15px, 16px = muddy hierarchy)
   - Are weight contrasts strong enough? (Medium vs Regular is barely visible)

3. **Sizing & scale**:
   - Is there a consistent type scale, or are sizes arbitrary?
   - Does body text meet minimum readability? (16px+)
   - Is the sizing strategy appropriate for the context? (Fixed `rem` scales for app UIs; fluid `clamp()` for marketing/content page headings)

4. **Readability**:
   - Are line lengths comfortable? (45-75 characters ideal)
   - Is line-height appropriate for the font and context?
   - Is there enough contrast between text and background?
   - Are italics, underlines, and all-caps being used deliberately rather than as decoration?

5. **Consistency**:
   - Are the same elements styled the same way throughout?
   - Are font weights used consistently? (Not bold in one section, semibold in another for the same role)
   - Is letter-spacing intentional or default everywhere?
   - Is capitalization consistent by role? (titles, buttons, labels, toasts, metadata)

**CRITICAL**: The goal isn't to make text "fancier" — it's to make it clearer, more readable, and more intentional. Good typography is invisible; bad typography is distracting.

## Plan Typography Improvements

Consult the [typography reference](../frontend-design/reference/typography.md) from the frontend-design skill for detailed guidance on scales, pairing, loading strategies, and font-selection heuristics.
Consult the [text hierarchy and readability](../frontend-design/reference/text-hierarchy-and-readability.md) for line length, line-height, alignment, baseline, label/value handling, semantic-vs-visual hierarchy, link emphasis, and numeric alignment.
Consult the [hierarchy checklist](../frontend-design/reference/hierarchy-checklist.md) when typography problems are really hierarchy problems in disguise.

Treat the shared text hierarchy/readability reference as the common source for reading comfort and text-structure rules, then apply the typography-specific changes here.

Create a systematic plan:

- **Font selection**: Do fonts need replacing? What fits the brand/context?
- **Type scale**: Establish a constrained UI scale; use modular scales as inspiration, then hand-craft the actual steps you need
- **Weight strategy**: Which weights serve which roles? (Regular for body, Semibold for labels, Bold for headings — or whatever fits)
- **Spacing**: Line-heights, letter-spacing, and margins between typographic elements
- **Schema**: Are the typography roles documented clearly enough that future screens can stay consistent?

## Improve Typography Systematically

### Font Selection

If fonts need replacing:
- Choose fonts that reflect the brand personality
- Pair with genuine contrast (serif + sans, geometric + humanist) — or use a single family in multiple weights
- Prefer families with a healthy range of weights; families with more weights are usually more carefully built
- Optimize for legibility in UI text — avoid condensed display faces with short x-heights for body copy
- Ensure web font loading doesn't cause layout shift (`font-display: swap`, metric-matched fallbacks)

### Establish Hierarchy

Build a clear type scale:
- **5-7 sizes cover most needs**: caption, secondary, body, subheading, heading, display, optional eyebrow
- **Use ratios to explore, then commit to real values** that feel right in the interface
- **Combine dimensions**: Size + weight + color + space for strong hierarchy — don't rely on size alone
- **Use dramatic enough weight contrast** that the hierarchy is obvious; medium vs regular is often too subtle
- **App UIs**: Use a fixed `rem`-based type scale, optionally adjusted at 1-2 breakpoints. Fluid sizing undermines the spatial predictability that dense, container-based layouts need
- **Marketing / content pages**: Use fluid sizing via `clamp(min, preferred, max)` for headings and display text. Keep body text fixed

### Fix Readability

- Set `max-width` on text containers using `ch` units (`max-width: 65ch`)
- Keep most paragraphs in the 45-75 character range
- Adjust line-height per context: tighter for headings (1.1-1.2), looser for body (1.5-1.7)
- Increase line-height as line length increases; reduce it as font size gets larger
- Increase line-height slightly for light-on-dark text
- Ensure body text is at least 16px / 1rem

### Refine Details

- Use `tabular-nums` for data tables and numbers that should align
- Right-align numeric columns when comparison matters
- Align mixed-size text by the baseline when it appears on the same line
- Apply proper `letter-spacing`: slightly open for small caps and uppercase, default or slightly tighter for large display text
- Tighten headings selectively when the typeface is naturally loose at larger sizes
- Use italics sparingly: short emphasis, quotes, and testimonials are fine; long UI copy and controls are not
- Underline links and short key emphasis deliberately; do not blanket-underline dense text
- Keep capitalization consistent by role, and add tracking when using all-caps labels or metadata
- Don’t make every link bright blue by default; match link emphasis to its importance in the reading flow
- Use semantic token names (`--text-body`, `--text-heading`), not value names (`--font-16`)
- Set `font-kerning: normal` and consider OpenType features where appropriate

### Weight Consistency

- Define clear roles for each weight and stick to them
- Don't use more than 3-4 weights (Regular, Medium, Semibold, Bold is plenty)
- Prefer larger jumps between roles over lots of barely different weights
- Load only the weights you actually use (each weight adds to page load)

### Scale Integrity

- Use `rem` or `px` as source values for the scale, then prefer `rem` in implementation to respect user settings
- Avoid `em`-based type scales in nested UI — descendants quickly drift off-system
- If a scale needs lots of fractional sizes to work, the scale is probably too mathematical and not practical enough

**NEVER**:
- Use more than 2-3 font families
- Pick sizes arbitrarily — commit to a scale
- Set body text below 16px
- Use decorative/display fonts for body text
- Disable browser zoom (`user-scalable=no`)
- Use `em` to define your type scale in nested UI
- Use tiny font sizes just to create hierarchy — use weight or color first
- Center-align long-form text
- Assume a perfect mathematical ratio is better than a hand-crafted scale
- Use `px` for font sizes in implementation — use `rem` to respect user settings
- Default to Inter/Roboto/Open Sans when personality matters
- Pair fonts that are similar but not identical (two geometric sans-serifs)

## Verify Typography Improvements

- **Hierarchy**: Can you identify heading vs body vs caption instantly?
- **Readability**: Is body text comfortable to read in long passages?
- **Consistency**: Are same-role elements styled identically throughout?
- **Personality**: Does the typography reflect the brand?
- **Performance**: Are web fonts loading efficiently without layout shift?
- **Accessibility**: Does text meet WCAG contrast ratios? Is it zoomable to 200%?

Remember: Typography is the foundation of interface design — it carries the majority of information. Getting it right is the highest-leverage improvement you can make.

© aladicf · MIT · aladicf/better-web-ui

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

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

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