finesse-skill

Скилл для верстки дорогих интерфейсов: лендинги, дашборды и мобильные экраны по четырем маршрутам с проверкой на дешевизну

  • 960 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Расширенный доступ

Почему такой уровень

  • Скрипт `detect.mjs` запускается локально через Node.js
  • Агент пишет файлы страниц и журнал `.finesse/log.json` в проекте
Все причины и проверки

mouse-lin/finesse-skill

Установка

Ручная установка

npx skills add https://github.com/mouse-lin/finesse-skill

Команда из README. Только этот скилл ставит вариант с флагом `--skill "finesse-ui"`.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Скрипт `detect.mjs` запускается локально через Node.js
  • Агент пишет файлы страниц и журнал `.finesse/log.json` в проекте

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

finesse-skill подключает к агенту набор правил дизайна и сам выбирает маршрут по задаче: `brand` для лендингов и портфолио, `product` для дашбордов и админок, `commerce` для карточек товара и корзины, `h5` для экранов под телефон. Перед версткой агент одной фразой пересказывает, что собирается сделать, и ждет согласия. В основе три ручки (характер, зрелищность, плотность), слой визуальной фактуры с шумом и виньеткой, палитры в OKLCH и пять видов hero-анимации на Three.js, Canvas, WebGL, GSAP или чистом CSS. Для дашбордов есть отдельные палитры, выбор из 25 типов графиков и описание экранов, где работает агент. Перед сдачей идут чек-лист против дешевых приемов и предполетная проверка. В репозитории 31 файл с правилами и 30 примеров страниц. Скрипт `detect.mjs` механически ищет шаблонные приемы, а журнал `.finesse/log.json` помнит прежние сборки и не дает повторить тот же стиль.

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

Подходит, если

  • Нужен лендинг кофейни или студии, и результат не должен выглядеть как типовой шаблон
  • Дашборд получается одноцветным синим, и палитру надо выбрать до верстки
  • Мобильная страница ведет себя как сайт, а должна ощущаться приложением: нижняя панель, шторки, безопасные зоны
  • Готовый интерфейс хочется прогнать через аудит и сделать смелее или спокойнее
  • Нужна консоль, где агент работает часами и пользователь видит ход выполнения и кнопку остановки

Не подходит, если

  • Задача чисто серверная, без интерфейса: скилл исключает такие работы
  • Нужна одна кнопка или поле ввода: для отдельных элементов скилл переключается на облегченный разбор состояний
  • Проект живет по готовой дизайн-системе, которую менять нельзя: скилл по умолчанию задает собственный характер
  • Пользователь не хочет сначала читать план действий агента и подтверждать его

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

Сделай с finesse лендинг для небольшой кофейни: темная тема, один выразительный hero-блок и аккуратная мобильная версия

Ограничения

Основной язык README и значительной части правил китайский, английский вариант README есть отдельным файлом. Перед работой агент ждет подтверждения плана, поэтому быстрая правка в один заход не получится. Скрипт `detect.mjs` запускается через Node.js, без него остальные правила продолжают действовать. Cursor получает один файл правил `.cursor/rules/finesse-ui.mdc`, Codex читает `AGENTS.md`, полный набор работает в Claude Code. Для картинок агент сначала сверяется с доступными инструментами сессии и называет вариант, ничего не скачивает самовольно.

Как отключить. Удалите папку `finesse-ui` из каталога скиллов агента, например из `.claude/skills/`. Для Cursor уберите файл `.cursor/rules/finesse-ui.mdc`, для Codex удалите блок из `AGENTS.md`. Папку `.finesse/` в проекте можно удалить вместе с журналом сборок.

Частые вопросы

Как поставить finesse-skill в Claude Code?

Выполните `npx skills add https://github.com/mouse-lin/finesse-skill` и выберите Claude Code в диалоге. Репозиторий также содержит манифест `.claude-plugin/plugin.json`, поэтому скилл ставится как нативный плагин.

Как вызвать скилл и что передать в аргументах?

Скажите агенту «сделай с finesse …» или вызовите `/finesse`. После команды можно назвать режим (`craft`, `audit`, `bolder`, `quieter`, `soul`, `diverge`, `animate`, `depth`, `densify`, `redesign`, `init` или `document`) и затем цель, например страницу или компонент.

Подходит ли скилл для Cursor и Codex?

Да, но в урезанном виде. Для Cursor скопируйте `.cursor/rules/finesse-ui.mdc`, для Codex положите `AGENTS.md` в корень проекта. Полный набор из 31 файла с правилами работает через скилл в Claude Code.

Какие примеры страниц лежат в репозитории?

В папке `skills/finesse-ui/examples` лежат 30 HTML-страниц: дашборд роста, консоль API, редакторская CMS, консоль агента `relay-agent-console.html`, мобильные примеры с префиксом `h5-`. Перед сборкой дашборда скилл велит агенту открыть ближайший пример и взять из него приемы, а не файл целиком.

