Основные принципы
Лаконичность — ключ к успеху
Контекстное окно — это общественное благо. Ваш Skill делит контекстное окно со всем остальным, что нужно знать Claude, включая:- Системный промпт
- Историю разговора
- Метаданные других Skills
- Ваш фактический запрос
- “Действительно ли Claude нужно это объяснение?”
- “Могу ли я предположить, что Claude это знает?”
- “Оправдывает ли этот абзац свою стоимость в токенах?”
Установите надлежащие степени свободы
Соответствуйте уровню специфичности хрупкости и вариативности задачи. Высокая свобода (текстовые инструкции): Используйте когда:- Несколько подходов действительны
- Решения зависят от контекста
- Эвристики направляют подход
- Существует предпочтительный паттерн
- Некоторая вариация приемлема
- Конфигурация влияет на поведение
- Операции хрупкие и подвержены ошибкам
- Консистентность критична
- Должна быть соблюдена конкретная последовательность
- Узкий мост с пропастями по обе стороны: Есть только один безопасный путь вперед. Предоставьте специфические ограждения и точные инструкции (низкая свобода). Пример: миграции баз данных, которые должны выполняться в точной последовательности.
- Открытое поле без опасностей: Много путей ведут к успеху. Дайте общее направление и доверьте Claude найти лучший маршрут (высокая свобода). Пример: проверка кода, где контекст определяет лучший подход.
Тестируйте со всеми моделями, которые вы планируете использовать
Skills действуют как дополнения к моделям, поэтому эффективность зависит от базовой модели. Тестируйте ваш Skill со всеми моделями, которые вы планируете использовать. Рекомендации по тестированию по моделям:- Claude Haiku (быстрый, экономичный): Предоставляет ли Skill достаточно руководства?
- Claude Sonnet (сбалансированный): Ясен ли Skill и эффективен?
- Claude Opus (мощное рассуждение): Избегает ли Skill чрезмерного объяснения?
Структура Skill
YAML Frontmatter: Frontmatter SKILL.md требует два поля:
name:- Максимум 64 символа
- Должно содержать только строчные буквы, цифры и дефисы
- Не может содержать XML теги
- Не может содержать зарезервированные слова: “anthropic”, “claude”
description:- Должно быть непустым
- Максимум 1024 символа
- Не может содержать XML теги
- Должно описывать, что делает Skill и когда его использовать
Соглашения об именовании
Используйте последовательные паттерны именования, чтобы облегчить ссылки на Skills и обсуждение. Мы рекомендуем использовать форму герундия (глагол + -ing) для имен Skills, так как это четко описывает деятельность или возможность, которую предоставляет Skill. Помните, что полеname должно использовать только строчные буквы, цифры и дефисы.
Хорошие примеры имен (форма герундия):
processing-pdfsanalyzing-spreadsheetsmanaging-databasestesting-codewriting-documentation
- Именные фразы:
pdf-processing,spreadsheet-analysis - Ориентированные на действие:
process-pdfs,analyze-spreadsheets
- Неясные имена:
helper,utils,tools - Слишком общие:
documents,data,files - Зарезервированные слова:
anthropic-helper,claude-tools - Несогласованные паттерны в вашей коллекции skills
- Ссылки на Skills в документации и разговорах
- Понимание того, что делает Skill с первого взгляда
- Организацию и поиск через несколько Skills
- Поддержание профессиональной, согласованной библиотеки skills
Написание эффективных описаний
Полеdescription позволяет обнаружить Skill и должно включать как то, что делает Skill, так и когда его использовать.
Всегда пишите от третьего лица. Описание внедряется в системный промпт, и несогласованная точка зрения может вызвать проблемы с обнаружением.
- Хорошо: “Обрабатывает файлы Excel и создает отчеты”
- Избегайте: “Я могу помочь вам обработать файлы Excel”
- Избегайте: “Вы можете использовать это для обработки файлов Excel”
Паттерны прогрессивного раскрытия
SKILL.md служит обзором, который указывает Claude на подробные материалы по мере необходимости, как оглавление в руководстве по адаптации. Для объяснения того, как работает прогрессивное раскрытие, см. Как работают Skills в обзоре. Практическое руководство:- Держите тело SKILL.md под 500 строк для оптимальной производительности
- Разделите содержимое на отдельные файлы при приближении к этому пределу
- Используйте паттерны ниже для эффективной организации инструкций, кода и ресурсов
Визуальный обзор: От простого к сложному
Базовый Skill начинается с просто файла SKILL.md, содержащего метаданные и инструкции:

Паттерн 1: Высокоуровневое руководство со ссылками
Паттерн 2: Организация по доменам
Для Skills с несколькими доменами организуйте содержимое по доменам, чтобы избежать загрузки нерелевантного контекста. Когда пользователь спрашивает о метриках продаж, Claude нужно прочитать только схемы, связанные с продажами, а не данные финансов или маркетинга. Это держит использование токенов низким и контекст сосредоточенным.SKILL.md
Паттерн 3: Условные детали
Показывайте базовое содержимое, ссылайтесь на продвинутое содержимое:Избегайте глубоко вложенных ссылок
Claude может частично читать файлы, когда они ссылаются из других ссылаемых файлов. При встрече с вложенными ссылками Claude может использовать команды, такие какhead -100, для предварительного просмотра содержимого, а не чтения полных файлов, что приводит к неполной информации.
Держите ссылки на один уровень глубины от SKILL.md. Все справочные файлы должны ссылаться непосредственно из SKILL.md, чтобы гарантировать, что Claude читает полные файлы при необходимости.
Плохой пример: Слишком глубоко:
Структурируйте более длинные справочные файлы с оглавлением
Для справочных файлов длиннее 100 строк включите оглавление в верхней части. Это гарантирует, что Claude может видеть полный объем доступной информации даже при предварительном просмотре с частичными чтениями. Пример:Рабочие процессы и циклы обратной связи
Используйте рабочие процессы для сложных задач
Разбейте сложные операции на четкие, последовательные шаги. Для особенно сложных рабочих процессов предоставьте контрольный список, который Claude может скопировать в свой ответ и отметить по мере прогресса. Пример 1: Рабочий процесс синтеза исследований (для Skills без кода):Реализуйте циклы обратной связи
Распространенный паттерн: Запустите валидатор → исправьте ошибки → повторите Этот паттерн значительно улучшает качество вывода. Пример 1: Соответствие руководству стиля (для Skills без кода):Рекомендации по содержимому
Избегайте информации, чувствительной ко времени
Не включайте информацию, которая устареет: Плохой пример: Чувствительный ко времени (станет неправильным):Используйте согласованную терминологию
Выберите один термин и используйте его на протяжении всего Skill: Хорошо - Согласованно:- Всегда “конечная точка API”
- Всегда “поле”
- Всегда “извлечение”
- Смешивайте “конечная точка API”, “URL”, “маршрут API”, “путь”
- Смешивайте “поле”, “коробка”, “элемент”, “управление”
- Смешивайте “извлечение”, “вытягивание”, “получение”, “получение”
Распространенные паттерны
Паттерн шаблона
Предоставьте шаблоны для формата вывода. Соответствуйте уровню строгости вашим потребностям. Для строгих требований (как ответы API или форматы данных):Паттерн примеров
Для Skills, где качество вывода зависит от просмотра примеров, предоставьте пары ввода/вывода, как в обычном промптировании:Паттерн условного рабочего процесса
Направляйте Claude через точки решения:Если рабочие процессы становятся большими или сложными со многими шагами, рассмотрите возможность их перемещения в отдельные файлы и скажите Claude прочитать соответствующий файл на основе задачи.
Оценка и итерация
Создайте оценки в первую очередь
Создайте оценки ДО написания обширной документации. Это гарантирует, что ваш Skill решает реальные проблемы, а не документирует воображаемые. Разработка, управляемая оценками:- Определите пробелы: Запустите Claude на репрезентативных задачах без Skill. Документируйте конкретные сбои или отсутствующий контекст
- Создайте оценки: Создайте три сценария, которые тестируют эти пробелы
- Установите базовый уровень: Измерьте производительность Claude без Skill
- Напишите минимальные инструкции: Создайте ровно столько содержимого, чтобы заполнить пробелы и пройти оценки
- Итерируйте: Выполните оценки, сравните с базовым уровнем и уточните
Этот пример демонстрирует оценку, управляемую данными, с простой рубрикой тестирования. Мы в настоящее время не предоставляем встроенный способ запуска этих оценок. Пользователи могут создать свою собственную систему оценки. Оценки — это ваш источник истины для измерения эффективности Skill.
Разрабатывайте Skills итеративно с Claude
Наиболее эффективный процесс разработки Skill включает Claude. Работайте с одним экземпляром Claude (“Claude A”) для создания Skill, который будет использоваться другими экземплярами (“Claude B”). Claude A помогает вам разработать и уточнить инструкции, в то время как Claude B тестирует их в реальных задачах. Это работает, потому что модели Claude понимают как писать эффективные инструкции агента, так и какую информацию нужны агентам. Создание нового Skill:- Завершите задачу без Skill: Работайте над проблемой с Claude A, используя обычное промптирование. По мере работы вы естественно предоставите контекст, объясните предпочтения и поделитесь процедурными знаниями. Обратите внимание на то, какую информацию вы повторно предоставляете.
- Определите переиспользуемый паттерн: После завершения задачи определите, какой контекст вы предоставили, который был бы полезен для похожих будущих задач. Пример: Если вы работали над анализом BigQuery, вы могли предоставить имена таблиц, определения полей, правила фильтрации (такие как “всегда исключайте тестовые учетные записи”) и распространенные паттерны запросов.
-
Попросите Claude A создать Skill: “Создайте Skill, который захватывает этот паттерн анализа BigQuery, который мы только что использовали. Включите схемы таблиц, соглашения об именовании и правило об исключении тестовых учетных записей.”
Модели Claude понимают формат и структуру Skill нативно. Вам не нужны специальные системные промпты или “writing skills” skill, чтобы заставить Claude помочь создать Skills. Просто попросите Claude создать Skill, и он создаст правильно структурированное содержимое SKILL.md с соответствующим frontmatter и телом.
- Проверьте на лаконичность: Проверьте, что Claude A не добавил ненужные объяснения. Спросите: “Удалите объяснение о том, что означает процент побед — Claude это уже знает.”
- Улучшите информационную архитектуру: Попросите Claude A организовать содержимое более эффективно. Например: “Организуйте это так, чтобы схема таблицы была в отдельном справочном файле. Мы можем добавить больше таблиц позже.”
- Тестируйте на похожих задачах: Используйте Skill с Claude B (свежий экземпляр с загруженным Skill) на связанных случаях использования. Наблюдайте, находит ли Claude B правильную информацию, применяет ли правила правильно и успешно ли справляется с задачей.
- Итерируйте на основе наблюдения: Если Claude B борется или что-то пропускает, вернитесь к Claude A с конкретикой: “Когда Claude использовал этот Skill, он забыл отфильтровать по дате для Q4. Должны ли мы добавить раздел о паттернах фильтрации по датам?”
- Работой с Claude A (эксперт, который помогает уточнить Skill)
- Тестированием с Claude B (агент, использующий Skill для выполнения реальной работы)
- Наблюдением поведения Claude B и возвращением идей к Claude A
- Используйте Skill в реальных рабочих процессах: Дайте Claude B (с загруженным Skill) фактические задачи, а не тестовые сценарии
- Наблюдайте поведение Claude B: Отметьте, где он борется, преуспевает или делает неожиданный выбор Пример наблюдения: “Когда я попросил Claude B создать региональный отчет о продажах, он написал запрос, но забыл отфильтровать тестовые учетные записи, даже хотя Skill упоминает это правило.”
- Вернитесь к Claude A для улучшений: Поделитесь текущим SKILL.md и опишите, что вы наблюдали. Спросите: “Я заметил, что Claude B забыл отфильтровать тестовые учетные записи, когда я попросил региональный отчет. Skill упоминает фильтрацию, но может быть это недостаточно выделено?”
- Проверьте предложения Claude A: Claude A может предложить переорганизацию, чтобы сделать правила более выделенными, использование более сильного языка, такого как “ДОЛЖЕН отфильтровать” вместо “всегда отфильтровать”, или переструктурирование раздела рабочего процесса.
- Примените и тестируйте изменения: Обновите Skill с уточнениями Claude A, затем тестируйте снова с Claude B на похожих запросах
- Повторяйте на основе использования: Продолжайте этот цикл наблюдение-уточнение-тест по мере встречи с новыми сценариями. Каждая итерация улучшает Skill на основе реального поведения агента, а не предположений.
- Поделитесь Skills с товарищами по команде и наблюдайте их использование
- Спросите: Активируется ли Skill при ожидании? Ясны ли инструкции? Что отсутствует?
- Включите отзывы, чтобы решить слепые пятна в ваших собственных паттернах использования
Наблюдайте, как Claude навигирует Skills
По мере итерирования Skills обратите внимание на то, как Claude фактически их использует на практике. Следите за:- Неожиданными путями исследования: Читает ли Claude файлы в порядке, который вы не предвидели? Это может указывать, что ваша структура не так интуитивна, как вы думали
- Пропущенными соединениями: Не следует ли Claude ссылкам на важные файлы? Ваши ссылки могут быть менее явными или выделенными
- Чрезмерной опорой на определенные разделы: Если Claude повторно читает один и тот же файл, рассмотрите, должно ли это содержимое быть в основном SKILL.md вместо этого
- Игнорируемым содержимым: Если Claude никогда не получает доступ к объединенному файлу, он может быть ненужным или плохо обозначенным в основных инструкциях
Антипаттерны, которых следует избегать
Избегайте путей в стиле Windows
Всегда используйте прямые слэши в путях файлов, даже на Windows:- ✓ Хорошо:
scripts/helper.py,reference/guide.md - ✗ Избегайте:
scripts\helper.py,reference\guide.md
Избегайте предложения слишком много вариантов
Не представляйте несколько подходов, если это не необходимо:Advanced: Skills с исполняемым кодом
Разделы ниже сосредоточены на Skills, которые включают исполняемые скрипты. Если ваш Skill использует только инструкции markdown, перейдите к Контрольному списку для эффективных Skills.Решайте, не избегайте
При написании скриптов для Skills обрабатывайте условия ошибок, а не избегайте их. Хороший пример: Явно обрабатывайте ошибки:Предоставьте служебные скрипты
Даже если Claude мог бы написать скрипт, предварительно созданные скрипты предлагают преимущества: Преимущества служебных скриптов:- Более надежны, чем созданный код
- Экономят токены (нет необходимости включать код в контекст)
- Экономят время (не требуется создание кода)
- Обеспечивают консистентность при использовании

