Loading...
  • Разработка
  • Администрирование
  • Модели и цены
  • Клиентские SDK
  • Справочник API
Search...
⌘K
Log in
Навыки в API
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Разработка/Навыки

Использование Agent Skills с API

Узнайте, как использовать Agent Skills для расширения возможностей Claude через API.

Agent Skills расширяют возможности Claude через организованные папки инструкций, скриптов и ресурсов. Это руководство показывает, как использовать как готовые, так и пользовательские Skills с Claude API.

Для полного справочника API, включая схемы запросов/ответов и все параметры, см.:

  • Справочник API управления Skills - операции CRUD для Skills
  • Справочник API версий Skills - управление версиями

This feature is not eligible for Zero Data Retention (ZDR). Data is retained according to the feature's standard retention policy.

Быстрые ссылки

Начните работу с Agent Skills

Создайте свой первый Skill

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

Лучшие практики для создания Skills

Обзор

Для глубокого погружения в архитектуру и реальные приложения Agent Skills прочитайте пост в инженерном блоге: Equipping agents for the real world with Agent Skills.

Skills интегрируются с Messages API через инструмент выполнения кода. Независимо от того, используете ли вы готовые Skills, управляемые Anthropic, или пользовательские Skills, которые вы загрузили, форма интеграции идентична: обе требуют выполнения кода и используют одну и ту же структуру container.

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

Skills интегрируются одинаково в Messages API независимо от источника. Вы указываете Skills в параметре container с skill_id, type и опциональной version, и они выполняются в среде выполнения кода.

Вы можете использовать Skills из двух источников:

АспектAnthropic SkillsПользовательские Skills
Значение Typeanthropiccustom
Skill IDsКороткие имена: pptx, xlsx, docx, pdfСгенерированные: skill_01AbCdEfGhIjKlMnOpQrStUv
Формат версииНа основе даты: 20251013 или latestВременная метка эпохи: 1759178010641129 или latest
УправлениеГотовые и поддерживаемые AnthropicЗагрузка и управление через Skills API
ДоступностьДоступны всем пользователямПриватные для вашего рабочего пространства

Оба источника Skills возвращаются конечной точкой List Skills (используйте параметр source для фильтрации). Форма интеграции и среда выполнения идентичны. Единственное различие - это источник Skills и способ их управления.

Предварительные требования

Для использования Skills вам нужно:

  1. Ключ Claude API из Console
  2. Бета-заголовки:
    • code-execution-2025-08-25 - Включает выполнение кода (требуется для Skills)
    • skills-2025-10-02 - Включает Skills API
    • files-api-2025-04-14 - Для загрузки/скачивания файлов в/из контейнера
  3. Инструмент выполнения кода включен в ваших запросах

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

Параметр Container

Skills указываются с помощью параметра container в Messages API. Вы можете включить до 8 Skills в один запрос.

Структура идентична для Anthropic и пользовательских Skills. Укажите требуемые type и skill_id, и опционально включите version для привязки к конкретной версии:

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "skills": [{"type": "anthropic", "skill_id": "pptx", "version": "latest"}]
    },
    messages=[
        {"role": "user", "content": "Create a presentation about renewable energy"}
    ],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

Загрузка созданных файлов

Когда Skills создают документы (Excel, PowerPoint, PDF, Word), они возвращают атрибуты file_id в ответе. Вы должны использовать Files API для загрузки этих файлов.

Как это работает:

  1. Skills создают файлы во время выполнения кода
  2. Ответ включает file_id для каждого созданного файла
  3. Используйте Files API для загрузки фактического содержимого файла
  4. Сохраните локально или обработайте по мере необходимости

Пример: создание и загрузка файла Excel

Дополнительные операции Files API:

client = anthropic.Anthropic()
file_id = "file_abc123"
# Get file metadata
file_info = client.beta.files.retrieve_metadata(
    file_id=file_id, betas=["files-api-2025-04-14"]
)
print(f"Filename: {file_info.filename}, Size: {file_info.size_bytes} bytes")

# List all files
files = client.beta.files.list(betas=["files-api-2025-04-14"])
for file in files.data:
    print(f"{file.filename} - {file.created_at}")

# Delete a file
client.beta.files.delete(file_id=file_id, betas=["files-api-2025-04-14"])

Для полной информации о Files API см. документацию Files API.

Многооборотные разговоры

Повторно используйте один и тот же контейнер в нескольких сообщениях, указав ID контейнера:

