ИИ и машинное обучение

Claude Skills: как создать собственный навык с нуля

Claude Skills — практическое руководство по созданию собственного навыка в Claude Code: структура SKILL.md, frontmatter, тестирование, ошибки и безопасность.

Автор Aliya
9 мин чтения

Проверено и обновлено: 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 (в документации Anthropic — Agent Skills) — это модульные расширения, которые добавляют Claude новые процедуры и знания. Технически навык представляет собой каталог, в котором обязательно есть файл SKILL.md. Этот файл состоит из двух частей: YAML frontmatter между строками --- (метаданные — прежде всего имя и описание) и Markdown-инструкции, которую Claude выполняет, когда навык активирован.

Навык уместно создавать в трёх ситуациях: вы раз за разом вставляете в чат одну и ту же инструкцию или чек-лист; у вас есть многошаговая процедура (деплой, ревью, подготовка статьи); либо раздел вашего CLAUDE.md разросся из «факта о проекте» в «пошаговую процедуру». В отличие от CLAUDE.md, тело навыка загружается только когда навык действительно нужен, поэтому длинные справочники почти ничего не стоят по контексту, пока к ним не обратились.

Принцип прогрессивного раскрытия контекста — ключевая идея Claude Skills. Она работает так:

  1. При старте сессии в системный промпт попадают только name и description каждого навыка — это дёшево по токенам.
  2. Полное тело SKILL.md подгружается только тогда, когда навык срабатывает (по описанию или по ручному вызову).
  3. Вспомогательные файлы (references/, templates/) читаются ещё позже — только если инструкция к ним отсылает.
  4. Скрипты в 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. Каждый шаг устроен одинаково: цель → действие → команда/путь → скриншот → ожидаемый результат → возможная ошибка → проверка → зачем это нужно.

Материал по теме:  Виртуализация серверов: эффективное решение для оптимизации IT-инфраструктуры

Шаг 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 остаётся коротким, а справочник не тратит контекст, пока не нужен.

Материал по теме:  Казахстан и 01.AI объявили о создании Q.AI

Шаг 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 как концептуальная редакционная иллюстрация.

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

Оставьте комментарий

Ваш email-адрес не будет опубликован. Обязательные поля помечены *

Прокрутить наверх