Навыки — это основной механизм управления тем, что ИИ знает о вашей задаче. Каждое взаимодействие с ИИ формируется контекстом, который он получает — слишком мало информации, и он не справляется, слишком много нерелевантного шума, и он теряет фокус на том, что важно. Навыки решают эту проблему, загружая только соответствующие знания для каждой задачи.
Использование контекста
У ИИ-моделей есть ограниченное окно контекста — фиксированный объём текста, который они могут обработать за один раз. Всё, что вы хотите, чтобы ИИ знал о вашей задаче, должно уместиться в этот лимит. Это делает управление контекстом самым важным фактором для получения хороших результатов.
Две противоположные проблемы усложняют это:
- Слишком мало контекста — Если у ИИ недостаточно информации о вашем проекте, соглашениях и целях, он сделает неверные предположения и выдаст неправильный результат.
- Слишком много контекста — Если вы запихнёте в контекст нерелевантную информацию, внимание ИИ размывается на слишком много тем. Он перестаёт уделять достаточно внимания тем частям, которые действительно важны, что приводит к небрежным ошибкам.
Цель — загружать только информацию, относящуюся к текущей задаче — не больше, не меньше. Именно для этого предназначены навыки.
CLAUDE.md — Контекст по умолчанию
По умолчанию файл CLAUDE.md всегда загружается в контекст в начале каждого чата. Этот файл обычно содержит общую информацию о вашем проекте — что это, как он структурирован, и любые соглашения, которые ИИ должен соблюдать независимо от задачи.
CLAUDE.md хорошо работает для универсальных правил, применимых ко всему. Но по мере роста вашего проекта и работы с всё более разнообразными задачами — редактирование веб-сайта, операции с базой данных, деплой, аналитика — помещение всего этого в CLAUDE.md создаёт именно проблему “слишком большого контекста”. ИИ тратит внимание на чтение о скриптах деплоя, когда вы просите его отредактировать страницу.
Что такое навыки?
Навыки — это динамическая замена статическому подходу с CLAUDE.md. Вместо одного монолитного файла вы создаёте коллекцию специализированных навыков — каждый focussed на определённый тип задач. Когда вы начинаете чат, вы загружаете только тот навык, который соответствует тому, что вы собираетесь делать.
Навык — это не один markdown-файл — это папка, содержащая:
SKILL.md— Основной файл, загружаемый в контекст ИИ при активации навыка- Дополнительные файлы документации — Справочные документы, примеры, шаблоны
- Скрипты — Python или другие исполняемые файлы для автоматизации задач специфичных для навыка
- Примеры — Образцы входных данных, выходных данных и тестовые данные
Такая структура папок организует всё, связанное с типом задач, в одном месте. Документация говорит ИИ, что делать. Скрипты дают ему инструменты для этого. Примеры показывают, как должен выглядеть хороший результат.
Отдельный репозиторий
Хотя навыки находятся внутри папки вашего проекта по адресу .claude/skills/{skill-name}/, они хранятся в отдельном Git-репозитории, который вы управляете независимо от вашего проекта. В панели Git справа от чата вы увидите две вкладки — Project и Skills — каждая управляет собственным репозиторием с собственной историей коммитов, push и pull.
Хранение навыков в отдельном репо — намеренное решение. Если бы навыки были частью проекта, ими было бы гораздо сложнее управлять и повторно использовать между проектами. Когда все навыки живут в одном независимом репо, вы получаете несколько практических преимуществ:
- Повторное использование между проектами — Создание нового навыка для одного проекта может быть таким же простым, как попросить ИИ: “посмотри на навык проекта A и разработай похожий навык для нашего проекта.”
- Единая точка улучшения — Когда вы находите лучший способ организовать или сформулировать что-то, вы обновляете это в одном репо, и все проекты выигрывают от следующего pull.
- Независимый жизненный цикл — Навыки развиваются в своём собственном темпе, отдельно от истории коммитов вашего проекта. Обновление навыка не создаёт шума в changelog вашего проекта.
Скрипты, включённые в папки навыков, также совместно используются таким образом — напишите Python-скрипт один раз, и он будет доступен в каждом проекте, который делает pull из того же репо навыков. Никакого дублирования кода, никакой синхронизации между репозиториями.
Итеративное улучшение
Практический способ улучшения навыков — не редактировать их вручную — а попросить ИИ сделать это. Когда ИИ совершает ошибку, скажите ему: “исправь это, затем добавь правило в навык, чтобы избежать этого в будущем.” ИИ применяет исправление и обновляет навык в том же сеансе.
Кривая улучшения крута в начале:
- Из коробки — ИИ работает без какого-либо специфичного для проекта контекста. Результаты общие и часто неправильные.
- 20–30 улучшений — Обычно достигает около 85% точности для большинства задач. Именно здесь собирается большинство низко висящих плодов.
- 100+ улучшений — Может подойти к почти безупречной производительности, даже для задач, которые трудно формализовать строгими правилами.
Самое важное правило, когда вы просите ИИ обновлять навыки: держите правки маленькими, а файлы навыков короткими. Каждое обновление должно менять только необходимое — несколько строк, а не переписывание. Модели склонны добавлять много дополнительной информации, объяснений и документации к каждому правилу, что раздувает навык и ухудшает использование контекста. Вам нужно явно инструктировать их сохранять изменения минимальными и избегать добавления ненужного контента.
Загрузка навыка
ИИ не может надёжно выбрать, какой навык загрузить, самостоятельно — по крайней мере пока. Чтобы гарантировать загрузку правильного навыка, Pastukhov Code предоставляет ручной переключатель навыков.
Вот как это работает:
- Новый чат — Когда вы выбираете навык перед отправкой первого сообщения, система автоматически добавляет
start with loading {skill name} skillв начало вашего сообщения. Это сообщает ИИ, какой навык активировать. - Переключение в процессе чата — Если вы выбираете другой навык во время ongoing разговора, система добавляет
load {skill name} skillв ваше следующее сообщение. Это переключает контекст без потери истории разговора.
Выберите навык с помощью селектора навыков в области ввода чата перед вводом вашего сообщения. Имя и цвет выбранного навыка отображаются там.
Управление навыками
Откройте диалог навыков для просмотра, редактирования, создания и организации ваших навыков. Диалог имеет две панели: список всех навыков слева и редактор для выбранного навыка справа.
Навыки могут быть включены или отключены индивидуально. Отключённые навыки скрыты из селектора навыков, но остаются в вашей коллекции для последующего использования. Каждый навык также имеет настраиваемый цвет для визуальной идентификации.
Настройки навыков — какие включены, их цвета — хранятся в .claude/skills.yml и синхронизируются между сеансами. Сами файлы навыков находятся в .claude/skills/{skill-name}/ внутри вашего проекта.
Редактор навыков
Редактор в правой панели диалога навыков показывает все файлы в папке выбранного навыка как вкладки. Первая вкладка всегда SKILL.md — основной файл инструкций, который загружается в контекст ИИ. Дополнительные вкладки показывают любые другие файлы в папке навыка.
Возможности редактора:
- Вкладки — Навигация между всеми файлами в папке навыка
- Подсветка синтаксиса — Форматирование кода для скриптов и конфигурационных файлов
- Автосохранение — Изменения сохраняются автоматически по мере работы
- Интеграция с Git — Коммитить изменения навыков напрямую из редактора
Изменения в навыках отслеживаются их собственным Git-репозиторием — отдельно от проекта. В панели Git переключитесь на вкладку Skills, чтобы увидеть специфичную для навыков историю коммитов, push и pull независимо от вашего проекта.
Редактор также может запускать скрипты напрямую из папок навыков. Это делает удобным управление инфраструктурой — деплой, операции с базой данных, процессы сборки — через навыки. Это также безопасно: специфичные для проекта переменные, такие как учетные данные auth и строки подключения, хранятся в проекте, а не в навыке. Если вы случайно запустите управляющий скрипт из неправильного проекта, он быстро failбез причинения какого-либо ущерба.
Тем не менее, вы должны привыкнуть к не редактировать файлы навыков или скрипты вручную. Вместо этого, обучите себя и ваши модели — используя навык управления навыками, такой как demo.skills — создавать и обновлять навыки для вас. ИИ лучше понимает структуру и соглашения, чем вы можете после нескольких сеансов, и сохранение людей вне цикла редактирования предотвращает проникновение несоответствий.