# Первый запрос создает контейнер
response1 = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "skills": [{"type": "anthropic", "skill_id": "xlsx", "version": "latest"}]
    },
    messages=[{"role": "user", "content": "Analyze this sales data"}],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

# Продолжить разговор с тем же контейнером
messages = [
    {"role": "user", "content": "Analyze this sales data"},
    {"role": "assistant", "content": response1.content},
    {"role": "user", "content": "What was the total revenue?"},
]

response2 = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "id": response1.container.id,  # Повторно использовать контейнер
        "skills": [{"type": "anthropic", "skill_id": "xlsx", "version": "latest"}],
    },
    messages=messages,
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

Долгоживущие операции

Навыки могут выполнять операции, требующие нескольких оборотов. Обрабатывайте причины остановки pause_turn:

messages = [{"role": "user", "content": "Process this large dataset"}]
max_retries = 10

response = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "skills": [
            {
                "type": "custom",
                "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
                "version": "latest",
            }
        ]
    },
    messages=messages,
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

# Обработать pause_turn для долгих операций
for i in range(max_retries):
    if response.stop_reason != "pause_turn":
        break

    messages.append({"role": "assistant", "content": response.content})
    response = client.beta.messages.create(
        model="claude-opus-4-7",
        max_tokens=4096,
        betas=["code-execution-2025-08-25", "skills-2025-10-02"],
        container={
            "id": response.container.id,
            "skills": [
                {
                    "type": "custom",
                    "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
                    "version": "latest",
                }
            ],
        },
        messages=messages,
        tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
    )

Ответ может включать причину остановки pause_turn, которая указывает, что API приостановил долгоживущую операцию Skill. Вы можете предоставить ответ как есть в последующем запросе, чтобы позволить Claude продолжить свой ход, или изменить контент, если вы хотите прервать разговор и предоставить дополнительное руководство.

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

Объедините несколько Skills в одном запросе для обработки сложных рабочих процессов:

response = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "skills": [
            {"type": "anthropic", "skill_id": "xlsx", "version": "latest"},
            {"type": "anthropic", "skill_id": "pptx", "version": "latest"},
            {
                "type": "custom",
                "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
                "version": "latest",
            },
        ]
    },
    messages=[
        {"role": "user", "content": "Analyze sales data and create a presentation"}
    ],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

Управление пользовательскими Skills

Создание Skill

Загрузите свой пользовательский Skill, чтобы сделать его доступным в вашем рабочем пространстве. Вы можете загружать, используя либо путь к каталогу, либо отдельные объекты файлов.

# Option 1: Upload individual files (one --file flag per file)
ant beta:skills create \
  --display-title "Financial Analysis" \
  --file financial_skill/SKILL.md \
  --file financial_skill/analyze.py \
  --beta skills-2025-10-02

# Option 2: Upload a zip archive
ant beta:skills create \
  --display-title "Financial Analysis" \
  --file financial_analysis_skill.zip \
  --beta skills-2025-10-02

Требования:

  • Должен включать файл SKILL.md на верхнем уровне
  • Все файлы должны указывать общий корневой каталог в своих путях
  • Общий размер загрузки должен быть менее 30 МБ
  • Требования к YAML frontmatter:
    • name: Максимум 64 символа, только строчные буквы/цифры/дефисы, без XML-тегов, без зарезервированных слов ("anthropic", "claude")
    • description: Максимум 1024 символа, не пусто, без XML-тегов

Для полных схем запроса/ответа см. справочник API Create Skill.

Список Skills

Получите все Skills, доступные в вашем рабочем пространстве, включая как встроенные Skills от Anthropic, так и ваши пользовательские Skills. Используйте параметр source для фильтрации по типу skill:

# List all Skills
ant beta:skills list

# List only custom Skills
ant beta:skills list --source custom

См. справочник API List Skills для параметров пагинации и фильтрации.

Получение Skill

Получите информацию о конкретном Skill:

ant beta:skills retrieve \
  --skill-id skill_01AbCdEfGhIjKlMnOpQrStUv

Удаление навыка

Чтобы удалить навык, необходимо сначала удалить все его версии:

# Step 1: Delete all versions
ant beta:skills:versions list \
  --skill-id skill_01AbCdEfGhIjKlMnOpQrStUv \
  --transform version --format yaml \
  | tr -d '"' \
  | while read -r VERSION; do
      ant beta:skills:versions delete \
        --skill-id skill_01AbCdEfGhIjKlMnOpQrStUv \
        --version "$VERSION" >/dev/null
    done

