Claude Code Skills: гайд по SKILL.md

Как создавать и использовать skills в Claude Code: структура SKILL.md, поля frontmatter, расположение, автозапуск и вызов /skill-name, встроенные skills (2026).

Обновлено 2026-10-20

Нужен API-ключ? Зарегистрироваться →Эндпоинты и Base URL →

Содержание

Последняя проверка: 2026-10-20 · 📄 По официальной документации (Claude Code Skills)

Skill — это файл SKILL.md: YAML frontmatter между маркерами --- сообщает Claude, когда применять навык, а Markdown ниже содержит инструкции, которые Claude выполняет при запуске. Claude использует skills автоматически, когда они уместны, а вызвать навык напрямую можно командой /skill-name.

Skills — это компоненты уровня знаний в Claude Code, предоставляющие Claude специализированные знания и рекомендации в конкретных областях. Claude загружает их автоматически, когда они уместны, а вызвать навык напрямую можно командой /skill-name.

Что такое Skills?

Skills — это модули специализированных знаний, хранящиеся в файлах SKILL.md:

  • Автоматическая активация: Claude автоматически использует подходящий Skill в зависимости от контекста задачи

  • Доменные знания: предоставляют лучшие практики и рекомендации для конкретной области

  • Расширяемость: можно создавать пользовательские Skills для специфических потребностей

  • Контекстная осведомлённость: вызываются только в релевантных сценариях

Skills vs Commands vs Agents

Компонент Способ вызова Назначение
Commands Ручной вызов пользователем (/command) Выполнение конкретных задач
Skills Автоматически или через /skill-name Предоставление доменных знаний
Agents Делегированный вызов Обработка сложных рабочих процессов

Skills, команды и CLAUDE.md (проверено 2026-10-20)

Skills в Claude Code следуют открытому стандарту Agent Skills, который работает в разных AI-инструментах. Пользовательские команды объединены со skills: файл .claude/commands/deploy.md и навык .claude/skills/deploy/SKILL.md оба создают /deploy и работают одинаково. В отличие от содержимого CLAUDE.md, тело skill загружается только при использовании, поэтому большой справочный материал почти ничего не стоит, пока он не понадобится.

Использование встроенных Skills

Плагины Claude Code обычно включают несколько встроенных Skills. Когда ваша задача совпадает с описанием Skill, Claude автоматически его использует.

Кроме того, Claude Code поставляется с набором bundled skills, например /doctor, /code-review, /batch, /debug, /loop и /claude-api (проверено 2026-10-20). Вызывайте их так же, как любой другой навык: введите / и имя skill.

Пример: Ревью кода

Когда вы говорите «Помоги проверить безопасность этого кода», если установлен плагин с Skill по безопасности, Claude автоматически применит знания этого Skill для проведения проверки.

Просмотр доступных Skills

Skills обычно устанавливаются вместе с плагинами:

# Установка плагина (плагин может содержать несколько Skills)
/plugin install plugin-name@marketplace

Создание пользовательских Skills

Базовая структура

Простейший Skill требует только файла SKILL.md:

my-skill/
└── SKILL.md

Формат SKILL.md

---
name: Руководство по стилю кода
description: Используется, когда пользователь спрашивает о «стиле кода», «соглашениях об именовании», «форматировании кода» или обсуждает стандарты кода
---

# Руководство по стилю кода

## Соглашения об именовании

- Переменные — camelCase
- Константы — UPPER_SNAKE_CASE
- Классы — PascalCase
- Приватные члены — с префиксом подчёркивания

## Правила форматирования

- Отступы — 2 пробела
- Длина строки не более 80 символов
- Использование завершающей запятой

## Лучшие практики

- Функция должна иметь единственную ответственность
- Избегайте глубокой вложенности
- Используйте осмысленные имена переменных

Поля frontmatter

