# technical-constraints

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

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 487 установок · ★ 124
- Автор: dylantarre
- Лицензия: MIT · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/dylantarre/animation-principles/tree/HEAD/skills/12-by-problem-type/technical-constraints/SKILL.md
- Обновлён: 2025-12-30
- HTML: https://affpapa.org/nevibecode/skills/technical-constraints

## Что делает

Скилл разбирает проблемы с анимацией по принципам и предлагает конкретную замену. Если расчёты в рантайме слишком дорогие, он советует предрассчитать анимацию и взять CSS-кейфреймы вместо покадрового JS. Сложная геометрия тормозит рендер — значит, упрощаем фигуры, меняем SVG-пути на CSS-фигуры, режем число полигонов в 3D.

Внутри — блок диагностики по принципам (тайминг, второстепенные действия, стейджинг), список быстрых правок и чек-лист. Чек-лист начинается с перечисления целевых браузеров и устройств, проверки поддержки фич и теста на самом старом поддерживаемом браузере. Есть и готовый паттерн кода: определение поддержки через `Element.prototype` и `CSS.supports`, затем либо `element.animate()`, либо класс финального состояния, плюс обёртка `@supports` для прогрессивного улучшения.

Отдельно расписаны подсказки по платформам: в письмах — GIF или статика, в iOS Safari — проверка `-webkit-` префиксов, на старых Android и слабых устройствах — упрощение анимации. Для бюджетных устройств скилл предлагает `prefers-reduced-motion` как прокси. Это повод проверить, что у вас вообще есть статичный фолбэк: без него часть аудитории увидит пустой блок.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dylantarre/animation-principles --skill technical-constraints -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/technical-constraints/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/technical-constraints/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dylantarre/animation-principles --skill technical-constraints -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/technical-constraints/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dylantarre/animation-principles --skill technical-constraints -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/technical-constraints/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install dylantarre/animation-principles technical-constraints
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/technical-constraints/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dylantarre/animation-principles --skill technical-constraints -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/dylantarre/animation-principles --path skills/12-by-problem-type/technical-constraints
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/technical-constraints/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add dylantarre/animation-principles --skill technical-constraints -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/dylantarre/animation-principles/tree/HEAD/skills/12-by-problem-type/technical-constraints/SKILL.md

## Когда брать
- починить анимацию, которая не работает в целевом браузере
- уложить анимацию в лимит по размеру файла
- сделать тайминг одинаковым на разных устройствах
- выбрать, какие анимации резать при жёстком бюджете
- добавить статичный фолбэк для неподдерживающих браузеров

## Примеры запросов агенту
- Анимация не работает в Safari на старом iPhone — что упростить?
- Прогони чек-лист технических ограничений для этой анимации
- Как переписать эту JS-анимацию на CSS с фолбэком?

## Похожие
- [better-ui](https://affpapa.org/nevibecode/skills/better-ui.md) — скилл · 39300 установок
- [better-layout](https://affpapa.org/nevibecode/skills/better-layout.md) — скилл · 30800 установок
- [animate](https://affpapa.org/nevibecode/skills/animate.md) — скилл · 172700 установок
- [modern-web-design](https://affpapa.org/nevibecode/skills/modern-web-design.md) — скилл · 2900 установок
- [accessible-animation](https://affpapa.org/nevibecode/skills/accessible-animation.md) — скилл · 2600 установок
- [interface-kit](https://affpapa.org/nevibecode/skills/interface-kit.md) — скилл · 2200 установок

Из того же набора: [dylantarre/animation-principles](https://affpapa.org/nevibecode/by/dylantarre/animation-principles.md) — 86 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
