principle-experience-first — скилл для Claude Code: опыт пользователя
Скилл-принцип, который смещает приоритет при продуктовых и UX-решениях в сторону пользователя. Пригодится, когда спорят о скоупе фич.
npx skills add backnotprop/pstack --skill principle-experience-first -a claude-codeЧто делает principle-experience-first
Скилл задаёт одно правило: когда удобство реализации конфликтует с тем, что почувствует пользователь, выбирать нужно пользователя. Каждая фича, контрол и опция должны быть оправданы, а три отполированные возможности лучше десяти сырых.
Пользователь здесь не только конечный юзер интерфейса. Для библиотеки или внутреннего API это коллега, который её импортирует. Тот, кто будет поддерживать код после вас, тоже пользователь. Поэтому скилл требует объяснять влияние решений с их позиции.
Отдельно выделен принцип «сначала прототип»: дизайн-решения дешевле проверять на throwaway HTML, чем в продакшен-коде. Есть и указание про основной цикл: каждая фича либо обслуживает центральный рабочий процесс, либо не мешает.
Во frontmatter стоит disable-model-invocation: true, так что сам по себе скилл не сработает — его нужно вызывать вручную, когда возникает продуктовый или UX-трейдофф.
Какие задачи решает
- определить, чем пожертвовать при урезании скоупа
- не дать удобству кода победить удобство пользователя
- учесть интересы того, кто будет поддерживать код
- проверить дизайн-гипотезу до продакшен-кода
Примеры запросов агенту
- Примени principle-experience-first к выбору между двумя вариантами фичи
- Какие фичи стоит вырезать, чтобы основной сценарий стал лучше?
- Оцени это решение с точки зрения пользователя библиотеки
Как установить principle-experience-first
1Через Skills CLI (Vercel)
npx skills add backnotprop/pstack --skill principle-experience-first -a claude-code2Вручную: положить файлы
~/.claude/skills/principle-experience-first/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/principle-experience-first/
1Через Skills CLI (Vercel)
npx skills add backnotprop/pstack --skill principle-experience-first -a codex2Вручную: положить файлы
.agents/skills/principle-experience-first/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add backnotprop/pstack --skill principle-experience-first -a cursor2Вручную: положить файлы
.cursor/skills/principle-experience-first/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install backnotprop/pstack principle-experience-first2Вручную: положить файлы
.github/skills/principle-experience-first/SKILL.md1Через Skills CLI (Vercel)
npx skills add backnotprop/pstack --skill principle-experience-first -a gemini-cli2Командой платформы
gemini skills install https://github.com/backnotprop/pstack --path skills/principle-experience-firstВручную: положить файлы
.devin/skills/principle-experience-first/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add backnotprop/pstack --skill principle-experience-first -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о principle-experience-first
Как установить principle-experience-first в Claude Code?
Через npx skills add backnotprop/pstack --skill principle-experience-first -a claude-code. Файл скилла появится в ~/.claude/skills/principle-experience-first/SKILL.md.
Что делает principle-experience-first?
Смещает приоритет при продуктовых, UX и скоуп-решениях: выбирать нужно то, что лучше для пользователя, даже если это неудобно реализовывать. Советует выпускать меньше, но отполированных фич.
Почему скилл не срабатывает сам?
В описании стоит disable-model-invocation: true. Это значит, что модель не вызовет скилл автоматически — его нужно запрашивать явно, когда возникает соответствующий трейдофф.
Исходный текст
SKILL.md · MIT
--- name: principle-experience-first description: "Apply when product, UX, or feature-scope tradeoffs come up. Choose user delight over implementation convenience; ship fewer polished features over more rough ones." disable-model-invocation: true --- # Experience First When implementation convenience conflicts with user delight, choose delight. - Every feature, control, and option must be justified - Ship less, ship better (polished experience with three features beats rough one with ten) - Prototype before committing (design decisions are cheaper in throwaway HTML than production code) - Get the details right (transitions, alignment, spacing, feedback, error states) - Tighten the core loop (every feature should serve the central workflow or get out of the way) The user is whoever consumes the work. For a UI that is the end user. For a library or an internal API it is the colleague who imports it. The engineer who maintains the code next is a user too. Weigh their experience the same way, and explain impact from their perspective. Foundations should serve the experience. Foundational thinking governs the *sequence* of work. This principle governs the *target*.
© backnotprop · MIT · backnotprop/pstack