Что скилл оставляет в проекте после работы?

Агент дописывает журнал `.finesse/log.json` с параметрами сборки. При следующем запуске он читает журнал и выбирает другой характер, поэтому два проекта подряд не получают одинаковый стиль.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Реестр устанавливаемых дизайн-скиллов: готовые файлы SKILL.md и DESIGN.md с токенами, правилами компонентов и доступностью под разные стили

СкиллМинимальный доступ3,5 тыс.Звезды репозитория

Скиллы против шаблонных интерфейсов: сетка, типографика, анимация и отступы, плюс генерация референсов для веба и мобильных

СкиллМинимальный доступ110,8 тыс.Звезды репозитория98Установок через CLI и агентов

Дизайн-скилл против шаблонных AI-интерфейсов: новые страницы, аудит, редизайн и разбор чужого дизайна по скриншоту или URL

СкиллМинимальный доступ49,2 тыс.Звезды репозитория41Установок через CLI и агентов

Скилл о мелких деталях интерфейса: анимации, типографика, иконки, тени, скругления, оптическое выравнивание и области нажатия

СкиллМинимальный доступ3,9 тыс.Звезды репозитория11Установок через CLI и агентов

Скилл /taste разбирает дизайн сайта по ссылке: токены, принципы с компромиссами и готовые правила для Cursor и Claude Code

СкиллРасширенный доступ449Звезды репозитория

Скилл и CLI для агентов: интерфейс без шаблонного вида, 25 команд, проверка шаблонности правилами и оценка качества от 0 до 100

СкиллРасширенный доступ432Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйЗвезды репозиторияГлавное отличие
finesse-skill (эта карточка)нет960
Impeccableнет104 096ревью и полировка готового интерфейса, а у finesse есть собственные маршруты сборки с нуля
UI UX Pro Maxнет146 102база стилей, палитр и шрифтов для выбора, без маршрутов по типу страницы

Коротко о README

README открывается обложкой и быстрым стартом, затем описывает четыре маршрута, ключевые возможности и галереи примеров по маршрутам. Дальше таблица совместимости с инструментами, правила вклада и структура репозитория.

Бейдж для README

Исходный SKILL.md

---
name: finesse-ui
description: 'Build and refine high-craft web interfaces: brand sites, product dashboards and workflows, AI workbenches, commerce, H5/mobile screens, and individual components. Route by purpose, preserve project identity, and audit visual quality, accessibility and motion. Supports Apple-inspired / 苹果风 design through editorial, app and spatial modes with runnable card studies. Use for landing pages, portfolios, dashboards, admin panels, settings, agent consoles, product pages, checkout, mobile app UI, design-system extraction, redesign, typography, color, layout, animation, drag/swipe/sheet interactions and anti-generic iteration. Includes targeted audit, bolder, quieter, soul, diverge, animate, depth, densify, init and document workflows. Excludes backend-only tasks.'
version: 0.22.0
user-invocable: true
argument-hint: "[craft · audit · bolder|quieter|soul|diverge · animate|depth|densify · redesign · init|document] [target]"
license: MIT
metadata:
  short-description: Craft interfaces that never look cheap
---

# finesse — Technically Spectacular · Soul-Distinct · Never Cheap

> **finesse builds two kinds of interface and routes by register (§0):**
> - **brand** — design IS the product: landing pages, brand sites, launches, portfolios, hero pages. Optimize for **spectacle + soul + first impression** — a real visual engine, an opinionated personality.
> - **product** — design SERVES the product: dashboards, admin panels, analytics, data tables, app shells, settings. Optimize for **clarity + density + usability** — and still never cheap.
>
> The through-line is identical: **high craft, zero AI-slop.** What applies to **both** is the **universal craft floor** (tinted neutrals, no `#fff`/`#000`, translucent/hairline borders, tinted shadows, contrast floors), the cheapness blacklist (§6), and the pre-flight (§8). What **forks** is the *substrate above that floor* and the middle: **brand** lays the §3 brand substrate (`design-dna.md` — grain, vignette, display type) and reaches for a hero engine (§4); **product** lays its **own** substrate (`product-ui.md` §0 — surfaces, cards, KPI tiles, density) and reaches for a component system + data viz. A dashboard is a **different design language**, not a brand page with charts — it does **not** inherit grain / vignette / giant hero type / dark-default / a hero engine.
>
> **Two more registers sit alongside them, and they work differently from each other.** **commerce** (PDP/PLP/cart/checkout) is a *hybrid* — route it to brand or product by what the specific page is doing. **h5** (phone-only screens: app UI, 活动页, mobile PDP, report H5) is a **container**: it fixes the frame, the safe areas, the thumb hierarchy, and the OS furniture, then wraps one of the other three for the content grammar underneath. A mobile PDP is `h5` + `commerce`; an app dashboard screen is `h5` + `product`. h5 never replaces a content register — it wraps one.
>
> Every rule below is **contextual**. Nothing fires automatically. Read the brief, set the register, then pull only what fits. A skill that produces the same page for every brief has failed.

