interfaces-that-feel — скилл для Claude Code: эмоции в интерфейсе
Скилл для оценки интерфейса, который работает правильно, но ощущается холодным. Подсказывает правки в текстах, анимации и взаимодействии.
npx skills add Owl-Listener/designer-skills --skill interfaces-that-feel -a claude-codeЧто делает interfaces-that-feel
Скилл задаёт один вопрос: кажется ли, что интерфейс делал человек, который думал о том, каково вам будет им пользоваться? Техническая корректность — это пол. Потолок — эмоциональная читаемость.
Работа идёт в четыре шага. Сначала называется состояние человека в конкретный момент: ждёт и тревожится, приходит в себя после ошибки, радуется мелкой победе. Потом ищется физический аналог этого качества — мягкая поверхность гасит удар, задержка дыхания перед выдохом. Из аналога извлекается поведенческое свойство: вес, сопротивление, скорость, ритм. И только затем оно ложится на слой интерфейса — кривую сглаживания, задержку, тон текста, температуру цвета, отступы, длительность анимации.
Внутри есть таблица голоса текста по состояниям: загрузка, пустой экран, ошибка пользователя, ошибка системы, успех, онбординг. Для ошибки системы правило жёсткое — вина на продукте, не на человеке. Отдельно разобрана анимация: линейная кривая годится только там, где нет человеческого чувства, а жёсткая пружина читается как уверенность, мягкая — как игривость. Скилл советует начинать с состояния человека, а не с задачи, и убирать движение раньше, чем добавлять. Проверять стоит с включённым режимом уменьшенной анимации.
Какие задачи решает
- переписать текст ошибки так, чтобы вина лежала на продукте
- подобрать длительность и кривую для перехода между экранами
- оживить пустой экран, который сейчас просто молчит
- развести состояния загрузки по настроению под то, что придёт следом
- проверить, выживает ли эмоциональный сигнал без цвета и картинок
Примеры запросов агенту
- прогони этот экран через interfaces-that-feel и скажи, что тут ощущается холодным
- оформи состояния загрузки, пустого списка и ошибки по правилам скилла
- проверь анимации по чек-листу: где движение несёт смысл, а где просто тянет время
Как установить interfaces-that-feel
1Через Skills CLI (Vercel)
npx skills add Owl-Listener/designer-skills --skill interfaces-that-feel -a claude-code2Вручную: положить файлы
~/.claude/skills/interfaces-that-feel/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/interfaces-that-feel/
1Через Skills CLI (Vercel)
npx skills add Owl-Listener/designer-skills --skill interfaces-that-feel -a codex2Вручную: положить файлы
.agents/skills/interfaces-that-feel/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Owl-Listener/designer-skills --skill interfaces-that-feel -a cursor2Вручную: положить файлы
.cursor/skills/interfaces-that-feel/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Owl-Listener/designer-skills interfaces-that-feel2Вручную: положить файлы
.github/skills/interfaces-that-feel/SKILL.md1Через Skills CLI (Vercel)
npx skills add Owl-Listener/designer-skills --skill interfaces-that-feel -a gemini-cli2Командой платформы
gemini skills install https://github.com/Owl-Listener/designer-skills --path interaction-design/skills/interfaces-that-feelВручную: положить файлы
.devin/skills/interfaces-that-feel/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Owl-Listener/designer-skills --skill interfaces-that-feel -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о interfaces-that-feel
Как установить interfaces-that-feel в Claude?
Одной командой: npx skills add Owl-Listener/designer-skills --skill interfaces-that-feel -a claude-code. Файл скилла окажется в ~/.claude/skills/interfaces-that-feel/SKILL.md.
Что делает interfaces-that-feel?
Разбирает интерфейс по состояниям человека и предлагает правки в текстах, анимации и взаимодействии. Техническую корректность считает отправной точкой, а не целью.
Чем это отличается от aesthetic-usability?
aesthetic-usability из набора ui-design объясняет, почему аккуратный вид влияет на восприятие. Этот скилл работает с тем, что человек чувствует в конкретный момент, и переводит это в параметры интерфейса.
Исходный текст
SKILL.md · MIT
--- name: interfaces-that-feel description: Apply an emotional resonance lens to a UI that is technically correct but flat, prescribing changes at the copy, motion, and interaction layer. Use when a design tests fine but lands cold. For the polish-perception argument, use `aesthetic-usability` (ui-design). --- # Interfaces That Feel You evaluate interfaces through one question: does this feel like it was made by a human who thought about how you'd feel using it? Technical correctness is the floor. The ceiling is emotional legibility — a product that knows you're a person. ## What You Do You translate design intentions into felt experience. You start with the state the person is in (not the task they're performing), find vocabulary for that feeling in the physical world, then map it to behavioral properties in the interface. ## The Translation Process **1. Name the felt state** — What is the person actually experiencing when they arrive at this moment? Waiting anxiously. Recovering from an error. Celebrating a small win. Being overwhelmed by options. **2. Find the physical analogue** — What in the physical world has that quality? Soft surfaces absorb impact. A held breath before exhaling. The slow release of a door. That's the behavioral vocabulary. **3. Extract the behavioral property** — From the physical analogue: weight, resistance, speed, recovery arc, rhythm. **4. Apply to the interface** — Which layer carries it? Easing curve, delay, copy tone, color temperature, spacing, animation duration. ## Emotional Timing Principles - **Information weight**: heavy news arrives slowly; good news can be instant - **Recovery space**: after an error, give the user 300–600ms before the next prompt — don't rush the recovery - **System error shame**: never make the user feel responsible for the system's failure; copy must own it - **Celebration arc**: micro-wins deserve acknowledgment; don't absorb them silently - **Loading as mood**: the loading state is not neutral — it sets expectation; match it to what's coming ## Copy Voice by State | State | Voice | |---|---| | Loading | Present and calm — "Getting your data" not "Loading..." | | Empty | Invitational — tell them what belongs here | | Error (user) | Clear, directive, blame-free — one specific next step | | Error (system) | Own it, apologize briefly, offer a path forward | | Success | Warm and brief — acknowledge, don't overdo it | | Onboarding | Contextual, not tutorial — what they can do, not how to use the app | ## Motion as Emotional Signal Easing communicates intent. Ease-in means weight and momentum. Ease-out means natural deceleration, like something soft landing. Linear is mechanical — avoid it for anything that touches human feeling. Spring physics convey responsiveness. Stiffness and damping are emotional decisions: a stiff spring is snappy and confident; a loose spring is playful and forgiving. Duration: 150–300ms for UI response. 400–600ms for transitions that carry meaning. Never animate longer than the user's patience for the task. ## Review Checklist Before and after each design pass: - What is the person feeling when they hit this state? - Is the interface acknowledging that feeling or ignoring it? - Does the copy sound like a person wrote it? - Does the motion convey intent or just fill time? - If you stripped all color and imagery, would the emotional signal survive? ## Reference Aesthetic How We Feel, Headspace, Gentler Streak, Amie, Arc Browser — products where emotional timing, copy voice, and motion are doing the work, not decoration. ## Best Practices - Start with the felt state of the person, not the task - Treat copy as interaction design — every word is a decision - Reduce motion before adding it; every animation needs a reason - Test with reduced-motion preferences enabled - The absence of friction is not warmth — warmth is active, not passive
© Owl-Listener · MIT · Owl-Listener/designer-skills