# Step 2: Delete the Skill
ant beta:skills delete \
  --skill-id skill_01AbCdEfGhIjKlMnOpQrStUv >/dev/null

Попытка удалить навык с существующими версиями возвращает ошибку 400.

Управление версиями

Навыки поддерживают управление версиями для безопасного управления обновлениями:

Навыки, управляемые Anthropic:

  • Версии используют формат даты: 20251013
  • Новые версии выпускаются при внесении обновлений
  • Укажите точные версии для стабильности

Пользовательские навыки:

  • Автоматически генерируемые временные метки эпохи: 1759178010641129
  • Используйте "latest" для получения самой последней версии
  • Создавайте новые версии при обновлении файлов навыков
# Create a new version
VERSION_NUMBER=$(ant beta:skills:versions create \
  --skill-id skill_01AbCdEfGhIjKlMnOpQrStUv \
  --file updated_skill/SKILL.md \
  --transform version --format yaml)

# Use specific version
ant beta:messages create \
  --beta code-execution-2025-08-25 \
  --beta skills-2025-10-02 <<YAML
model: claude-opus-4-7
max_tokens: 4096
container:
  skills:
    - type: custom
      skill_id: skill_01AbCdEfGhIjKlMnOpQrStUv
      version: $VERSION_NUMBER
messages:
  - role: user
    content: Use updated Skill
tools:
  - type: code_execution_20250825
    name: code_execution
YAML

# Use latest version
ant beta:messages create \
  --beta code-execution-2025-08-25 \
  --beta skills-2025-10-02 <<'YAML'
model: claude-opus-4-7
max_tokens: 4096
container:
  skills:
    - type: custom
      skill_id: skill_01AbCdEfGhIjKlMnOpQrStUv
      version: latest
messages:
  - role: user
    content: Use latest Skill version
tools:
  - type: code_execution_20250825
    name: code_execution
YAML

Полные сведения см. в справочнике API создания версии навыка.


Как загружаются навыки

Когда вы указываете навыки в контейнере:

  1. Обнаружение метаданных: Claude видит метаданные для каждого навыка (имя, описание) в системной подсказке
  2. Загрузка файлов: Файлы навыков копируются в контейнер в /skills/{directory}/
  3. Автоматическое использование: Claude автоматически загружает и использует навыки, когда они релевантны для вашего запроса
  4. Композиция: Несколько навыков объединяются вместе для сложных рабочих процессов

Архитектура прогрессивного раскрытия обеспечивает эффективное использование контекста: Claude загружает полные инструкции навыков только при необходимости.


Варианты использования

Организационные навыки

Бренд и коммуникации

  • Применяйте фирменное форматирование (цвета, шрифты, макеты) к документам
  • Генерируйте коммуникации в соответствии с организационными шаблонами
  • Обеспечивайте согласованность рекомендаций по брендингу во всех выходных данных

Управление проектами

  • Структурируйте заметки с использованием фирменных форматов (OKR, журналы решений)
  • Генерируйте задачи в соответствии с соглашениями команды
  • Создавайте стандартизированные резюме встреч и обновления статуса

Бизнес-операции

  • Создавайте стандартные отчеты, предложения и анализы компании
  • Выполняйте специфичные для компании аналитические процедуры
  • Генерируйте финансовые модели в соответствии с организационными шаблонами

Личные навыки

Создание контента

  • Пользовательские шаблоны документов
  • Специализированное форматирование и стилизация
  • Генерация контента, специфичного для предметной области

Анализ данных

  • Пользовательские конвейеры обработки данных
  • Специализированные шаблоны визуализации
  • Методы анализа, специфичные для отрасли

Разработка и автоматизация

  • Шаблоны генерации кода
  • Фреймворки тестирования
  • Рабочие процессы развертывания

Пример: Финансовое моделирование

Объедините Excel и пользовательский анализ DCF Skills:

# Create custom DCF analysis Skill
from anthropic.lib import files_from_dir

dcf_skill = client.beta.skills.create(
    display_title="DCF Analysis",
    files=files_from_dir("/path/to/dcf_skill"),
    betas=["skills-2025-10-02"],
)

# Use with Excel to create financial model
response = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "skills": [
            {"type": "anthropic", "skill_id": "xlsx", "version": "latest"},
            {"type": "custom", "skill_id": dcf_skill.id, "version": "latest"},
        ]
    },
    messages=[
        {
            "role": "user",
            "content": "Build a DCF valuation model for a SaaS company with the attached financials",
        }
    ],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

Ограничения и ограничивающие факторы