---

## Apple design language (optional)

For Apple style / 苹果风, read `references/apple-design.md` before choosing the substrate or persona. Keep the existing register, add `design-language=apple` and choose `apple-mode=editorial|app|spatial`. Its scoped overrides take precedence over conflicting aesthetic defaults below, including pure-black/white bans, mandatory grain/vignette, extreme leading and forced persona/engine rotation. Functional and accessibility gates still apply. Component requests retain component scope. Editorial recipes and seven runnable studies are indexed in `references/apple-patterns.md`.

## How to use this skill

0. **Check the scope before anything else.** If the brief is a **single element** — a button, an input, a card, a modal, a toast — go to `references/component-scope.md` and follow it instead; steps 1–6 below are page apparatus and are wrong for one component. Detection and the ambiguity question live in that file.
1. Run **§0 Brand Read** — read `.finesse/log.json` (the rotation memory, `divergence.md` §4), then infer **register** (brand vs product) + soul before touching code. Output the Design Read: the coordinate line, **a plain `You'll see:` line the user can actually veto**, the **`Images:` line naming every slot a picture would carry and where it would come from**, its two most likely objections, and the rotation as a sentence (§0.B). Before writing that `Images:` line, **check this session's actual tool list** — an image-gen tool, an MCP image tool, a network fetch, or none — because it decides what you can honestly offer (`asset-sourcing.md` §1), and **prove the one you're about to name actually runs here** before naming it (§1.1 — listed is not usable; a generator with no credential is not Path A). Offer it and **wait**; never generate or download off your own inference.
2. Set the **§1 Three Dials** (SOUL · SPECTACLE · DENSITY). Product register pins SPECTACLE low, DENSITY high.
3. **Lay the substrate — the right one for the register.** All share the **universal craft floor** (tinted neutrals, no `#fff`/`#000`, translucent/hairline borders, tinted shadows, contrast floors — `references/design-dna.md` §1). Above that floor the substrate forks:
   - **brand** → the **§3 brand substrate** (`references/design-dna.md`): grain, vignette, `clamp()` display type, dark-default, layered hero depth.
   - **product** → the **product substrate** (`references/product-ui.md` §0): premium surfaces/cards, KPI tiles, floating panels, fixed type scale, feedback-only motion. **Never** pour grain / vignette / giant hero type / dark-default / a hero engine into a dashboard — that's brand grammar, not product grammar.
   - **h5** → the **frame comes first** (`references/h5-mobile.md` §1): the viewport contract, the locked `body` + scrolling `#app`, the 560px desktop phone frame, then the safe-area math (§2). Only after the frame is standing do you lay the substrate of the register it wraps.
4. **Then the paths fork further:**
   - **brand** → pick a **§2 Soul** (`references/style-personas.md`) and build **one §4 Hero Engine** (`references/hero-engines.md`).
   - **product** → **pick a palette from `references/product-palettes.md` first** (the neutral ramp is 80% of the pixels; skipping this step is how every dashboard comes out blue). Then split by the page's job:
     - **pages you read** — dashboards, analytics, monitoring → `references/product-ui.md` (density, tables, charts, interaction states). **Before writing, open the closest dashboard in `examples/`** (index: `examples/EXAMPLES.md`) to see `product-ui.md` §0 applied in shipped code — lift patterns, not whole files.
     - **pages you operate** — publish/create wizards, merchant & admin consoles, config, settings, review queues → `references/workflow-ui.md` **on top of** `product-ui.md` (workflow shell, numbered sections, radio-card choices, live preview, pre-submit check, derived totals, draft/commit). There is **no form-workflow page in `examples/`** — build from the reference, and do **not** force-fit a dashboard example onto a form.
     - **pages you delegate on** — AI 工作台, agent consoles, copilot UI, anything where something *other than the user* does work over a duration → `references/ai-console.md` **on top of** `product-ui.md` (three tenses on one screen, the run stream, nine run states, a resident stop, the in-stream approval card, cost as a receipt). Open `examples/relay-agent-console.html`. A dashboard fails by being unreadable and a console by being unfinishable; **this one fails by being untrustworthy**, and none of the dashboard parts address that.
   - **h5** → pick one of the **six morphologies** (`h5-mobile.md` §4: app shell · paged deck · snap narrative · commerce stack · longform site · ambient screen), then load the **content register it wraps** and follow that bullet above. Build the native furniture from `h5-mobile.md` §5 rather than inventing it — a TabBar is a convention, not a design opportunity.

Сообщить о проблеме

Foxx AIfinesse-skill
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.