Все поля необязательны. Рекомендуется только description, чтобы Claude знал, когда использовать skill; name можно опустить — по умолчанию берётся имя каталога. Имя поля должно точно совпадать с официальным справочником frontmatter, включая дефисы (в таблице ниже — только основные поля; в официальной документации есть ещё model, effort, hooks, user-invocable и другие): Claude Code игнорирует незнакомое поле и не сообщает об ошибке (проверено 2026-10-20).

Поле Обязательное Описание
name Нет Имя команды в меню /; по умолчанию — имя каталога
description Рекомендуется Что делает skill и когда его применять; по этому описанию Claude решает, когда использовать навык
when_to_use Нет Дополнительный контекст о том, когда Claude стоит вызывать skill: триггерные фразы или примеры запросов; добавляется к description в списке skills
argument-hint Нет Подсказка при автодополнении об ожидаемых аргументах, например [issue-number] или [filename] [format]
disable-model-invocation Нет Значение true запрещает Claude автоматически загружать skill; для рабочих процессов, которые вы запускаете вручную через /name
allowed-tools Нет Инструменты, которые Claude может использовать без подтверждения в рамках того же запроса, в котором вызван skill
paths Нет Glob-шаблоны, ограничивающие активацию skill: Claude загружает его автоматически только при работе с подходящими файлами
context Нет Значение fork запускает skill в контексте форкнутого субагента

version в этой таблице нет: Claude Code игнорирует незнакомые поля и не сообщает об ошибке (проверено 2026-10-20).

Написание эффективного Description

Поле description определяет, когда Skill будет активирован, и должно содержать конкретные триггерные фразы:

Хороший пример:

description: Используется, когда пользователь спрашивает о «создании hook», «добавлении PreToolUse hook», «валидации использования инструментов» или упоминает hook-события

Плохой пример:

description: Руководство по hooks  # Слишком расплывчато

Полная структура Skill

Для сложных Skills можно включать дополнительные ресурсы:

my-skill/
├── SKILL.md           # Основной документ знаний
├── references/        # Детальные справочные материалы
│   ├── patterns.md    # Паттерны проектирования
│   └── advanced.md    # Продвинутые приёмы
├── examples/          # Примеры кода
│   ├── basic.ts       # Базовый пример
│   └── advanced.ts    # Продвинутый пример
└── scripts/           # Вспомогательные скрипты
    └── validate.sh    # Скрипт валидации

Ссылки на ресурсы

Ссылки на другие ресурсы в SKILL.md:

---
name: Руководство по разработке API
description: Используется, когда пользователь спрашивает о «проектировании API», «REST-интерфейсах», «лучших практиках API»
---

# Руководство по разработке API

Подробные паттерны проектирования API см. в @references/patterns.md

## Быстрый пример

См. @examples/basic.ts для базового использования

Динамическое внедрение контекста

Строка вида !`git diff HEAD` использует динамическое внедрение контекста: Claude Code выполняет команду и заменяет строку её выводом до того, как Claude увидит содержимое skill, поэтому инструкции приходят с уже вставленным текущим diff (проверено 2026-10-20).

Где размещать skills

  • Личные skills размещаются в ~/.claude/skills/<skill-name>/SKILL.md.
  • Skills проекта размещаются в .claude/skills/<skill-name>/SKILL.md внутри репозитория.
  • Skills плагина размещаются в <plugin>/skills/<skill-name>/SKILL.md внутри плагина.

Использование Skills в плагинах

Структура директорий

Skills размещаются в директории skills/ плагина:

my-plugin/
├── .claude-plugin/
│   └── plugin.json
├── commands/          # Уровень команд
├── agents/            # Уровень агентов
└── skills/            # Уровень знаний
    ├── code-style/
    │   └── SKILL.md
    └── api-docs/
        ├── SKILL.md
        └── references/

Ссылка на Skill в команде

Команды могут явно ссылаться на знания Skill:

---
description: Генерация API-документации по стандартам
argument-hint: [api-file]
---

Сгенерируй API-документацию для @$1.

Используй Skill api-docs, чтобы документация включала:

