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

extract · aladicf — скилл для Claude Code: что делает и как установить

Находит повторяющийся интерфейсный код, выносит его в дизайн-систему, формирует токены и переводит проект на единые компоненты.

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

Что делает extract

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

Если в проекте уже подключена библиотека вроде shadcn/ui, инструмент не создаёт лишние обёртки вокруг базовых кнопок или полей ввода. Вместо этого он собирает составные блоки продукта: панели фильтров или секции настроек. Для токенов задаются строгие шкалы отступов и цветов, чтобы в кодовой базе не копились случайные значения.

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

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

  • вынести цвета и отступы в семантические дизайн-токены
  • объединить разрозненные варианты кнопок и карточек в общие компоненты
  • собрать составные паттерны поверх готовой библиотеки shadcn/ui
  • переписать старые интерфейсные вызовы на новые модули

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

  • /extract src/components
  • /extract вынеси повторяющиеся карточки товаров в общую библиотеку
  • /extract собери единую шкалу отступов и цветов из hardcoded стилей

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

1Через Skills CLI (Vercel)

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

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

~/.claude/skills/extract/SKILL.md

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

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

Вопросы о extract

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

Выполните команду npx skills add aladicf/better-web-ui --skill extract -a claude-code. Также можно разместить файл навыка по пути ~/.claude/skills/extract/SKILL.md.

Что делает скилл extract?

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

Что нужно подготовить перед запуском extract?

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

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

SKILL.md · MIT
---
name: extract
description: Extract reusable components, product patterns, and design tokens into a clearer design system with shared APIs, documented defaults, and better reuse. Use when the user wants to refactor repeated UI, consolidate buttons/cards/forms/sections, build a component library, or turn one-off values into reusable tokens.
metadata:
  argument-hint: "[target]"
---

Identify reusable patterns, components, and design tokens, then extract and consolidate them into the design system for systematic reuse.

The goal is not to capture every value in the codebase. The goal is to create constrained systems that reduce future design decisions and keep the interface coherent.

Consult the [design-system alignment](../frontend-design/reference/design-system-alignment.md) reference for tokens vs components vs patterns, drift, and how to avoid turning inconsistency into token sprawl.

## MANDATORY PREPARATION

Users start this workflow with `/extract`. 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.

## Discover

Analyze the target area to identify extraction opportunities:

1. **Find the design system**: Locate your design system, component library, or shared UI directory (grep for "design system", "ui", "components", etc.). Understand its structure:
   - Component organization and naming conventions
   - Design token structure (if any)
   - Documentation patterns
   - Import/export conventions
   
   **CRITICAL**: If no design system exists, ask before creating one. Understand the preferred location and structure first.

2. **Identify patterns**: Look for:
   - **Repeated components**: Similar UI patterns used multiple times (buttons, cards, inputs, etc.)
   - **Hard-coded values**: Colors, spacing, typography, shadows that should be tokens
   - **Inconsistent variations**: Multiple implementations of the same concept (3 different button styles)
   - **Reusable patterns**: Layout patterns, composition patterns, interaction patterns worth systematizing
  - **Missing systems**: Places where the team is clearly re-solving spacing, type, color, radius, or elevation repeatedly

3. **Assess value**: Not everything should be extracted. Consider:
   - Is this used 3+ times, or likely to be reused?
   - Would systematizing this improve consistency?
   - Is this a general pattern or context-specific?
   - What's the maintenance cost vs benefit?

## Plan Extraction

Create a systematic extraction plan:

- **Components to extract**: Which UI elements become reusable components?
- **Tokens to create**: Which hard-coded values become design tokens?
- **System boundaries**: Which token sets should stay intentionally small so they guide decisions instead of documenting chaos?
- **Variants to support**: What variations does each component need?
- **Naming conventions**: Component names, token names, prop names that match existing patterns
- **Migration path**: How to refactor existing uses to consume the new shared versions

**IMPORTANT**: Design systems grow incrementally. Extract what's clearly reusable now, not everything that might someday be reusable.

## Extraction when a component library already exists

If the project already uses a library such as `shadcn/ui`, prefer extracting:

- local wrappers
- reusable compositions
- documented patterns

Do **not** replace upstream primitives with redundant local copies unless the project truly needs a stable customized abstraction.

A good extraction often sits one layer above the library primitive: not another generic `Button`, but a product-specific action bar, filter panel, settings section, or empty-state pattern that uses the existing primitives consistently.

## Extract & Enrich

Build improved, reusable versions:

- **Components**: Create well-designed components with:
  - Clear props API with sensible defaults
  - Proper variants for different use cases
  - Accessibility built in (ARIA, keyboard navigation, focus management)
  - Documentation and usage examples
  
- **Design tokens**: Create tokens with:
  - Clear naming (primitive vs semantic)
  - Proper hierarchy and organization
  - Documentation of when to use each token
  - Constrained scales for spacing, typography, color, radius, and elevation where applicable

