Навыки агента
Навыки агента — открытый стандарт, который расширяет возможности AI-агентов с помощью специализированных функций. Навыки объединяют специализированные знания и рабочие процессы, которые агенты могут использовать для выполнения конкретных задач.
Что такое навыки?
Навык — это переносимый пакет с контролем версий, который учит агентов выполнять задачи в конкретной предметной области. Навыки могут включать скрипты, шаблоны и справочные материалы, с которыми агенты могут работать с помощью своих инструментов.
Переносимые
Навыки работают с любыми агентами, поддерживающими стандарт Agent Skills.
С контролем версий
Навыки хранятся в виде файлов: их можно отслеживать в вашем репозитории или устанавливать по ссылкам на репозитории GitHub.
Применимые
Навыки могут включать скрипты, шаблоны и справочные материалы, которые агенты используют с помощью своих инструментов.
Постепенная загрузка
Навыки загружают ресурсы по мере необходимости, эффективно используя контекст.
Как работают навыки
При запуске Cursor автоматически обнаруживает навыки в каталогах навыков и делает их доступными для Agent. Agent получает список доступных навыков и определяет, какие из них актуальны в текущем контексте.
Навыки также можно вызвать вручную: введите / в чате Agent и найдите нужный навык по имени. Вызванный таким способом навык прикрепляется к одному сообщению. Чтобы навык оставался включённым на всю сессию, используйте его как Пользовательский режим с помощью Option+EnterAlt+Enter (Mac) или Alt+Enter (Windows). См. Пользовательские режимы.
Встроенные навыки Cursor
Cursor включает небольшой набор встроенных навыков, которые помогают в повседневной работе. Cursor управляет этими навыками; они отображаются вместе с навыками, добавленными вами.
| Навык | Назначение |
|---|---|
/automate | Создаёт автоматизации Cursor, запускаемые по расписанию, сообщениям Slack, событиям GitHub и другим источникам. |
/autopilot | Отслеживает pull request и устраняет замечания, конфликты, сбои проверок и выполняет последующие задачи. |
/canvas | Создаёт интерактивные React-артефакты, отображаемые рядом с диалогом. |
/create-hook | Создаёт хуки Cursor и обновляет hooks.json для событий жизненного цикла агента. |
/create-rule | Создаёт правила Cursor с подходящей областью действия и инструкциями. |
/create-skill | Создаёт навыки агента, включая их структуру и файлы SKILL.md. |
/create-subagent | Создаёт пользовательских субагентов с чётко определёнными ролями и инструкциями по делегированию. |
/cursor-blame | Исследует изменения, внесённые ИИ, и промпты, которые привели к этим изменениям. |
/loop | Многократно запускает промпт или навык с указанным интервалом. |
/migrate-to-skills | Преобразует подходящие динамические правила и slash-команды в навыки агента. |
/review | Выбирает и запускает подходящего агента для ревью кода. |
/review-bugbot | Выполняет ревью кода на вероятные баги и регрессии с помощью Bugbot. |
/review-security | Выполняет ревью кода на уязвимости с помощью Security Review. |
/sdk | Помогает создавать приложения и интеграции с Cursor SDK. |
/shell | Выполняет предоставленный текст как дословную команду оболочки. |
/split-to-prs | Разделяет крупные изменения на небольшие pull request. |
/statusline | Настраивает строку состояния CLI Cursor. |
/update-cli-config | Обновляет настройки CLI Cursor в ~/.cursor/cli-config.json. |
/update-cursor-settings | Находит и обновляет подходящий параметр Cursor или VS Code. |
Чтобы запустить любой встроенный навык, введите / в чате Agent и выберите его имя. Agent также может автоматически испол��зовать некоторые встроенные навыки, если ваш запрос явно соответствует их назначению.
Каталоги навыков
Навыки автоматически загружаются из следующих расположений:
| Расположение | Область действия |
|---|---|
.agents/skills/ | Уровень проекта |
.cursor/skills/ | Уровень проекта |
~/.agents/skills/ | Уровень пользователя (глобально) на локальном компьютере |
~/.cursor/skills/ | Уровень пользователя (глобально) на локальном компьютере |
Cursor загружает навыки уровня пользователя с компьютера, где выполняется агент. Cursor не копирует ваши локальные папки ~/.cursor/skills/ и ~/.agents/skills/ в Cloud Agents, удалённые SSH-сессии в Окне Agents или self-hosted-воркеры. В этих средах используйте навыки проекта из репозитория или включайте навыки в образ воркера.
Для совместимости Cursor также загружает навыки из каталогов Claude и Codex: .claude/skills/, .codex/skills/, ~/.claude/skills/ и ~/.codex/skills/.
Каждый навык должен находиться в папке, содержащей файл SKILL.md:
.agents/└── skills/ └── my-skill/ └── SKILL.mdНавыки также могут включать необязательные каталоги для скриптов, дополнительной документации и ресурсов:
.agents/└── skills/ └── deploy-app/ ├── SKILL.md ├── scripts/ │ ├── deploy.sh │ └── validate.py ├── references/ │ └── REFERENCE.md └── assets/ └── config-template.jsonВложенные каталоги навыков
Каталоги навыков можно организовывать в подкаталоги. Это удобно для группировки связанных навыков по категориям, командам или предметным областям. Cursor рекурсивно обходит корневой каталог навыков и находит все файлы SKILL.md:
.cursor/└── skills/ ├── shipping/ │ ├── land-it/ │ │ └── SKILL.md │ └── careful-merge-conflicts/ │ └── SKILL.md ├── debugging/ │ └── using-datadog-mcp/ │ └── SKILL.md └── workflow/ └── tdd/ └── SKILL.mdПапка категории служит только для организации. Идентификатор навыка задаётся папкой, содержащей SKILL.md (например, land-it, tdd), а не родительской категорией.
Cursor также обнаруживает навыки во вложенных подкаталогах проекта. Папка .cursor/skills/ (или .agents/skills/) в любом месте репозитория будет найдена, поэтому в монорепозиториях навыки можно размещать рядом с пакетами, к которым они относятся:
my-monorepo/├── .cursor/skills/ # навыки уровня всего repo│ └── land-it/SKILL.md└── apps/ └── web/ └── .cursor/skills/ # навыки конкретного app └── deploy-web/SKILL.mdНавыки во вложенных каталогах проекта автоматически применяются к файлам в соответствующем каталоге. В примере выше deploy-web доступен только при работе Agent с файлами в apps/web/, тогда как навыки из общего для всего репозитория каталога .cursor/skills/ доступны везде. Это похоже на поле фронтматтера paths: чтобы ограничить вложенный навык его каталогом, задавать paths не нужно.
Формат файла SKILL.md
Каждый навык описывается в файле SKILL.md с YAML-фронтматтером:
---name: my-skilldescription: Short description of what this skill does and when to use it.---# My SkillDetailed instructions for the agent.## When to Use- Use this skill when...- This skill is helpful for...## Instructions- Step-by-step guidance for the agent- Domain-specific conventions- Best practices and patterns- Use the ask questions tool if you need to clarify requirements with the userПоля фронтматтера
| Поле | Обязательно | Описание |
|---|---|---|
name | Да | Идентификатор навыка. Только строчные буквы, цифры и дефисы. Должен совпадать с именем родительской папки. |
description | Да | Описывает назначение навыка и случаи его использования. Используется Agent для определения релевантности. |
paths | Нет | Glob-шаблоны, ограничивающие область действия навыка совпадающими файлами. Принимает строку со значениями, разделёнными запятыми, или список. Если задано, навык доступен только при работе Agent с совпадающими файлами. |
disable-model-invocation | Нет | Если указано значение true, навык включается только при явном вызове через /skill-name. Agent не будет автоматически применять его на основе контекста. |
icon | Нет | Значок, отображаемый на бейдже, когда навык используется как Пользовательский режим. По умолчанию используется значок молнии. |
color | Нет | Цвет бейджа, когда навык используется как Пользовательский режим. Один из вариантов: default, green, cyan, blue, purple, magenta, orange, yellow, red или brand. |
metadata | Нет | Произвольное сопоставление «ключ — значение» для дополнительных метаданных. |
Применение навыка к определённым файлам
Используйте поле paths, чтобы ограничить применение навыка файлами, соответствующими одному или нескольким glob-шаблонам. Тогда навык будет доступен Agent только при чтении или редактировании таких файлов. Это позволяет не добавлять в контекст несвязанной работы рекомендации, относящиеся к конкретным файлам.
---name: react-component-patternsdescription: Соглашения по написанию React-компонентов в этой кодовой базе.paths: - "**/*.tsx" - "packages/ui/**/*.ts"---# Паттерны React-компонентов...Также можно передать одну строку со значениями, разделёнными запятыми:
---name: python-styledescription: Style rules for Python files.paths: "**/*.py, scripts/**/*.py"---Шаблоны соответствуют стандартному синтаксису glob. Оставьте paths незаданным, если навык должен быть доступен независимо от того, какие файлы открыты.
Устаревшее поле globs по-прежнему поддерживается для совместимости с прежними навыками, но в новых навыках следует использовать paths.
Отключение автоматического вызова
По умолчанию навыки применяются автоматически, если Agent считает их подходящими. Установите disable-model-invocation: true, чтобы навык работал как обычная slash-команда и включался в контекст только при явном вводе /skill-name в чате.
Использование навыка как Пользовательского режима
Любой навык с корректным блоком фронтматтера может использоваться в качестве Пользовательского режима, сохраняя навык в контексте на протяжении всей сессии. У активного режима в поле ввода чата отображается бейдж. Настройте его с помощью необязательных полей фронтматтера icon и color:
---name: tdddescription: Test-driven development playbook for this repo.icon: beakercolor: green---Значки берутся из набора иконок Cursor и имеют такие названия, как code, terminal, bug, git-branch, book-open, beaker, shield и rocket. Для нераспознанных значков или цветов используется бейдж по умолчанию — молния.
Добавление скриптов в навыки
Навыки могут включать каталог scripts/ с исполняемым кодом, который агенты могут запускать. Указывайте скрипты в SKILL.md, используя относительные пути от корня навыка.
---name: deploy-appdescription: Deploy the application to staging or production environments. Use when deploying code or when the user mentions deployment, releases, or environments.---# Deploy AppDeploy the application using the provided scripts.## UsageRun the deployment script: `scripts/deploy.sh <environment>`Where `<environment>` is either `staging` or `production`.## Pre-deployment ValidationBefore deploying, run the validation script: `python scripts/validate.py`Agent читает эти инструкции и выполняет указанные скрипты при вызове навыка. Скрипты можно писать на любом языке — Bash, Python, JavaScript или в любом другом исполняемом формате, поддерживаемом реализацией Agent.
Скрипты должны быть самодостаточными, содержать полезные сообщения об ошибках и корректно обрабатывать крайние случаи.
Необязательные каталоги
Навыки поддерживают следующие необязательные каталоги:
| Каталог | Назначение |
|---|---|
scripts/ | Исполняемый код, который могут запускать агенты |
references/ | Дополнительная документация, загружаемая по запросу |
assets/ | Статические ресурсы: шаблоны, изображения или файлы данных |
Пусть основной файл SKILL.md остаётся кратким, а подробные справочные материалы выносите в отдельные файлы. Это помогает экономно использовать контекст: агенты загружают ресурсы постепенно — только при необходимости.
Просмотр навыков
Чтобы просмотреть обнаруженные навыки, откройте Настроить на боковой панели и перейдите в раздел Навыки. Навыки, установленные из плагинов или в вашем проекте, отображаются вместе с правилами в разделе Agent Decides.
Установка навыков из GitHub
Вы можете импортировать навыки из репозиториев GitHub:
- Откройте Настроить на боковой панели
- Перейдите в Rules и нажмите Add Rule
- Выберите Remote Rule (GitHub)
- Введите URL репозитория GitHub
Перенос правил и команд в навыки
В Cursor 2.4 есть встроенный навык /migrate-to-skills, который помогает преобразовать существующие динамические правила и slash-команды в навыки.
Навык миграции преобразует:
- Динамические правила: правила с конфигурацией «Применять интеллектуально» — с
alwaysApply: false(или undefined) и без заданных шаблоновglobs. Они преобразуются в стандартные навыки. - Slash-команды: команды уровня пользователя и рабочего пространства преобразуются в навыки с
disable-model-invocation: true, сохраняя возможность явного вызова.
Чтобы выполнить перенос:
- Введите
/migrate-to-skillsв чате Agent - Agent определит подходящие правила и команды и преобразует их в навыки
- Проверьте созданные навыки в
.cursor/skills/
Правила с alwaysApply: true или конкретными шаблонами globs не переносятся, поскольку у них есть явные условия срабатывания, отличающиеся от поведения навыков. Пользовательские правила также не переносятся, поскольку они не хранятся в файловой системе.
Подробнее
Навыки агента — открытый стандарт. Подробнее — на agentskills.io.