- Полное описание эндпоинтов
- Спецификации параметров
- Форматы ответов
- Коды ошибок
- Примеры использования

Практические примеры

Пример 1: Skill стандартов проекта

---
name: Стандарты проекта
description: Используется, когда пользователь спрашивает о «структуре проекта», «организации файлов», «стандартах директорий»
---

# Стандарты проекта

## Структура директорий

\`\`\`
src/
├── components/    # React-компоненты
├── hooks/         # Пользовательские Hooks
├── services/      # API-сервисы
├── utils/         # Утилиты
└── types/         # Типы TypeScript
\`\`\`

## Именование файлов

- Компоненты: PascalCase (например, `UserProfile.tsx`)
- Утилиты: camelCase (например, `formatDate.ts`)
- Константы: UPPER_SNAKE_CASE (например, `API_ENDPOINTS.ts`)

## Порядок импортов

1. Связанные с React
2. Сторонние библиотеки
3. Внутренние модули
4. Определения типов
5. Файлы стилей

Пример 2: Skill Git-воркфлоу

---
name: Git-воркфлоу
description: Используется, когда пользователь спрашивает о «стратегии ветвления», «стандартах коммитов», «Git-процессе»
---

# Стандарты Git-воркфлоу

## Именование веток

- Функция: `feature/описание`
- Исправление: `fix/описание`
- Срочное исправление: `hotfix/описание`

## Формат сообщения коммита

\`\`\`
<type>(<scope>): <subject>

<body>

<footer>
\`\`\`

### Типы Type

- `feat`: новая функциональность
- `fix`: исправление бага
- `docs`: обновление документации
- `style`: форматирование кода
- `refactor`: рефакторинг
- `test`: тесты
- `chore`: сборка/инструменты

Пример 3: Skill аудита безопасности

---
name: Аудит безопасности
description: Используется, когда пользователь спрашивает о «проверке безопасности», «сканировании уязвимостей», «лучших практиках безопасности» или проверяет безопасность кода
---

# Руководство по аудиту безопасности

## Проверка распространённых уязвимостей

### SQL-инъекции

- Проверьте использование параметризованных запросов
- Избегайте конкатенации строк в SQL

### XSS-атаки

- Проверьте экранирование пользовательского ввода
- Используйте CSP-заголовки

### Конфиденциальные данные

- Убедитесь, что пароли не хранятся в открытом виде
- Не хардкодьте API-ключи
- Проверьте, не утекают ли конфиденциальные данные в логи

## Чеклист проверки

- [ ] Валидация ввода
- [ ] Кодирование вывода
- [ ] Механизм аутентификации
- [ ] Проверка авторизации
- [ ] Использование шифрования
- [ ] Обработка ошибок

Лучшие практики

1. Чёткое описание триггеров

Используйте конкретные триггерные фразы вместо расплывчатых описаний:

# Хорошо
description: Используется, когда пользователь спрашивает о «создании компонента», «шаблоне React-компонента», «лучших практиках компонентов»

# Плохо
description: Связано с React-компонентами

2. Структурированные знания

Организуйте знания в чёткую иерархическую структуру:

  • Используйте уровни заголовков

  • Предоставляйте примеры кода

  • Включайте чеклисты

3. Поддержание актуальности

  • Регулярно обновляйте содержимое Skill

  • Номер версии отражает изменения

  • Фиксируйте важные обновления

4. Модульное проектирование

  • Каждый Skill фокусируется на одной области

  • Используйте директорию references для детальных материалов

  • Предоставляйте практические примеры через examples

Отладка Skills

Если Skill не активируется как ожидалось:

  1. Проверьте description: убедитесь, что триггерные фразы соответствуют вводу пользователя

  2. Проверьте формат: убедитесь, что YAML frontmatter корректен

  3. Протестируйте активацию: попробуйте точные фразы из description

Следующие шаги

Начните с QCode

Один API-ключ для Claude Code, Codex и других инструментов; тарификация по токенам, цены каждой модели — на qcode.cc/models

Enterprise →