Ограничения запросов

  • Максимальное количество Skills на запрос: 8
  • Максимальный размер загрузки Skill: 30 МБ (все файлы вместе)
  • Требования к YAML frontmatter:
    • name: максимум 64 символа, только строчные буквы/цифры/дефисы, без XML-тегов, без зарезервированных слов
    • description: максимум 1024 символа, не пусто, без XML-тегов

Ограничения окружения

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

  • Нет доступа в сеть - Не может выполнять внешние вызовы API
  • Нет установки пакетов во время выполнения - Доступны только предустановленные пакеты
  • Изолированная среда - Каждый запрос получает свежий контейнер

Смотрите документацию инструмента выполнения кода для доступных пакетов.


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

Когда использовать несколько Skills

Объедините Skills, когда задачи включают несколько типов документов или доменов:

Хорошие варианты использования:

  • Анализ данных (Excel) + создание презентаций (PowerPoint)
  • Создание отчетов (Word) + экспорт в PDF
  • Пользовательская логика домена + создание документов

Избегайте:

  • Включения неиспользуемых Skills (влияет на производительность)

Стратегия управления версиями

Для производства:

# Pin to specific versions for stability
container = {
    "skills": [
        {
            "type": "custom",
            "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
            "version": "1759178010641129",  # Specific version
        }
    ]
}

Для разработки:

# Use latest for active development
container = {
    "skills": [
        {
            "type": "custom",
            "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
            "version": "latest",  # Always get newest
        }
    ]
}

Рассмотрения кэширования подсказок

При использовании кэширования подсказок обратите внимание, что изменение списка Skills в вашем контейнере нарушает кэш:

# First request creates cache
response1 = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    betas=[
        "code-execution-2025-08-25",
        "skills-2025-10-02",
        "prompt-caching-2024-07-31",
    ],
    container={
        "skills": [{"type": "anthropic", "skill_id": "xlsx", "version": "latest"}]
    },
    messages=[{"role": "user", "content": "Analyze sales data"}],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

# Adding/removing Skills breaks cache
response2 = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    betas=[
        "code-execution-2025-08-25",
        "skills-2025-10-02",
        "prompt-caching-2024-07-31",
    ],
    container={
        "skills": [
            {"type": "anthropic", "skill_id": "xlsx", "version": "latest"},
            {
                "type": "anthropic",
                "skill_id": "pptx",
                "version": "latest",
            },  # Cache miss
        ]
    },
    messages=[{"role": "user", "content": "Create a presentation"}],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

Для лучшей производительности кэширования держите список Skills согласованным во всех запросах.

Обработка ошибок

Обрабатывайте ошибки, связанные с Skills, корректно:

client = anthropic.Anthropic()

try:
    response = client.beta.messages.create(
        model="claude-opus-4-7",
        max_tokens=4096,
        betas=["code-execution-2025-08-25", "skills-2025-10-02"],
        container={
            "skills": [
                {
                    "type": "custom",
                    "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
                    "version": "latest",
                }
            ]
        },
        messages=[{"role": "user", "content": "Process data"}],
        tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
    )
except anthropic.BadRequestError as e:
    if "skill" in str(e):
        print(f"Skill error: {e}")
        # Handle skill-specific errors
    else:
        raise

Хранение данных

Agent Skills не охватываются соглашениями ZDR. Определения Skills и данные выполнения хранятся в соответствии со стандартной политикой хранения данных Anthropic.

Для соответствия требованиям ZDR для всех функций см. API и хранение данных.

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

Справочник API

Полный справочник API со всеми конечными точками

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

Лучшие практики написания эффективных Skills

Инструмент выполнения кода

Узнайте об окружении выполнения кода

Was this page helpful?

  • Быстрые ссылки
  • Обзор
  • Использование Skills
  • Предварительные требования
  • Использование Skills в Messages
  • Параметр Container
  • Загрузка созданных файлов
  • Многооборотные разговоры
  • Долгоживущие операции
  • Использование нескольких Skills
  • Управление пользовательскими Skills
  • Создание Skill
  • Список Skills
  • Получение Skill
  • Удаление навыка
  • Управление версиями
  • Как загружаются навыки
  • Варианты использования
  • Организационные навыки
  • Личные навыки
  • Пример: Финансовое моделирование
  • Ограничения и ограничивающие факторы
  • Ограничения запросов
  • Ограничения окружения
  • Лучшие практики
  • Когда использовать несколько Skills
  • Стратегия управления версиями
  • Рассмотрения кэширования подсказок
  • Обработка ошибок
  • Хранение данных
  • Следующие шаги