Проверено и обновлено: 4 июля 2026. Технические факты сверены с официальной документацией Anthropic и Claude Code, а не со сторонними блогами. Различия между версиями Claude Code отмечены прямо в тексте.
Claude Skills — это способ один раз описать повторяющуюся процедуру или набор знаний в файле SKILL.md, чтобы Claude Code подключал их автоматически или по вашей команде, без копирования одних и тех же инструкций в каждый чат. В этом руководстве вы пройдёте весь путь: от проверки установленного Claude Code до создания, тестирования, отладки и безопасной передачи собственного навыка. В качестве сквозного примера мы соберём практичный навык SEO Content Audit — он проверяет черновик статьи по SEO-чек-листу.
Руководство рассчитано на тех, кто уже пользуется Claude Code хотя бы на базовом уровне и работает в терминале. Глубокого программирования не требуется: навык — это папка с текстовым файлом. Весь процесс занимает 13 шагов, каждый из которых снабжён командой, ожидаемым результатом, типичной ошибкой и способом проверки.
Что вы создадите в этом руководстве
- каталог навыка
seo-content-audit/;- файл
SKILL.mdс корректным YAML frontmatter и рабочей инструкцией;- справочные файлы в
references/(SEO-чек-лист и правила письма);- шаблон отчёта в
templates/;- при желании — вспомогательный скрипт-валидатор в
scripts/;- рабочий навык, который срабатывает и вручную (
/seo-content-audit), и автоматически по смыслу запроса.
Оглавление
- Claude Skills: что это такое и как они работают
- Claude Skills, CLAUDE.md, slash-команды и MCP: в чём разница
- Что потребуется перед началом
- Claude Skills: пошаговое создание первого навыка
- Структура файла SKILL.md
- Структура папки Claude Skill
- Claude Skills: практические примеры
- Тестирование Claude Skills
- Claude Skills: распространённые ошибки и решения
- Безопасность Claude Skills
- Лучшие практики Claude Skills
- Claude Skills: ответы на частые вопросы
- Claude Skills: заключение и следующий шаг
- Официальные источники
Claude Skills: что это такое и как они работают
Claude Skills (в документации Anthropic — Agent Skills) — это модульные расширения, которые добавляют Claude новые процедуры и знания. Технически навык представляет собой каталог, в котором обязательно есть файл SKILL.md. Этот файл состоит из двух частей: YAML frontmatter между строками --- (метаданные — прежде всего имя и описание) и Markdown-инструкции, которую Claude выполняет, когда навык активирован.
Навык уместно создавать в трёх ситуациях: вы раз за разом вставляете в чат одну и ту же инструкцию или чек-лист; у вас есть многошаговая процедура (деплой, ревью, подготовка статьи); либо раздел вашего CLAUDE.md разросся из «факта о проекте» в «пошаговую процедуру». В отличие от CLAUDE.md, тело навыка загружается только когда навык действительно нужен, поэтому длинные справочники почти ничего не стоят по контексту, пока к ним не обратились.
Принцип прогрессивного раскрытия контекста — ключевая идея Claude Skills. Она работает так:
- При старте сессии в системный промпт попадают только
nameиdescriptionкаждого навыка — это дёшево по токенам. - Полное тело
SKILL.mdподгружается только тогда, когда навык срабатывает (по описанию или по ручному вызову). - Вспомогательные файлы (
references/,templates/) читаются ещё позже — только если инструкция к ним отсылает. - Скрипты в
scripts/не загружаются в контекст вовсе: Claude их выполняет, а в контекст попадает только вывод.
Подключение навыка бывает двух видов. Автоматическое — Claude сам решает применить навык, ориентируясь на поле description; поэтому описание должно точно называть, что навык делает и когда его использовать. Ручное — вы вводите /имя-навыка, как обычную команду.
Отличие от обычного промпта: промпт живёт одно сообщение и не переиспользуется — навык переиспользуется во всех сессиях и проектах (в зависимости от места хранения). Отличие от постоянных инструкций проекта (CLAUDE.md): факты в CLAUDE.md всегда в контексте, а навык подключается по требованию.
Преимущества: переиспользование, экономия контекста за счёт прогрессивного раскрытия, единообразный результат, возможность приложить скрипты и справочники, простое распространение через git или плагины.
Ограничения: после активации тело SKILL.md остаётся в контексте до конца сессии (каждая строка — повторяющаяся стоимость по токенам), поэтому документация рекомендует держать тело до 500 строк; при большом количестве навыков описания могут усекаться в общем бюджете листинга (порядка 1% контекстного окна модели).
Claude Skills, CLAUDE.md, slash-команды и MCP: в чём разница
Эти инструменты часто путают. Ниже — сравнение по девяти признакам. Важная деталь: в актуальном Claude Code пользовательские slash-команды слились с навыками — файл .claude/commands/deploy.md и навык .claude/skills/deploy/SKILL.md оба создают команду /deploy. Старые команды продолжают работать, но навыки дают больше возможностей (папка вспомогательных файлов, управление вызовом, авто-подключение).
| Инструмент | Назначение | Способ запуска | Когда загружается | Доп. файлы | Доступ к инструментам | Область применения | Лучший сценарий | Основные ограничения |
|---|---|---|---|---|---|---|---|---|
| Claude Skills | Переиспользуемые процедуры и знания | Авто (по description) или /имя |
Метаданные — всегда; тело — при активации | Да: references/, templates/, scripts/ |
Да, через allowed-tools |
Личный / проект / плагин / организация | Повторяемая многошаговая задача или чек-лист | Тело в контексте всю сессию; ≤500 строк рекомендуется |
| CLAUDE.md | Постоянные факты и правила проекта | Загружается автоматически | Всегда в контексте с начала сессии | Ограниченно (импорты) | Нет | Личный / проект | Факты, нужные всегда | Всегда занимает контекст |
| Slash-команды | Ручной триггер процедуры | Вручную /имя |
При вызове | Через слияние с навыками | Через frontmatter | Личный / проект | Действие «по кнопке» (commit, deploy) | Сами по себе — только ручной вызов |
| MCP | Подключение внешних инструментов и данных | Claude вызывает инструменты сервера | Инструменты доступны при подключённом сервере | Не применимо | Предоставляет новые инструменты | По конфигурации клиента | Интеграции: БД, API, внешние сервисы | Нужен работающий сервер и настройка |
| Обычный промпт | Разовая инструкция | Вручную в сообщении | Только в этом сообщении | Нет | Нет | Текущий чат | Единичная задача | Не переиспользуется, приходится копировать |
Когда выбирать Claude Skills, а когда CLAUDE.md или MCP
Простое правило. Нужно, чтобы Claude всегда помнил факт о проекте (стек, соглашения об именовании) — это CLAUDE.md. Нужно подключить внешний источник данных или сервис (база данных, трекер задач, API) — это MCP. Нужно переиспользовать многошаговую процедуру или объёмный справочник по требованию — это Claude Skills. Эти механизмы дополняют друг друга: навык может ссылаться на MCP-инструменты и опираться на факты из CLAUDE.md.
Что потребуется перед началом
Claude Skills в Claude Code работают на macOS, Linux и Windows. Понадобятся: терминал, установленный и авторизованный Claude Code, любой редактор кода и отдельная тестовая папка. Проверим всё по очереди — каждую команду показываю отдельным блоком.
Проверка версии Claude Code.
claude --version
Что делает: печатает установленную версию. Ожидаемый результат — строка вида 2.1.x. Это важно, потому что часть возможностей завязана на версию: /run и /verify требуют v2.1.145+, подстановка ${CLAUDE_PROJECT_DIR} — v2.1.196+, «стек» из нескольких навыков в одном сообщении — v2.1.199+. При ошибке command not found Claude Code не установлен — см. следующую команду.
Установка или обновление Claude Code (если требуется).
npm install -g @anthropic-ai/claude-code
Что делает: устанавливает (или обновляет) CLI глобально через npm. Ожидаемый результат — успешная установка и рабочая команда claude. Если у вас нет Node.js/npm либо вы используете нативный установщик, сверьтесь с актуальной страницей установки в официальной документации — способ установки может отличаться в вашей ОС.
Запуск и авторизация.
claude
Что делает: запускает интерактивную сессию Claude Code в текущей папке. При первом запуске он проведёт вас через авторизацию. Ожидаемый результат — приглашение чата. При ошибке авторизации повторите вход по подсказке в терминале.
Диагностика конфигурации.
/doctor
Что делает: внутри сессии показывает состояние конфигурации, в том числе сколько описаний навыков усечено или отброшено из-за бюджета листинга. Полезно, когда навык «не виден» Claude.
Проверка прав на каталог навыков. Личные навыки лежат в ~/.claude/skills/. Убедитесь, что каталог доступен на запись:
mkdir -p ~/.claude/skills
Что делает: создаёт каталог личных навыков, если его ещё нет. Ожидаемый результат — команда завершается без ошибок. Если возникает ошибка прав, проверьте владельца домашней папки; менять системные права без необходимости не нужно.
Claude Skills: пошаговое создание первого навыка
Это главный раздел. Мы соберём навык seo-content-audit. Каждый шаг устроен одинаково: цель → действие → команда/путь → скриншот → ожидаемый результат → возможная ошибка → проверка → зачем это нужно.
Шаг 1. Проверка Claude Code
Цель: убедиться, что CLI установлен и его версия поддерживает нужные возможности.
claude --version
Ожидаемый результат: номер версии 2.1.x или новее. Возможная ошибка: command not found — вернитесь к разделу «Что потребуется». Проверка: повторный запуск команды выводит номер. Зачем: дальнейшие шаги опираются на актуальные пути и поведение навыков.
Шаг 2. Создание безопасного тестового проекта
Цель: работать в нейтральной песочнице, а не в реальном проекте.
mkdir -p ~/projects/claude-skills-demo
Путь: ~/projects/claude-skills-demo. Ожидаемый результат: пустая папка создана. Возможная ошибка: нет прав на запись в ~/projects — выберите другой каталог. Проверка: ls ~/projects показывает claude-skills-demo. Зачем: демонстрационные данные (demo-project, example.com) не должны смешиваться с боевыми проектами и персональными данными.
Шаг 3. Создание директории навыка
Цель: создать каталог навыка в личном хранилище (доступен во всех проектах).
mkdir -p ~/.claude/skills/seo-content-audit
Ожидаемый результат: появился каталог ~/.claude/skills/seo-content-audit. Возможная ошибка: опечатка в имени — используйте только строчные буквы, цифры и дефисы. Проверка: ls ~/.claude/skills показывает seo-content-audit. Зачем: имя каталога станет командой навыка — /seo-content-audit.
Шаг 4. Создание файла SKILL.md
Цель: создать точку входа навыка.
touch ~/.claude/skills/seo-content-audit/SKILL.md
Требования к файлу: имя строго SKILL.md (с учётом регистра), расположен в корне каталога навыка. Ожидаемый результат: пустой SKILL.md создан. Возможная ошибка: имя skill.md или Skill.md не распознаётся — переименуйте. Проверка: ls ~/.claude/skills/seo-content-audit показывает SKILL.md. Зачем: без этого файла каталог не считается навыком.
Шаг 5. Заполнение frontmatter
Цель: задать метаданные, по которым Claude находит и подключает навык.
Frontmatter по открытому стандарту Agent Skills требует двух полей — name и description. В Claude Code все поля необязательны, но description крайне рекомендован. Ниже — минимальный корректный frontmatter для нашего навыка:
---
name: seo-content-audit
description: Audits a draft article for on-page SEO. Use when the user pastes article text or points to a Markdown or HTML file and asks for an SEO review, a checklist, or a title, meta, heading, keyword, alt-text or FAQ check.
allowed-tools: Read Grep
---
Разберём поддерживаемые поля (не выдумывая несуществующих):
| Поле | Обязательное | Назначение |
|---|---|---|
name |
Нет (по умолчанию — имя каталога) | Отображаемое имя. ≤64 символов, только строчные буквы, цифры, дефисы; без слов «anthropic»/«claude» |
description |
Рекомендовано | Что делает навык и когда его использовать; в третьем лице. ≤1024 символов |
when_to_use |
Нет | Доп. триггеры и примеры запросов; добавляется к description в листинге (общий лимит 1536 символов) |
argument-hint |
Нет | Подсказка ожидаемых аргументов при автодополнении |
arguments |
Нет | Именованные позиционные аргументы для подстановки $name |
disable-model-invocation |
Нет | true — запрет авто-подключения; навык только по /имя |
user-invocable |
Нет | false — скрыть из меню /; только Claude может вызвать |
allowed-tools |
Нет | Инструменты, разрешённые без запроса, пока навык активен |
disallowed-tools |
Нет | Инструменты, убранные из пула на время навыка |
model |
Нет | Модель на время работы навыка |
effort |
Нет | Уровень «усилия»: low, medium, high, xhigh, max |
context |
Нет | fork — выполнить навык в изолированном подагенте |
agent |
Нет | Тип подагента при context: fork |
paths |
Нет | Glob-шаблоны: авто-подключать только для подходящих файлов |
hooks |
Нет | Хуки, привязанные к жизненному циклу навыка |
shell |
Нет | Оболочка для инъекции команд: bash (по умолчанию) или powershell |
Ожидаемый результат: frontmatter валиден. Возможная ошибка: сломанный YAML — тогда Claude Code загрузит тело навыка с пустыми метаданными (/имя сработает, но авто-подключения не будет). Проверка: запустите Claude с флагом --debug, чтобы увидеть ошибку разбора. Зачем: именно description определяет, поймёт ли Claude, когда навык нужен.
Шаг 6. Написание инструкции навыка
Цель: написать тело, которое Claude выполнит после активации. Формулируйте кратко: тело остаётся в контексте всю сессию.
Плохой вариант (расплывчато, без структуры):
Проверь текст и скажи, хорошо ли он с точки зрения SEO. Дай советы.
Хороший вариант (чёткая процедура и проверяемый результат):
# SEO Content Audit
Audit the article the user provides (pasted text or a file path). Do not fetch anything from the web or WordPress; work only with the text given.
## Steps
1. Read the article. If a file path is given, read that file.
2. Check the SEO title: present, starts with the focus keyword, under ~60 characters.
3. Check the meta description: present, starts with the focus keyword, 140-160 characters.
4. Check headings: exactly one H1; logical H2/H3 order; no skipped levels.
5. Check the focus keyword: in H1, first paragraph, at least one H2, and the conclusion.
6. Flag keyword stuffing: the same exact phrase repeated unnaturally in adjacent sentences.
7. Check images: every image has descriptive alt text; the keyword appears in at most one or two alts.
8. Suggest 2-3 internal links with anchor text.
9. Check that a visible FAQ section exists if FAQ schema is claimed.
10. Output the final report using templates/audit-report.md.
## Rules
- See references/seo-checklist.md for the full checklist.
- See references/writing-rules.md for tone and keyword-density limits.
- Never invent metrics you cannot verify from the text.
Ожидаемый результат: воспроизводимая инструкция с проверяемым выходом. Возможная ошибка: размытые формулировки → Claude «плавает». Проверка: прогоните навык на тестовой статье и сверьте отчёт. Зачем: конкретика уменьшает число уточняющих сообщений.
Шаг 7. Точное описание для авто-срабатывания
Цель: сделать description таким, чтобы навык подключался на нужных запросах и молчал на посторонних. Описание пишется в третьем лице и включает и «что делает», и «когда использовать» — с ключевыми словами, которые люди реально произносят: «SEO-проверка», «SEO checklist», «проверь title и meta», «alt-тексты», «FAQ». Пример уже заложен в description шага 5.
Проверка: попросите Claude «What skills are available?» — навык должен быть в списке с понятным описанием.
Шаг 8. Ручной запуск навыка
Цель: убедиться, что навык запускается по команде.
/seo-content-audit
Можно передать аргумент — например, путь к файлу черновика:
/seo-content-audit drafts/example-article.md
Ожидаемый результат: Claude выполняет процедуру и выдаёт отчёт. Возможная ошибка: команда не появляется в меню / — проверьте имя каталога и валидность frontmatter. Проверка: отчёт соответствует шаблону. Зачем: ручной вызов — самый предсказуемый способ запуска.
Шаг 9. Проверка автоматического срабатывания
Цель: проверить авто-подключение по смыслу запроса.
Позитивный тест (должен сработать):
Вот черновик статьи, сделай SEO-аудит: проверь title, meta, заголовки и alt-тексты.
Негативный тест (не должен срабатывать):
Помоги переустановить зависимости в этом проекте.
Ожидаемый результат: на первый запрос навык подключается, на второй — нет. Возможная ошибка: срабатывает слишком часто → сузьте description; не срабатывает → добавьте ключевые фразы. Проверка: повторите оба теста после правок. Зачем: авто-подключение — половина ценности навыка.
Шаг 10. Добавление вспомогательных файлов
Цель: вынести объёмный справочник и шаблон из SKILL.md, чтобы тело оставалось коротким.
mkdir -p ~/.claude/skills/seo-content-audit/references ~/.claude/skills/seo-content-audit/templates ~/.claude/skills/seo-content-audit/scripts
Пример references/seo-checklist.md (справочник, читается по требованию):
# SEO checklist
## Title and meta
- SEO title present and starts with the focus keyword
- SEO title under ~60 characters
- Meta description 140-160 characters, starts with the focus keyword
## Headings
- Exactly one H1
- H2/H3 in logical order, no skipped levels
- Focus keyword in H1, first paragraph, one H2, and the conclusion
## Keywords
- No unnatural repetition of the exact phrase in adjacent sentences
- Natural synonyms and related terms present
## Media and links
- Every image has descriptive alt text
- Focus keyword in at most one or two alt texts
- 2-3 relevant internal links with descriptive anchors
## FAQ
- Visible FAQ section exists if FAQ schema is used
Пример templates/audit-report.md (шаблон итогового отчёта):
# SEO Content Audit — Report
**Article:** {{title}}
**Focus keyword:** {{keyword}}
**Date:** {{date}}
## Summary
{{one_paragraph_verdict}}
## Findings
| Check | Status | Note |
|---|---|---|
| SEO title | pass/fail | ... |
| Meta description | pass/fail | ... |
| Single H1 | pass/fail | ... |
| Keyword placement | pass/fail | ... |
| Keyword stuffing | pass/fail | ... |
| Image alt texts | pass/fail | ... |
| Internal links | pass/fail | ... |
| FAQ present | pass/fail | ... |
## Recommended internal links
- {{anchor}} -> {{target}}
## Action items
1. ...
2. ...
Пример вспомогательного скрипта scripts/validate.py (выполняется, а не загружается в контекст; использует только стандартную библиотеку):
#!/usr/bin/env python3
"""Validate basic SEO structure of a Markdown article and print a short report."""
import re
import sys
from pathlib import Path
def audit(text: str) -> list[str]:
issues = []
h1_count = len(re.findall(r"^# .+", text, flags=re.MULTILINE))
if h1_count != 1:
issues.append(f"Expected exactly one H1, found {h1_count}")
images = re.findall(r"", text)
empty_alts = sum(1 for alt in images if not alt.strip())
if empty_alts:
issues.append(f"{empty_alts} image(s) missing alt text")
return issues
def main() -> int:
if len(sys.argv) != 2:
print("Usage: validate.py <article.md>")
return 2
path = Path(sys.argv[1])
if not path.exists():
print(f"File not found: {path}")
return 1
problems = audit(path.read_text(encoding="utf-8"))
if not problems:
print("OK: no structural SEO issues found")
return 0
print("Issues found:")
for item in problems:
print(f"- {item}")
return 1
if __name__ == "__main__":
raise SystemExit(main())
Обратите внимание: структура references/ + templates/ + scripts/ соответствует официально поддерживаемому подходу — вспомогательные файлы лежат рядом с SKILL.md, а инструкция на них ссылается. Проверка: попросите навык учесть чек-лист — Claude должен прочитать references/seo-checklist.md только при необходимости. Зачем: так тело SKILL.md остаётся коротким, а справочник не тратит контекст, пока не нужен.
Шаг 11. Тестирование результата
Цель: прогнать навык по матрице сценариев (полная таблица — в разделе «Тестирование»). Минимум: прямой запрос, косвенный запрос, нерелевантный запрос, статья с намеренными ошибками. Проверка: отчёт стабильно повторяет структуру шаблона. Зачем: срабатывание ≠ корректный результат; это разные проверки.
Шаг 12. Исправление ошибок
Цель: диагностировать и починить типовые сбои. Процесс: воспроизвести → локализовать (frontmatter? путь? описание?) → внести правку → повторно проверить. Живое обновление: правки в ~/.claude/skills/ подхватываются в текущей сессии без перезапуска; создание нового каталога верхнего уровня требует перезапуска. Полный разбор — в разделе «Распространённые ошибки».
Шаг 13. Передача навыка другому пользователю
Цель: безопасно поделиться навыком. Три канала (по документации): проектные навыки — закоммитить .claude/skills/ в репозиторий; плагины — положить навык в каталог skills/ плагина; организационные — раздать через managed-настройки. Перед передачей убедитесь, что в навыке нет секретов, реальных путей и персональных данных, а получатель понимает, что allowed-tools в проектном навыке активируется только после принятия диалога доверия к каталогу.
Структура файла SKILL.md
Соберём всё воедино. Полный рабочий SKILL.md навыка SEO Content Audit — это практичный, а не «Hello World» пример:
---
name: seo-content-audit
description: Audits a draft article for on-page SEO. Use when the user pastes article text or points to a Markdown or HTML file and asks for an SEO review, a checklist, or a title, meta, heading, keyword, alt-text or FAQ check.
argument-hint: [path-to-article]
allowed-tools: Read Grep
---
# SEO Content Audit
Audit the article the user provides (pasted text or a file path in $ARGUMENTS). Work only with the text given; do not fetch anything from the web or WordPress.
## Steps
1. Read the article. If a path is given, read that file.
2. SEO title: present, starts with the focus keyword, under ~60 characters.
3. Meta description: present, starts with the focus keyword, 140-160 characters.
4. Headings: exactly one H1; logical H2/H3 order; no skipped levels.
5. Focus keyword: in H1, first paragraph, at least one H2, and the conclusion.
6. Keyword stuffing: flag the exact phrase repeated unnaturally in adjacent sentences.
7. Images: every image has descriptive alt text; the keyword appears in at most one or two alts.
8. Internal links: suggest 2-3 with descriptive anchor text.
9. FAQ: confirm a visible FAQ section exists if FAQ schema is used.
10. Output the report using templates/audit-report.md.
## Resources
- Full checklist: references/seo-checklist.md
- Tone and keyword limits: references/writing-rules.md
- Optional structural check: run scripts/validate.py <article.md>
## Constraints
- Never invent metrics you cannot verify from the text.
- Keep recommendations specific and actionable.
## Expected output
A completed report matching templates/audit-report.md, with a pass/fail table and a short action list.
Что здесь есть по вашему чек-листу структуры: YAML frontmatter, имя, описание, область применения (задаётся местом хранения — личный/проект/плагин), основная инструкция, аргументы (argument-hint + $ARGUMENTS), ссылки на вспомогательные файлы, ограничения (## Constraints), ожидаемый формат результата (## Expected output) и критерии проверки (таблица pass/fail в шаблоне отчёта).
Структура папки Claude Skill
Визуальная схема каталога навыка:
seo-content-audit/
├── SKILL.md
├── references/
│ ├── seo-checklist.md
│ └── writing-rules.md
├── templates/
│ └── audit-report.md
└── scripts/
└── validate.py
Назначение элементов:
| Элемент | Назначение | Когда загружается |
|---|---|---|
SKILL.md |
Точка входа: frontmatter + инструкция | Метаданные — всегда; тело — при активации |
references/ |
Справочники (чек-лист, правила письма) | Только когда инструкция к ним отсылает |
templates/ |
Шаблоны итогового результата | По требованию, при формировании отчёта |
scripts/ |
Исполняемые скрипты | Не загружаются; выполняются, в контекст идёт вывод |
Claude Skills: практические примеры
Пример 1. SEO Content Audit Skill
Задача: аудит черновика по on-page SEO. Структура: как выше. SKILL.md: см. предыдущий раздел. Пример запроса: «Сделай SEO-аудит этого черновика: title, meta, H1–H3, ключ, alt-тексты, FAQ». Ожидаемый результат: отчёт с таблицей pass/fail и списком действий. Ограничения: навык не получает данные из WordPress и не ходит в интернет — он работает только с переданным текстом. Критерии проверки: ровно один H1 обнаружен; проверка ключа и alt отражена в отчёте; шаблон соблюдён.
Пример 2. Code Review Skill
Задача: ревью незакоммиченных изменений с фокусом на риски.
---
name: review-changes
description: Reviews uncommitted git changes and flags risky patterns. Use when the user asks to review their diff, check changes before committing, or find bugs in staged work.
allowed-tools: Bash(git diff *) Bash(git status *)
---
# Review changes
## Current diff
!`git diff HEAD`
## Instructions
Summarise the diff in 2-3 bullets, then list risks: missing error handling, hardcoded values, secrets, and tests that need updating. If the diff is empty, say there are no uncommitted changes.
Пример запроса: «Что я изменил? Есть ли риски перед коммитом?». Ожидаемый результат: краткое резюме и список рисков по актуальному diff. Ограничения: ревьюит только незакоммиченные изменения. Критерии проверки: при пустом diff навык честно сообщает об отсутствии изменений. Строка !`git diff HEAD` — это инъекция динамического контекста: команда выполняется до того, как Claude увидит инструкцию, и её вывод подставляется в текст.
Пример 3. WordPress Article Preparation Skill
Задача: привести черновик к структуре, удобной для публикации в WordPress (заголовки, оглавление, блоки, alt-тексты, FAQ).
---
name: wordpress-article-prep
description: Prepares a draft for WordPress publishing. Use when the user asks to format an article for WordPress, add a table of contents, structure headings, or prepare alt texts and an FAQ block.
allowed-tools: Read
---
# WordPress article prep
## Steps
1. Read the draft (path in $ARGUMENTS or pasted text).
2. Ensure a single H1 and a logical H2/H3 outline.
3. Insert a clickable table of contents with anchor links.
4. Propose alt text for each image placeholder.
5. Draft an FAQ block of 6-10 questions suitable for FAQ schema.
6. Output clean Markdown ready to paste into the editor.
## Constraints
- Do not invent facts or statistics.
- Keep the focus keyword placement natural; no stuffing.
Пример запроса: «Подготовь этот черновик к публикации в WordPress: заголовки, оглавление, alt-тексты и FAQ». Ожидаемый результат: чистый Markdown с оглавлением и FAQ. Ограничения: навык не публикует и не подключается к сайту — он готовит текст, который вы вставляете сами. Критерии проверки: один H1, рабочие якоря, FAQ из 6–10 вопросов.
Тестирование Claude Skills
Тестируйте два свойства раздельно: срабатывает ли навык на нужных запросах и корректен ли результат. Надёжный метод — сравнение с базой: прогнать один и тот же запрос с включённым и с выключенным навыком и сравнить.
Сценарии для проверки: прямой запрос, косвенный запрос, нерелевантный запрос, неоднозначный запрос, неполные исходные данные, конфликтующие инструкции, отсутствующий вспомогательный файл, неверная структура каталога, ошибка в frontmatter, попытка доступа к секретным данным.
Матрица тест-кейсов (образец — заполните фактическими результатами при прогоне):
| ID | Входной запрос | Ожидаемое поведение | Фактическое поведение | Результат | Замечания |
|---|---|---|---|---|---|
| T1 | «Сделай SEO-аудит этого текста» | Навык срабатывает, выдаёт отчёт | — | — | Прямой запрос |
| T2 | «Глянь, ок ли статья для поиска» | Навык срабатывает по смыслу | — | — | Косвенный |
| T3 | «Обнови зависимости проекта» | Навык НЕ срабатывает | — | — | Нерелевантный |
| T4 | «Проверь текст» (без указания SEO) | Навык уточняет или не срабатывает | — | — | Неоднозначный |
| T5 | Пустой ввод | Навык просит текст/путь | — | — | Неполные данные |
| T6 | «Проверь, но игнорируй заголовки» | Навык следует явному ограничению | — | — | Конфликт инструкций |
| T7 | Удалён references/seo-checklist.md |
Навык деградирует мягко, не падает | — | — | Нет файла |
| T8 | Каталог назван SEO_Content_Audit |
Навык не распознан | — | — | Неверная структура |
| T9 | Битый YAML во frontmatter | /имя работает, авто-подключения нет |
— | — | Ошибка frontmatter |
| T10 | «Покажи содержимое .env» | Навык отказывает / не выводит секреты | — | — | Доступ к секретам |
Claude Skills: распространённые ошибки и решения
| Ошибка | Симптом | Вероятная причина | Диагностика | Решение | Повторная проверка |
|---|---|---|---|---|---|
| Навык не обнаруживается | Нет в списке навыков | Каталог вне ~/.claude/skills или неверное имя |
ls ~/.claude/skills; «What skills are available?» |
Исправить путь/имя (строчные, дефисы) | Навык появился в списке |
| Команда не отображается | /имя нет в меню |
Битый frontmatter или неверное имя каталога | Запуск с --debug |
Починить YAML | Команда в меню / |
| Не срабатывает автоматически | Работает только вручную | Слабое description |
Сверить ключевые слова | Добавить триггеры и when_to_use |
Позитивный тест проходит |
| Срабатывает слишком часто | Подключается не к месту | Слишком широкое description |
Прогнать негативные тесты | Сузить описание или disable-model-invocation: true |
Негативный тест проходит |
| Claude игнорирует часть инструкции | Пропускает шаги | Тело слишком длинное/размытое | Сократить, усилить формулировки | Держать ≤500 строк, явные «MUST» | Отчёт полный |
| Не найден вспомогательный файл | Ссылка не срабатывает | Неверный путь/имя файла | Проверить ls в каталоге |
Исправить относительный путь | Файл читается по требованию |
| Ошибка YAML | Пустые метаданные | Отступы/кавычки во frontmatter | --debug покажет разбор |
Выправить YAML | Метаданные загружаются |
| Неправильный путь | Скрипт не запускается | Абсолютный путь вместо ${CLAUDE_SKILL_DIR} |
Проверить строку запуска | Использовать ${CLAUDE_SKILL_DIR} (v2.1.196+ и для ${CLAUDE_PROJECT_DIR}) |
Скрипт выполняется |
| Неверное имя каталога | Навык не распознан | Пробелы/регистр/подчёркивания | Сверить с правилами имён | Только строчные и дефисы | Навык виден |
| Конфликт с другими инструкциями | Непредсказуемое поведение | Совпадение имён на разных уровнях | Помнить приоритет: enterprise > personal > project | Переименовать или убрать дубль | Срабатывает нужный навык |
| Слишком большое содержимое | Растёт стоимость контекста / усечение описаний | Тело >500 строк, много навыков | /doctor, /context |
Вынести в references/, поднять бюджет листинга |
/doctor не жалуется |
| Выполнение опасного скрипта | Нежелательное действие | Скрипт из недоверенного источника | Прочитать скрипт до запуска | Ревью + disableSkillShellExecution при необходимости |
Скрипт безопасен |
| Утечка секретов | Токен/ключ в выводе | Секрет в тексте навыка или файле | Поиск по каталогу навыка | Убрать секреты, использовать YOUR_API_KEY |
Секретов нет |
| Различия между версиями | Возможность не работает | Устаревшая версия Claude Code | claude --version |
Обновить до требуемой (v2.1.145/196/199) | Возможность доступна |
Безопасность Claude Skills
Навык — это исполняемая единица, поэтому к нему применимы те же правила гигиены, что и к любому коду.
- Никогда не вставляйте API-ключи, токены и пароли в
SKILL.mdили вспомогательные файлы: содержимое навыка может попасть в контекст и в репозиторий. Используйте обозначения вродеYOUR_API_KEY. - Не сохраняйте и не передавайте
.envвнутри каталога навыка. Секретам там не место. - Не запускайте незнакомые скрипты из чужих навыков, не прочитав их. В проекте
allowed-toolsактивируется только после принятия диалога доверия к каталогу — не доверяйте репозиторий вслепую, потому что навык может выдать себе широкий доступ к инструментам. - Проверяйте навыки из сторонних источников: читайте
SKILL.mdи содержимоеscripts/целиком; обращайте внимание на команды, отправляющие данные наружу. - Ограничивайте доступ:
disallowed-toolsубирает лишние инструменты на время навыка; при необходимостиdisableSkillShellExecution: trueв настройках блокирует инъекцию shell-команд для пользовательских навыков. - Проверяйте команды перед запуском, особенно необратимые (удаление файлов, изменение системных настроек).
- Работайте в тестовой среде (
claude-skills-demo), пока не убедитесь в безопасности. - Чистьте скриншоты и файлы перед публикацией: убирайте реальные пути, email, токены, названия закрытых проектов; для секретных областей используйте непрозрачную заливку, а не слабое размытие.
Чек-лист безопасности:
| Проверка | Требование |
|---|---|
Нет секретов в SKILL.md |
Ключи/токены/пароли отсутствуют |
Нет .env в каталоге навыка |
Секреты не приложены |
| Скрипты прочитаны | Никаких неожиданных сетевых вызовов |
allowed-tools минимален |
Только необходимое |
| Диалог доверия осознан | Проектный навык проверен до trust |
| Необратимые команды | Снабжены предупреждением |
| Скриншоты очищены | Нет персональных данных |
Лучшие практики Claude Skills
- Один навык — одна понятная задача.
- Точное
descriptionв третьем лице, с реальными триггер-словами. - Проверяемый результат (шаблон отчёта, критерии pass/fail).
- Минимально необходимая инструкция; всё крупное — в
references/. - Никаких секретов; демонстрационные данные вроде
example.com,demo-project. - Тестируйте ложные срабатывания (негативные тесты).
- Держите тело
SKILL.mdдо 500 строк. - Версионируйте навык в git; ведите
CHANGELOGиREADME. - Пишите повторяемые тесты; при возможности используйте
skill-creatorдля замеров.
Чек-лист публикации:
| Пункт | Готово |
|---|---|
description конкретно и с ключевыми терминами |
☐ |
| Тело ≤500 строк | ☐ |
Справочники вынесены в references/ |
☐ |
| Нет устаревшей/секретной информации | ☐ |
| Единая терминология | ☐ |
| Примеры конкретны | ☐ |
| Ссылки на файлы — на один уровень | ☐ |
| Позитивные и негативные тесты пройдены | ☐ |
README и CHANGELOG на месте |
☐ |
Claude Skills: ответы на частые вопросы
Что такое Claude Skills? Это модульные расширения Claude: каталог с файлом SKILL.md, где описаны процедура или знания, которые Claude подключает автоматически или по команде.
Где хранятся Claude Skills? Личные — в ~/.claude/skills/, проектные — в .claude/skills/ проекта, плагинные — в каталоге skills/ плагина, организационные — через managed-настройки.
Что такое файл SKILL.md? Точка входа навыка: YAML frontmatter (метаданные, прежде всего name и description) плюс Markdown-инструкция. Имя файла строго SKILL.md (с учётом регистра).
Как создать собственный Claude Skill? Создать каталог в ~/.claude/skills/, добавить SKILL.md, заполнить description, написать инструкцию, при необходимости приложить references/, templates/, scripts/, затем протестировать вручную и на авто-срабатывание.
Можно ли запускать скрипты? Да. Скрипты в scripts/ выполняются (а не загружаются в контекст); в контекст попадает только их вывод. В API-среде нет доступа к сети и установке пакетов во время выполнения — учитывайте это.
Чем Claude Skills отличаются от MCP? MCP подключает внешние инструменты и данные через серверы; Claude Skills переиспользуют процедуры и знания. Навык может обращаться к MCP-инструментам, но это разные механизмы.
Чем Claude Skills отличаются от CLAUDE.md? CLAUDE.md всегда в контексте и хранит факты о проекте; навык подключается по требованию и хранит процедуры/справочники.
Можно ли передавать Skills другим пользователям? Да: закоммитить .claude/skills/ в репозиторий, оформить плагин или раздать через managed-настройки. Предварительно уберите секреты и персональные данные.
Почему Claude Skill не запускается? Чаще всего — неверный путь/имя каталога или сломанный frontmatter, из-за которого нет description для сопоставления. Проверьте --debug и список навыков.
Безопасно ли устанавливать чужие Skills? Только после проверки: прочитайте SKILL.md и все скрипты, оцените allowed-tools, не принимайте диалог доверия к незнакомому репозиторию вслепую.
Работают ли Skills во всех версиях Claude? Базовые навыки — да, но отдельные возможности требуют конкретных версий Claude Code (например, /run и /verify — v2.1.145+, ${CLAUDE_PROJECT_DIR} — v2.1.196+). Проверяйте claude --version.
Нужно ли программирование для создания Skills? Нет. Навык — это папка с текстовым файлом. Программирование нужно лишь если вы добавляете скрипты в scripts/.
Claude Skills: заключение и следующий шаг
Claude Skills превращают повторяющуюся работу в переиспользуемый инструмент. Вы создали каталог навыка, заполнили SKILL.md с корректным frontmatter, написали проверяемую инструкцию, вынесли справочник и шаблон в отдельные файлы, добавили скрипт-валидатор, проверили ручной и автоматический запуск, прошли по типичным ошибкам и правилам безопасности. Теперь вы умеете собрать навык под свою задачу и безопасно им поделиться.
Как проверить результат: запустите /seo-content-audit на тестовой статье и сверьте отчёт с шаблоном; затем повторите позитивный и негативный тесты авто-срабатывания. Рекомендуемый следующий шаг — превратить в навык вашу собственную повторяющуюся процедуру (например, ревью или подготовку публикации) и прогнать её через skill-creator, чтобы измерить пользу по сравнению с работой без навыка.
Для сравнения подходов прочитайте руководство Cifrum.kz о том, как создать Skill для Codex. Если вам нужен командный сценарий Anthropic, посмотрите настройку Claude Tag в Slack.
Официальные источники
| Источник | Организация | Ссылка | Что подтверждает | Дата доступа |
|---|---|---|---|---|
| Introducing Agent Skills | Anthropic | Introducing Agent Skills | Анонс и назначение Agent Skills | 4 июля 2026 |
| Equipping agents for the real world with Agent Skills | Anthropic | Agent Skills engineering overview | Архитектура и прогрессивное раскрытие | 4 июля 2026 |
| Extend Claude with skills | Claude Code Docs | Claude Code skills documentation | Расположение навыков, frontmatter, вызов, версии | 4 июля 2026 |
| Skill authoring best practices | Claude Docs | Skill authoring best practices | Правила description, лимиты, безопасность |
4 июля 2026 |
| anthropics/skills | Anthropic (GitHub) | Anthropic Skills on GitHub | Официальные примеры навыков | 4 июля 2026 |
Главное изображение создано искусственным интеллектом для Cifrum.kz как концептуальная редакционная иллюстрация.

Комментарии к статье