- Выполнить скрипт (наиболее распространено): “Запустите
analyze_form.pyдля извлечения полей” - Прочитать как справку (для сложной логики): “См.
analyze_form.pyдля алгоритма извлечения полей”
Используйте визуальный анализ
Когда входные данные могут быть отрендерены как изображения, попросите Claude их анализировать:В этом примере вам нужно было бы написать скрипт
pdf_to_images.py.Создайте проверяемые промежуточные выходы
Когда Claude выполняет сложные, открытые задачи, он может делать ошибки. Паттерн “план-валидация-выполнение” ловит ошибки рано, заставляя Claude сначала создать план в структурированном формате, затем валидировать этот план со скриптом перед выполнением. Пример: Представьте, что вы просите Claude обновить 50 полей формы в PDF на основе электронной таблицы. Без валидации Claude может ссылаться на несуществующие поля, создавать конфликтующие значения, пропускать требуемые поля или неправильно применять обновления. Решение: Используйте паттерн рабочего процесса, показанный выше (заполнение формы PDF), но добавьте промежуточный файлchanges.json, который получает валидацию перед применением изменений. Рабочий процесс становится: анализ → создание файла плана → валидация плана → выполнение → проверка.
Почему этот паттерн работает:
- Ловит ошибки рано: Валидация находит проблемы перед применением изменений
- Машинно-проверяемо: Скрипты предоставляют объективную верификацию
- Обратимое планирование: Claude может итерировать план без касания оригиналов
- Четкая отладка: Сообщения об ошибках указывают на конкретные проблемы
Упакуйте зависимости
Skills работают в среде выполнения кода с ограничениями, специфичными для платформы:- claude.ai: Может устанавливать пакеты из npm и PyPI и вытягивать из репозиториев GitHub
- Anthropic API: Не имеет доступа в сеть и нет установки пакетов во время выполнения
Среда выполнения
Skills работают в среде выполнения кода с доступом к файловой системе, командам bash и возможностями выполнения кода. Для концептуального объяснения этой архитектуры см. Архитектура Skills в обзоре. Как это влияет на ваше создание: Как Claude получает доступ к Skills:- Метаданные предварительно загружены: При запуске имя и описание из YAML frontmatter всех Skills загружаются в системный промпт
- Файлы читаются по требованию: Claude использует инструменты bash Read для доступа к SKILL.md и другим файлам из файловой системы при необходимости
- Скрипты выполняются эффективно: Служебные скрипты могут быть выполнены через bash без загрузки их полного содержимого в контекст. Только вывод скрипта потребляет токены
- Нет штрафа контекста за большие файлы: Справочные файлы, данные или документация не потребляют токены контекста до фактического чтения
- Пути файлов имеют значение: Claude навигирует по вашему каталогу skill как по файловой системе. Используйте прямые слэши (
reference/guide.md), а не обратные слэши - Назовите файлы описательно: Используйте имена, которые указывают содержимое:
form_validation_rules.md, а неdoc2.md - Организуйте для обнаружения: Структурируйте каталоги по домену или функции
- Хорошо:
reference/finance.md,reference/sales.md - Плохо:
docs/file1.md,docs/file2.md
- Хорошо:
- Объедините комплексные ресурсы: Включите полную документацию API, обширные примеры, большие наборы данных; нет штрафа контекста до доступа
- Предпочитайте скрипты для детерминированных операций: Напишите
validate_form.pyвместо того, чтобы просить Claude создать код валидации - Сделайте намерение выполнения четким:
- “Запустите
analyze_form.pyдля извлечения полей” (выполнить) - “См.
analyze_form.pyдля алгоритма извлечения” (прочитать как справку)
- “Запустите
- Тестируйте паттерны доступа к файлам: Проверьте, что Claude может навигировать по вашей структуре каталогов, тестируя с реальными запросами
reference/finance.md и вызывает bash для чтения только этого файла. Файлы sales.md и product.md остаются в файловой системе, потребляя нулевые токены контекста до необходимости. Эта модель на основе файловой системы — это то, что позволяет прогрессивное раскрытие. Claude может навигировать и выборочно загружать ровно то, что требует каждая задача.
Для полных деталей технической архитектуры см. Как работают Skills в обзоре Skills.
Ссылки на инструменты MCP
Если ваш Skill использует инструменты MCP (Model Context Protocol), всегда используйте полностью квалифицированные имена инструментов, чтобы избежать ошибок “инструмент не найден”. Формат:ServerName:tool_name
Пример:
BigQueryиGitHub— имена серверов MCPbigquery_schemaиcreate_issue— имена инструментов в этих серверах
Избегайте предположения, что инструменты установлены
Не предполагайте, что пакеты доступны:Технические заметки
Требования YAML frontmatter
Frontmatter SKILL.md требует полейname и description с конкретными правилами валидации:
name: Максимум 64 символа, только строчные буквы/цифры/дефисы, без XML тегов, без зарезервированных словdescription: Максимум 1024 символа, непустой, без XML тегов
Бюджеты токенов
Держите тело SKILL.md под 500 строк для оптимальной производительности. Если ваше содержимое превышает это, разделите его на отдельные файлы, используя паттерны прогрессивного раскрытия, описанные ранее. Для архитектурных деталей см. обзор Skills.Контрольный список для эффективных Skills
Перед совместным использованием Skill проверьте:Основное качество
- Описание конкретно и включает ключевые термины
- Описание включает как то, что делает Skill, так и когда его использовать
- Тело SKILL.md под 500 строк
- Дополнительные детали в отдельных файлах (если необходимо)
- Нет информации, чувствительной ко времени (или в разделе “старые паттерны”)
- Согласованная терминология на протяжении
- Примеры конкретные, а не абстрактные
- Ссылки на файлы на один уровень глубины
- Прогрессивное раскрытие используется надлежащим образом
- Рабочие процессы имеют четкие шаги
Код и скрипты
- Скрипты решают проблемы, а не избегают их к Claude
- Обработка ошибок явная и полезная
- Нет “магических констант” (все значения обоснованы)
- Требуемые пакеты перечислены в инструкциях и проверены как доступные
- Скрипты имеют четкую документацию
- Нет путей в стиле Windows (все прямые слэши)
- Шаги валидации/проверки для критических операций
- Циклы обратной связи включены для задач, критичных для качества
Тестирование
- Минимум три оценки созданы
- Тестировано с Haiku, Sonnet и Opus
- Тестировано с реальными сценариями использования
- Отзывы команды включены (если применимо)