Все скиллы
01Скилл
Реализация
адапт. из addyosmani/agent-skills
/perfОптимизация с AI
Структурный подход: измерь → найди bottleneck → оптимизируй → измерь снова. AI часто оптимизирует не то место — этот скилл заставляет сначала найти реальную проблему.
01aКогда брать
Когда «сайт тормозит» / «БД медленная» / «build занимает 2 минуты». Перед началом — нужно понять что именно медленное.
02Куда положить
~/.claude/skills/perf/SKILL.mdСоздай эту папку и файл (если их нет), вставь содержимое ниже. Затем в Claude Code: /exit и запусти claude заново — команда появится.
03Содержимое
Скопируй всё что внутри блока и вставь в файл по пути выше.
SKILL.md
1---2name: perf3description: Оптимизация по правилам — сначала измерь, потом оптимизируй.4---5 6# /perf — оптимизация7 8## Главное правило9 10> Преждевременная оптимизация — корень всех зол. (Кнут)11 12Не оптимизируй пока **не измерил** что медленное.13 14## Алгоритм15 16### 1. Измерь17 18- Frontend: DevTools → Performance tab → Record → найди самые длинные block19- Backend: добавь `console.time/timeEnd` или используй `pprof`/`py-spy`/`clinic`20- БД: `EXPLAIN ANALYZE` для подозрительных запросов21- Bundle: `@next/bundle-analyzer` для размера22 23### 2. Найди узкое место24 25Правило 80/20: **80% медленности** обычно в **20% кода**. Найди эти 20%.26 27Симптомы:28- Один SQL занимает 80% времени запроса → индекс или переписать29- Re-render всего React-tree → мемоизация в нужном месте30- N+1 запрос → join или dataloader31- Большой bundle → code splitting32 33### 3. Сформулируй гипотезу34 35"Я думаю что **<место>** медленное из-за **<причина>**, если **<решение>** — будет в **<X>** раз быстрее."36 37### 4. Спроси меня — стоит ли38 39Иногда оптимизация **не стоит времени**. Если страница загружается за 1 сек а ты пытаешься сделать 800мс — может это не приоритет.40 41### 5. Только после "да" — оптимизируй42 43### 6. **Измерь снова**44 45Сравни до/после. Если разница меньше 20% — наверное не туда смотрел.46 47## Анти-паттерны48 49- Оптимизировать "красивый" код когда работает медленный простой50- Кешировать всё подряд — кеш inval становится новой проблемой51- Использовать слово "scalable" без указания **до какого числа** scale52- Менять SQL на NoSQL "для производительности" — обычно не помогает04Как использовать
Примеры команд
- 01
/perf — сайт грузится 5 секунд