--- name: skill-creator description: Руководство по созданию эффективных навыков. Этот навык следует использовать, когда пользователи хотят создать новый навык (или обновить существующий), расширяющий возможности Claude специализированными знаниями, рабочими процессами или интеграциями инструментов. license: Полные условия в LICENSE.txt --- # Создатель навыков Этот навык предоставляет рекомендации по созданию эффективных навыков. ## О навыках Навыки — модульные, самодостаточные пакеты, расширяющие возможности Claude с помощью специализированных знаний, рабочих процессов и инструментов. Представляйте их как «вводные руководства» по конкретным областям или задачам: они превращают Claude из универсального агента в специализированного, обладающего процедурными знаниями, которыми ни одна модель не может обладать в полном объёме. ### Что предоставляют навыки 1. Специализированные рабочие процессы — многошаговые процедуры для конкретных областей 2. Интеграции инструментов — инструкции по работе с определёнными форматами файлов или API 3. Предметные знания — специфичные для компании знания, схемы, бизнес-логика 4. Включённые ресурсы — скрипты, справочные материалы и вспомогательные файлы для сложных и повторяющихся задач ## Основные принципы ### Краткость — ключевой принцип Контекстное окно — общий ресурс. Навыки делят контекстное окно со всем остальным, что нужно Claude: системным промптом, историей разговора, метаданными других навыков и фактическим запросом пользователя. **Предположение по умолчанию: Claude уже очень умён.** Добавляйте только тот контекст, которого у Claude ещё нет. Ставьте под сомнение каждый фрагмент информации: «Действительно ли Claude нужно это объяснение?» и «Оправдывает ли этот абзац расход токенов?» Предпочитайте краткие примеры пространным объяснениям. ### Задавайте подходящие степени свободы Соотносите уровень конкретности с чувствительностью задачи к ошибкам и её вариативностью: **Высокая свобода (текстовые инструкции)**: используйте, когда допустимы несколько подходов, решения зависят от контекста или подход определяется эвристиками. **Средняя свобода (псевдокод или скрипты с параметрами)**: используйте, когда существует предпочтительный шаблон, допускается некоторая вариативность или конфигурация влияет на поведение. **Низкая свобода (конкретные скрипты, мало параметров)**: используйте, когда операции чувствительны к ошибкам, согласованность критически важна или необходимо соблюдать определённую последовательность. Представьте, что Claude исследует путь: узкому мосту над обрывами нужны конкретные ограждения (низкая свобода), а открытое поле допускает множество маршрутов (высокая свобода). ### Анатомия навыка Каждый навык состоит из обязательного файла SKILL.md и необязательных включённых ресурсов: ``` skill-name/ ├── SKILL.md (обязательно) │ ├── Метаданные YAML frontmatter (обязательно) │ │ ├── name: (обязательно) │ │ └── description: (обязательно) │ └── Инструкции Markdown (обязательно) └── Включённые ресурсы (необязательно) ├── scripts/ - Исполняемый код (Python/Bash/и т. д.) ├── references/ - Документация, загружаемая в контекст по мере необходимости └── assets/ - Файлы, используемые в результате (шаблоны, значки, шрифты и т. д.) ``` #### SKILL.md (обязательно) Каждый SKILL.md состоит из: - **Frontmatter** (YAML): содержит поля `name` и `description`. Это единственные поля, которые Claude читает, чтобы определить, когда использовать навык, поэтому крайне важно ясно и полно описывать, что представляет собой навык и когда его следует применять. - **Основной текст** (Markdown): инструкции и рекомендации по использованию навыка. Загружается только ПОСЛЕ срабатывания навыка (если вообще загружается). #### Включённые ресурсы (необязательно) ##### Скрипты (`scripts/`) Исполняемый код (Python/Bash/и т. д.) для задач, требующих детерминированной надёжности или многократного переписывания одного и того же кода. - **Когда включать**: когда один и тот же код переписывается многократно или нужна детерминированная надёжность - **Пример**: `scripts/rotate_pdf.py` для задач поворота PDF - **Преимущества**: экономия токенов, детерминированность, возможность выполнения без загрузки в контекст - **Примечание**: Claude всё же может потребоваться прочитать скрипты для внесения исправлений или адаптации к среде ##### Справочные материалы (`references/`) Документация и справочные материалы, предназначенные для загрузки в контекст по мере необходимости, чтобы направлять работу и рассуждения Claude. - **Когда включать**: когда Claude должен обращаться к документации во время работы - **Примеры**: `references/finance.md` для финансовых схем, `references/mnda.md` для корпоративного шаблона NDA, `references/policies.md` для политик компании, `references/api_docs.md` для спецификаций API - **Применение**: схемы баз данных, документация API, предметные знания, политики компании, подробные руководства по рабочим процессам - **Преимущества**: SKILL.md остаётся компактным; материалы загружаются только тогда, когда Claude определяет, что они нужны - **Рекомендация**: если файлы большие (>10 тыс. слов), включайте в SKILL.md шаблоны поиска grep - **Избегайте дублирования**: информация должна находиться либо в SKILL.md, либо в справочных файлах, но не в обоих местах. ##### Вспомогательные файлы (`assets/`) Файлы, предназначенные не для загрузки в контекст, а для использования в результате, который создаёт Claude. - **Когда включать**: когда навыку нужны файлы, которые будут использованы в итоговом результате - **Примеры**: `assets/logo.png` для фирменных материалов, `assets/slides.pptx` для шаблонов PowerPoint - **Применение**: шаблоны, изображения, значки, шаблонный код, шрифты, образцы документов ### Принцип постепенного раскрытия Навыки используют трёхуровневую систему загрузки для эффективного управления контекстом: 1. **Метаданные (name + description)** — всегда в контексте (~100 слов) 2. **Основной текст SKILL.md** — при срабатывании навыка (<5 тыс. слов) 3. **Включённые ресурсы** — по мере необходимости для Claude Оставляйте в основном тексте SKILL.md только существенное и удерживайте его объём в пределах 500 строк, чтобы свести разрастание контекста к минимуму. ## Процесс создания навыка Создание навыка включает следующие шаги: 1. Понять навык на конкретных примерах 2. Спланировать повторно используемое содержимое навыка (скрипты, справочные материалы, вспомогательные файлы) 3. Инициализировать навык (запустить init_skill.py) 4. Отредактировать навык (реализовать ресурсы и написать SKILL.md) 5. Упаковать навык (запустить package_skill.py) 6. Последовательно улучшать его на основе реального использования ### Шаг 3: инициализация навыка При создании нового навыка с нуля всегда запускайте скрипт `init_skill.py`: ```bash scripts/init_skill.py --path ``` ### Шаг 4: редактирование навыка Обращайтесь к этим полезным руководствам в зависимости от потребностей навыка: - **Многошаговые процессы**: см. references/workflows.md о последовательных рабочих процессах и условной логике - **Конкретные форматы вывода или стандарты качества**: см. references/output-patterns.md о шаблонах и примерах ### Шаг 5: упаковка навыка ```bash scripts/package_skill.py ``` Скрипт упаковки выполняет проверку и создаёт файл .skill для распространения.