Обзор
Agent Skills расширяют Claude специализированными возможностями, которые Claude автономно вызывает при необходимости. Skills упаковываются в виде файловSKILL.md, содержащих инструкции, описания и дополнительные вспомогательные ресурсы.
Для получения полной информации о Skills, включая преимущества, архитектуру и рекомендации по разработке, см. обзор Agent Skills.
Как Skills работают с SDK
При использовании Claude Agent SDK Skills:- Определяются как артефакты файловой системы: Создаются как файлы
SKILL.mdв определённых каталогах (.claude/skills/) - Загружаются из файловой системы: Skills загружаются из расположений файловой системы, управляемых
settingSources(TypeScript) илиsetting_sources(Python) - Автоматически обнаруживаются: После загрузки параметров файловой системы метаданные Skill обнаруживаются при запуске из пользовательских и проектных каталогов; полное содержимое загружается при срабатывании
- Вызываются моделью: Claude автономно выбирает, когда их использовать, на основе контекста
- Фильтруются через опцию
skills: Обнаруженные Skills включены по умолчанию. Передайте список имён Skills,"all"или[]для управления доступными в сеансе
Skills обнаруживаются через источники параметров файловой системы. С параметрами
query() по умолчанию SDK загружает пользовательские и проектные источники, поэтому Skills в ~/.claude/skills/, <cwd>/.claude/skills/ и .claude/skills/ в любом родительском каталоге <cwd> вплоть до корня репозитория доступны. Если вы явно установите settingSources, включите 'user' или 'project' для сохранения обнаружения Skills, или используйте опцию plugins для загрузки Skills из определённого пути.Использование Skills с SDK
Установите опциюskills на query() для управления тем, какие Skills доступны для сеанса. Если опция опущена, обнаруженные Skills включены и инструмент Skill доступен, что соответствует поведению CLI. Передайте "all" для включения каждого обнаруженного Skill, список имён Skill для включения только тех или [] для отключения всех. Когда вы устанавливаете skills, SDK автоматически добавляет инструмент Skill в allowedTools. Если вы также передаёте явный список tools, включите "Skill" в этот список, чтобы Claude мог вызывать skills.
После настройки Claude автоматически обнаруживает Skills из файловой системы и вызывает их при необходимости для запроса пользователя.
name в SKILL.md или имени каталога Skill. Используйте plugin:skill для Skills, предоставляемых плагинами.
skills является фильтром контекста, а не песочницей. Неуказанные Skills скрыты от модели и отклонены инструментом Skill, но их файлы остаются на диске и доступны через Read и Bash.
Расположение Skills
Skills загружаются из каталогов файловой системы на основе конфигурацииsettingSources/setting_sources:
- Project Skills (
.claude/skills/): Общие с вашей командой через git - загружаются, когдаsetting_sourcesвключает"project" - User Skills (
~/.claude/skills/): Личные Skills для всех проектов - загружаются, когдаsetting_sourcesвключает"user" - Plugin Skills: Поставляются с установленными Claude Code плагинами
Создание Skills
Skills определяются как каталоги, содержащие файлSKILL.md с YAML frontmatter и содержимым Markdown. Поле description определяет, когда Claude вызывает ваш Skill.
Пример структуры каталога:
- Agent Skills в Claude Code: Полное руководство с примерами
- Agent Skills Best Practices: Рекомендации по разработке и соглашения об именовании
Ограничения инструментов
Поле frontmatter
allowed-tools в SKILL.md поддерживается только при прямом использовании Claude Code CLI. Оно не применяется при использовании Skills через SDK.При использовании SDK управляйте доступом к инструментам через основную опцию allowedTools в конфигурации запроса.allowedTools для предварительного одобрения определённых инструментов. Без обратного вызова canUseTool всё, что не в списке, отклоняется:
Предполагается, что операторы импорта из первого примера используются в следующих фрагментах кода.
Обнаружение доступных Skills
Чтобы узнать, какие Skills доступны в вашем приложении SDK, просто спросите Claude:Тестирование Skills
Тестируйте Skills, задавая вопросы, которые соответствуют их описаниям:Troubleshooting
Skills не найдены
Проверьте конфигурацию settingSources: Skills обнаруживаются через источники параметровuser и project. Если вы явно установите settingSources/setting_sources и опустите эти источники, Skills не загружаются:
settingSources/setting_sources см. справочник TypeScript SDK или справочник Python SDK.
Проверьте рабочий каталог: SDK загружает Skills из .claude/skills/ в опции cwd и в каждом родительском каталоге вплоть до корня репозитория. Убедитесь, что cwd указывает на каталог, содержащий .claude/skills/, или ниже него в пределах одного репозитория:
Skill не используется
Проверьте опциюskills: Если вы передали список skills, подтвердите, что имя Skill включено. Передача [] отключает все Skills.
Проверьте описание: Убедитесь, что оно конкретно и включает соответствующие ключевые слова. Рекомендации по написанию эффективных описаний см. в Agent Skills Best Practices.
Дополнительное Troubleshooting
Для общего Troubleshooting Skills (синтаксис YAML, отладка и т. д.) см. раздел Troubleshooting Claude Code Skills.Связанная документация
Руководства Skills
- Agent Skills в Claude Code: Полное руководство Skills с созданием, примерами и Troubleshooting
- Agent Skills Overview: Концептуальный обзор, преимущества и архитектура
- Agent Skills Best Practices: Рекомендации по разработке эффективных Skills
- Agent Skills Cookbook: Примеры Skills и шаблоны
Ресурсы SDK
- Subagents в SDK: Похожие агенты на основе файловой системы с программными опциями
- Slash Commands в SDK: Команды, вызываемые пользователем
- Обзор SDK: Общие концепции SDK
- Справочник TypeScript SDK: Полная документация API
- Справочник Python SDK: Полная документация API