Prefer systems like:
- **Spacing**: A small scale with meaningful jumps, not every number between 4 and 64
- **Typography**: A hand-crafted set of sizes and weights for UI roles
- **Color**: Defined ramps instead of ad-hoc lighten/darken variations
- **Elevation**: A few shadows with semantic meaning, not endless custom box-shadows
  
- **Patterns**: Document patterns with:
  - When to use this pattern
  - Code examples
  - Variations and combinations

**NEVER**:
- Extract one-off, context-specific implementations without generalization
- Create components so generic they're useless
- Extract without considering existing design system conventions
- Skip proper TypeScript types or prop documentation
- Create tokens for every single value (tokens should have semantic meaning)
- Turn inconsistency into a token catalog instead of simplifying it into a system

## Migrate

Replace existing uses with the new shared versions:

- **Find all instances**: Search for the patterns you've extracted
- **Replace systematically**: Update each use to consume the shared version
- **Test thoroughly**: Ensure visual and functional parity
- **Delete dead code**: Remove the old implementations

## Document

Update design system documentation:

- Add new components to the component library
- Document token usage and values
- Add examples and guidelines
- Update any Storybook or component catalog

Remember: A good design system is a living system. Extract patterns as they emerge, enrich them thoughtfully, and maintain them consistently.

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

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

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

Сначала — extract от других авторов.

extract Alireza Rezvani Превращает повторяющийся приём или решение проблемы в отдельный скилл с инструкцией и примерами. Пригодится, когда вы хотите повторно использовать найденное решение в другом проекте. 1 613установок extract actionbook Извлекает структурированные данные с веб-страниц, сохраняет результат в JSON или CSV и создаёт готовый скрипт Playwright. CX Codex +1 2 300установок extract adobe Обходит страницы рабочего сайта и сохраняет дизайн-систему, типографику, палитру и структуру в каталог stardust/current/. CX Codex +1 496установок component-family-consistency dembrandt Скилл следит, чтобы кнопки, поля ввода, бейджи и пилюли делили радиус, цвета, тени, границы и отступы. Пригодится при сборке или ревизии библиотеки компонентов. CX Codex +1 874установок figma-generate-library официальный openai Скилл для синхронизации дизайн-системы Figma с кодовой базой. Помогает создать или обновить переменные, компоненты, режимы (светлая/тёмная тема) и документацию в правильном порядке — без фаз, выполненных в неправильной последовательности. CX Codex +1 2 700установок naming-convention Owl-Listener Задаёт единые правила именования компонентов, токенов и слоёв, чтобы имена в проекте не расходились от файла к файлу. CX Codex +1 2 100установок shadcn-ui nexu-io Скилл помогает агенту собирать структурированные и доступные UI-компоненты с shadcn/ui. Пригодится на этапе планирования интерфейса. CX Codex +1 2 900установок component-spec Owl-Listener Скилл описывает один компонент дизайн-системы: анатомию, варианты, состояния, доступность и правила использования. Пригодится, когда библиотека растёт и пора зафиксировать API. CX Codex +1 2 100установок 21st-ui-build 21st-dev Скилл для реализации страниц и компонентов в существующем веб-проекте: сначала читает дизайн-контекст и токены, потом ищет готовое в 21st. CX Codex +1 1 400установок

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

optimize Скилл находит, почему интерфейс тормозит: медленная загрузка, лаги анимаций, тяжёлые картинки, раздутый бандл. Запускается, когда вы жалуетесь на «тормозит». CX Codex +1 536установок bolder Скилл для тех случаев, когда интерфейс выглядит слишком безопасно и безлико. Разбирает, что именно делает дизайн скучным, и усиливает его. CX Codex +1 535установок delight Добавляет радость и характер в интерфейс: успешные состояния, пустые экраны, загрузку, ховеры. Для случаев, когда базовая вёрстка уже работает. CX Codex +1 523установок showcase Переводит интерфейс в режим сложной визуальной и технической проработки с анимациями, View Transitions и WebGL. Помогает, когда обычной аккуратности вёрстки мало. CX Codex +1 521установок quieter Скилл для ИИ-кодинга, который снижает насыщенность, контраст и визуальный шум в интерфейсе, сохраняя иерархию и характер. Пригодится, когда структура уже нормальная, но выглядит крикливо. CX Codex +1 513установок onboard Помогает спроектировать первый запуск продукта: что показать новичку, в каком порядке и как довести его до первого результата. CX Codex +1 521установок security-ux Скилл для проектирования экранов входа, MFA и восстановления доступа так, чтобы защита не пугала пользователя. CX Codex +1 519установок localize Скилл планирует и внедряет интернационализацию интерфейса: от ICU-плюрализации и логических CSS-свойств до выбора библиотек и маршрутизации локалей. CX Codex +1 497установок

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

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