Все посты
46 Знания

Как создавать скиллы для Codex и использовать их в работе

Пошагово разбираем Codex Skills: как создать SKILL.md, где хранить скиллы, настроить их запуск и применять в работе на примере SEO-аудита страницы.

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

Скиллы позволяют сохранить процессы, которые часто повторяются в работе, в файле SKILL.md, чтобы не писать один и тот же промпт заново. В статье разобрано, чем скилл отличается от промпта, правила и агента, где хранить личные и проектные навыки и как написать точный description. Пошаговая инструкция построена на примере seo-page-audit — навыка для экспресс-аудита SEO страницы.

Кому стоит прочитать статью:

  • Разработчикам, которые регулярно поручают Codex ревью кода и создание тестов.

  • SEO-специалистам, которым нужно привести в порядок проверку страниц и оформление рекомендаций.

  • Редакторам и контент-маркетологам, которые хотят закрепить требования к SEO-брифам и редактуре.

  • Тимлидам, которым важно применять единые рабочие инструкции во всей команде.

  • Пользователям Codex, которые хотят понять, как создать навык и настроить его автоматический запуск.

Представьте: вы используете Codex, чтобы проверять SEO страницы по вашему чек-листу. В первый раз вы подробно объясняете задачу. Во второй раз ищете старую задачу с этим промптом, чтобы запустить процесс заново. В третий — снова ищете промпт и параллельно дописываете в него забытые требования: проверь canonical, не выдумывай данные о трафике, раздели ошибки по приоритету. Так вот, гораздо проще сразу сохранить такую повторяющуюся инструкцию как скилл, или навык.

В Codex Skills можно закрепить порядок действий, формат ответа, ограничения, критерии проверки и ссылки на справочные файлы. Агент сам подберет подходящую инструкцию по запросу или запустит ее по прямой команде.

Ниже разберем, как устроены скиллы Codex и как создать такой навык на примере SEO-аудита страницы.

Что такое Codex Skill

Это папка с инструкцией для AI-агента. Обязательный файл в ней называется SKILL.md.

У простого навыка всего один файл:

code-review/
└── SKILL.md

Если для работы нужны справочники, шаблоны или скрипты, их помещают рядом:

code-review/
├── SKILL.md
├── references/
│   └── security-checklist.md
├── scripts/
│   └── collect-diff.ps1
└── assets/
    └── review-template.md

В начале SKILL.md стоят метаданные: имя и description. Они помогают агенту понять, для чего нужен навык. Далее идет сама инструкция.

Codex не читает все скиллы целиком при каждом запросе, сначала он видит их краткие описания. Если одно из них подходит к задаче, агент загружает полный SKILL.md. Поэтому хороший description важен не меньше, чем основной текст.

В каких случаях стоит создать скилл

Для какой-то разовой задачи хватит и промпта. Если процесс меняется каждый день или вы сами еще не знаете, каким должен быть результат, навык лишь запутает вас.

Можно, например, воспользоваться правилом трех повторов. Если за неделю вы трижды дали Codex почти одинаковый промпт, пора подумать о скилле. Например, вы:

  • составляете SEO-брифы по шаблону редакции;

  • готовите тесты по правилам проекта;

  • разбираете инциденты по одной структуре;

  • проверяете страницы сайта по внутренним SEO-требованиям.

Решите задачу вместе с агентом несколько раз, отметьте, что приходится повторять, где агент ошибается, каких данных ему не хватает. Из этих наблюдений и получится рабочий SKILL.md.

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

Промпт — разовая команда. К примеру, вы просите исправить функцию, объяснить ошибку, собрать список запросов или отредактировать письмо. Если обычный промпт отвечает на вопрос «что сделать сейчас», то скилл отвечает на вопрос «как выполнять такие задачи всегда».

Почитать по теме: Промпты с нуля: общаемся с нейросетью правильно

Правило проекта действует постоянно. Например, запрещает менять публичный API без согласования, требует запускать тесты перед ответом или задает формат логов.

Скилл описывает повторяемый процесс. Он сообщает Codex, когда включаться, что проверить, в каком порядке работать и как оформить результат.

Отдельный агент берет на себя самостоятельную роль. У него могут быть свои инструменты, контекст и длинный рабочий цикл. Ради прохождения по краткому чек-листу создавать агента незачем.

MCP-сервер подключает внешний инструмент или источник данных (базу, CRM, трекер задач, документацию).

Почитать по теме: MCP-сервер: что это такое и почему за этой технологией будущее

Многие из этих средств работают вместе: правило задает агенту общие границы, скилл ведет его по процессу, а MCP предоставляет данные.

Где Codex ищет скиллы

Программа поддерживает несколько уровней хранения Agent Skills. Командный скилл помещают в репозиторий:

your-project/
├── .agents/
│   └── skills/
│       └── release-notes/
│           └── SKILL.md
└── src/

Такой навык хранится вместе с кодом. Команда видит изменения в Git, обсуждает их на code review и пользуется одной версией инструкции.

Личные скиллы лежат в домашней папке:

$HOME/.agents/skills/my-skill/SKILL.md

Они доступны в разных проектах, но не попадают в репозиторий. Здесь можно хранить личные шаблоны, редакторские приемы и общие рабочие привычки.

Как устроен файл SKILL.md

Файл начинается с блока метаданных YAML frontmatter, затем идет инструкция в Markdown.

---
name: code-review
description: Проверяет изменения в коде на корректность, безопасность, удобство поддержки и наличие нужных тестов. Использовать, когда пользователь просит провести ревью pull request, diff, патча, коммита или измененных файлов.
---

# Ревью кода

## Порядок работы

1. Прочитай измененные файлы и инструкции проекта.
2. Проверь поведение, пограничные случаи и обработку ошибок.
3. Найди угрозы безопасности и риск потери данных.
4. Проверь, покрывают ли тесты измененное поведение.
5. Сообщай только о замечаниях, которые требуют действия.

## Формат результата

Для каждого замечания укажи:

- серьезность;
- файл и строку;
- суть проблемы;
- способ исправления.

Если замечаний нет, скажи об этом прямо.

Поле name содержит короткое имя скилла. Для него используют строчные латинские буквы, цифры и дефисы: seo-brief, release-notes, database-migration.

Поле description сообщает, что делает навык и когда его запускать. По этому тексту Codex выбирает инструкцию для запроса.

В теле файла описывают работу: что прочитать, что проверить, чего не делать и как ответить.

Как написать description, по которому найдется скилл

Сравните два варианта:

description: Помогает работать с документами.

и

description: Готовит SEO-брифы для статей: определяет поисковый интент, находит пробелы у конкурентов, составляет структуру, метаданные и чек-лист оптимизации. Использовать, когда пользователь просит подготовить SEO-бриф, исследование для статьи, контент-план или структуру материала.

Хороший description отвечает на два вопроса:

  1. Что делает навык?

  2. По каким запросам его включать?

Возьмите слова из запросов: code review, pull request, «релизные заметки», «SEO-бриф», «аудит страницы». Не надо перечислять десятки вариантов, нескольких точных триггеров достаточно.

Не растягивайте область действия. Если copy-editing обещает редактировать и статьи, и договоры, и презентации, и исследования, и техническую документацию, он будет включаться слишком часто. Один скилл должен запускать один процесс.

Как создать навык: пошаговый гайд

Агент может собрать заготовку для скилла автоматически. Для этого он спросит, что должен делать навык, когда его применять и нужны ли дополнительные файлы. Но нужно хотя бы один раз создать файл вручную, так будет легче понять его устройство.

Сделаем seo-page-audit: он будет проверять страницу, находить ошибки внутренней оптимизации и составлять план исправлений.

1. Сузьте задачу

«Провести SEO-аудит сайта» — плохая цель для скилла. Такой аудит охватывает тысячи URL, логи, индексацию, ссылочный профиль, аналитику и скорость. Поэтому мы возьмем один процесс: экспресс-аудит страницы по URL, HTML или выгрузке краулера.

Наш навык будет проверять:

  • title и description;

  • заголовки H1–H3;

  • содержание и поисковый интент;

  • canonical, robots и доступные признаки индексируемости;

  • внутренние ссылки;

  • изображения и alt;

  • структурированные данные;

  • технические ошибки в HTML.

2. Задайте вход и результат

На входе скилл получает:

  • URL, HTML, текст страницы или выгрузку краулера;

  • целевой запрос, если он известен;

  • регион;

  • тип страницы.

На выходе нужен отчет:

  • краткая оценка;

  • проблемы по приоритету;

  • подтверждение каждой проблемы;

  • конкретные исправления;

  • порядок работ;

  • список того, что проверить не удалось.

3. Создайте папку

Можно, например, сделать папку для навыка во всех проектах по пути $HOME/.agents/skills/seo-page-audit.

4. Заполните блок метаданных frontmatter

Имя оставьте латиницей, description можно написать по-русски:

---
name: seo-page-audit
description: Проводит экспресс-аудит внутренней SEO-оптимизации одной веб-страницы по URL, HTML-коду или выгрузке краулера. Использовать, когда пользователь просит проверить SEO страницы, найти ошибки в метатегах и заголовках, оценить on-page SEO или подготовить рекомендации по оптимизации конкретного URL.
---

Здесь ясно указана задача и названы запросы, которые должны включить навык.

5. Опишите порядок аудита

## Порядок работы

1. Уточни целевой запрос, регион и тип страницы, если они нужны для проверки.
2. Получи страницу по URL. Если URL недоступен, попроси HTML, текст или выгрузку краулера.
3. Перечисли доступные данные и ограничения проверки.
4. Проверь title, description, H1–H3, canonical, robots, внутренние ссылки, изображения и структурированные данные.
5. Сопоставь содержание с целевым запросом и поисковым интентом.
6. Раздели проблемы на критические, существенные и небольшие.
7. Для каждой проблемы приведи доказательство и предложи исправление.
8. Не выдумывай трафик, позиции, частотность и состояние индексации.

Каждый шаг должен отличаться от предыдущего по принципу работы. Смело убирайте те строки, без которых результат не изменится.

Если скилл должен находить проблемы во внутренних ссылках, не заставляйте его определять их доступность по косвенным признакам. Сначала проверьте URL через инструмент поиска битых ссылок, а затем передайте полученные результаты в контекст задачи. Отчет с кодами ответа и данными об атрибуте nofollow поможет Codex предложить более точные исправления.

Интерфейс инструмента для поиска битых ссылок
Интерфейс инструмента для поиска битых ссылок

6. Задайте формат ответа

## Формат результата

### Краткая оценка

В 3–5 предложениях опиши состояние страницы и ограничения проверки.

### Найденные проблемы

Для каждой проблемы укажи:

- приоритет;
- элемент страницы;
- что обнаружено;
- чем это мешает;
- что исправить.

### Что уже сделано хорошо

Назови только подтвержденные сильные стороны.

### План исправлений

Перечисли работы в нужном порядке. Не повторяй полные описания проблем.

### Что не удалось проверить

Назови недоступные данные и объясни, что нужно предоставить.

Такой шаблон помогает распределить задачи между редакторами и разработчиками.

7. Добавьте самопроверку

Здесь нужно задать конкретные условия:

## Проверка качества

- Каждая проблема подтверждается данными страницы.
- Рекомендация говорит, что и как изменить.
- Одна проблема не повторяется в разных разделах.
- Приоритет соответствует возможным последствиям.
- Предположения отделены от фактов.
- В отчете нет выдуманных данных о трафике, позициях и индексации.

8. При необходимости добавьте справочник

Для первой версии хватит и SKILL.md. Позже можно вынести правила проекта в отдельный файл:

seo-page-audit/
├── SKILL.md
└── references/
 └── project-seo-requirements.md

В справочнике можно хранить требования к шаблонам страниц, метатегам, микроразметке и приоритетам. Чтобы агент использовал этот свод данных, добавьте одну команду в SKILL.md:

Если существует файл `references/project-seo-requirements.md`, прочитай его до начала аудита и используй как основной набор требований проекта.

9. Проверьте скилл

Сначала вызовите его по имени:

Используй $seo-page-audit. Проверь страницу https://example.com/category/product по запросу «название товара купить», регион — Москва.

Потом не называйте навык:

Проведи on-page SEO-аудит этой страницы и составь список исправлений по приоритету.

Если Codex не выбирает скилл автоматически, внесите правки в триггеры. А если отчет полон общих советов, ужесточите формат и критерии проверки.

Чтобы проверить не только запуск скилла, но и качество его отчета, прогоните тот же URL и целевой запрос через SEO-анализ страницы. Инструмент покажет метатеги, заголовки, вхождения ключевой фразы, частотность слов на странице и параметры изображений. Сравните результаты с отчетом агента: расхождения помогут понять, какие проверки, ограничения или критерии нужно уточнить в SKILL.md.

Интерфейс инструмента для SEO-анализа страницы
Интерфейс инструмента для SEO-анализа страницы

Откуда скилл будет брать данные

После первых нескольких тестов вы, скорее всего, обнаружите, что данных вам не хватает. Страницу скилл прочитает, метатеги разберет, заголовки соберет. Но частотность запроса, состав выдачи и позиции проекта из HTML не узнает. Если не дать агенту источник, останутся два варианта: пропустить эти пункты или начать гадать. Второй вариант нам точно не подходит.

Поэтому дополнительно мы подключим MCP-сервер PR-CY. Он открывает Codex доступ к инструментам сервиса: можно запросить содержимое страницы, выдачу, Wordstat, связанные с URL запросы и данные проекта. Search Console и Яндекс Метрика тоже доступны, если они уже подключены к проекту пользователя.

Скилл при этом не поменяет свою роль, он по-прежнему будет отвечать за ход аудита и устройство отчета. MCP только предоставит ему факты.

Как подключить MCP

API-ключ находится в разделе «Настройки → API». Обратите внимание: в SKILL.md его записывать нельзя. То же касается AGENTS.md, примеров команд и любых файлов, которые могут попасть в Git.

Раздел в настройках, где лежит ключ API
Раздел в настройках, где лежит ключ API

На macOS и Linux ключ можно передать через переменную окружения:

export PR_CY_API_KEY="ваш_api_ключ"

В PowerShell команда выглядит так:

$env:PR_CY_API_KEY = "ваш_api_ключ"

После этого добавьте сервер в Codex:

codex mcp add pr-cy \
  --url https://mcp-server.pr-cy.ru \
  --bearer-token-env-var PR_CY_API_KEY

Токен останется в переменной окружения. В самой настройке подключения будет только ее имя.

Есть и вариант подключения через ~/.codex/config.toml:

[mcp_servers.pr-cy]
type = "http"
url = "https://mcp-server.pr-cy.ru"


[mcp_servers.pr-cy.headers]
Authorization = "Bearer YOUR_API_KEY"

Он короче, но ключ хранится открытым текстом. Такой файл легко случайно приложить к задаче или отправить вместе с архивом проекта. Поэтому переменная окружения будет эффективнее.

Проверьте подключение:

codex mcp list
codex mcp get pr-cy

Иногда сервер уже виден в списке, а его инструментов в текущей сессии еще нет. Тогда помогает перезапуск Codex. Если это не помогло, проверьте, унаследовало ли приложение переменную PR_CY_API_KEY.

Что нужно дописать в seo-page-audit

Правила работы с данными лучше оставить внутри SKILL.md. Добавьте в скилл такой раздел:

## Использование MCP PR-CY

Если доступны MCP-инструменты PR-CY, используй их для получения подтверждаемых SEO-данных.
Выбирай инструмент по задаче:

- `get_page_content`: получить содержимое страницы;
- `get_region`: определить идентификатор региона для поисковой системы;
- `get_serp`: получить выдачу и проверить поисковый интент;
- `get_wordstat`: получить частотность запроса;
- `get_keywords_by_url`: найти запросы, связанные с URL;
- инструменты проектов и позиций: использовать для данных проекта пользователя;
- инструменты Search Console и Метрики: использовать при наличии подключенного источника и подходящего проекта.

Перед вызовом прочитай описание и параметры доступного инструмента. Не ссылайся на данные PR-CY, если вызов завершился ошибкой или нужного показателя в ответе не было.

В отчете отдельно показывай данные страницы, SERP и Wordstat, сведения проекта, выводы и рекомендации. Для показателей указывай источник, URL, регион и период, когда они имеют значение.

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

Если MCP PR-CY недоступен, продолжи аудит по URL, HTML, тексту или выгрузке пользователя. Перечисли то, что проверить не удалось.

По отчету вы сразу увидите, работает ли этот раздел. Частотность появилась без вызова get_wordstat? Значит, агент ее придумал. Анализирует московскую выдачу, но get_region не вызывался? Регион надо перепроверить. Цифры из Search Console висят рядом с рекомендациями без периода и названия источника? Формат придется ужесточить.

Есть еще один тест. Отключите MCP и повторите запрос. Хороший скилл продолжит проверку по странице и перечислит все найденные пробелы. Плохой выдаст почти такой же отчет, только происхождение цифр станет совсем туманным.

Полная версия навыка

Ниже — готовый .agents/skills/seo-page-audit/SKILL.md. Его можно сразу проверить на своей странице, а затем дополнить правилами вашего проекта.

---
name: seo-page-audit
description: Проводит экспресс-аудит внутренней SEO-оптимизации одной веб-страницы по URL, HTML-коду или выгрузке краулера. Использовать, когда пользователь просит проверить SEO страницы, найти ошибки в метатегах и заголовках, оценить on-page SEO или подготовить рекомендации по оптимизации конкретного URL.
---

# Экспресс-аудит SEO-оптимизации страницы

Проверь одну веб-страницу по доступным данным. Найди подтвержденные ошибки внутренней оптимизации, расставь приоритеты и предложи ясные исправления.

Не выдавай эту проверку за полный SEO-аудит сайта.

## Когда применять скилл

Используй скилл, если пользователь просит:

- проверить SEO конкретной страницы;
- провести on-page SEO-аудит;
- найти ошибки в метатегах, заголовках или тексте;
- оценить страницу под поисковый запрос;
- составить список SEO-исправлений для URL;
- проверить HTML или выгрузку краулера.

Не применяй его для полного аудита сайта, анализа ссылочного профиля, сбора семантики, проверки позиций или сканирования всех URL.

## Входные данные

Используй:

- URL, HTML, текст страницы или выгрузку краулера;
- целевой запрос, если он известен;
- регион, если он влияет на выдачу;
- тип страницы: статья, категория, карточка товара, услуга, главная или другой тип.

Если данных мало, задай только необходимые вопросы. Не требуй целевой запрос для чисто технической проверки.

Если URL не открывается, попроси HTML, текст, экспорт краулера или снимок нужных элементов. Не утверждай, что видел страницу.

## Границы проверки

Делай выводы только по доступным данным.

Без дополнительных источников нельзя достоверно определить:

- поисковые позиции;
- органический трафик и конверсии;
- частотность запросов;
- наличие URL в индексе;
- ошибки обхода поисковыми роботами;
- входящие ссылки и внешний ссылочный профиль;
- Core Web Vitals и фактическую скорость загрузки;
- каннибализацию с другими страницами.

Если пользователь дал данные аналитики, панелей вебмастера, краулера или сервиса скорости, разбирай их отдельно и называй источник вывода.

## Порядок работы

1. Определи доступные данные, тип страницы, целевой запрос и регион.
2. Назови ограничения проверки.
3. Изучи страницу, не меняя файлы и код.
4. Проверь метатеги, заголовки, текст, индексируемость, ссылки, изображения и структурированные данные.
5. Если задан запрос, сопоставь страницу с поисковым интентом.
6. Объедини связанные замечания.
7. Расставь приоритеты.
8. Подтверди каждую проблему данными страницы и предложи исправление.
9. Отдельно назови то, что уже сделано хорошо.
10. Составь план работ с учетом приоритетов и зависимостей.
11. Проверь отчет перед ответом.

## Что проверять

### Доступность и индексируемость

Если данные доступны, проверь:

- HTTP-статус;
- запреты в `robots` и `meta robots`;
- `canonical`;
- противоречия между `canonical` и индексируемостью;
- редиректы;
- наличие URL в XML-карте по данным выгрузки;
- явные признаки дубля или служебной страницы.

Не говори, что URL есть или нет в индексе, без данных поисковой системы.

### Title и description

Проверь:

- есть ли элементы;
- не дублируются ли они в переданных данных;
- отвечают ли содержанию и типу страницы;
- понятны ли пользователю;
- входит ли основной запрос без навязчивых повторов;
- нет ли обрывков и шаблонных вставок;
- согласуются ли они с ожиданиями из поисковой выдачи (если доступны данные поисковой выдачи).

Не считай длину самостоятельным показателем качества. Она лишь помогает заметить возможную проблему.

### Заголовки H1–H3

Проверь:

- есть ли понятный `H1`;
- отвечает ли он теме страницы;
- выстроены ли подзаголовки по смыслу;
- не служат ли заголовки лишь оформлением;
- нет ли смысловых дублей;
- помогают ли разделы ответить на поисковый запрос.

Не требуй один `H1` как непреложное техническое правило. Отмечай ошибку, только если структура мешает понять страницу или работать с текстом.

### Основное содержание

Проверь:

- решает ли страница задачу пользователя;
- есть ли сведения, обязательные для такого типа страницы;
- отвечает ли текст целевому запросу;
- нет ли пробелов, повторов и чужих теме блоков;
- хватает ли конкретных данных для решения;
- не повторяются ли ключевые фразы механически;
- согласованы ли заголовок, метатеги и текст.

Не советуй наращивать объем без причины. Назови, какой информации не хватает и зачем она читателю.

### Внутренние ссылки

Проверь:

- ведут ли ссылки на полезные связанные страницы;
- понятны ли анкоры;
- нет ли бессодержательных анкоров вроде «тут» и «подробнее» без ясного контекста;
- нет ли битых ссылок по данным выгрузки;
- не повторяются ли одни и те же ссылки без нужды;
- можно ли перейти к важным страницам из основного текста.

Не суди о перелинковке всего сайта по одной странице.

### Изображения

Проверь:

- есть ли `alt` у содержательных изображений;
- описывает ли `alt` изображение;
- не набит ли он ключевыми словами;
- понятны ли имена файлов, если они доступны;
- заданы ли размеры и lazy loading, если это видно в HTML;
- нет ли слишком тяжелых файлов, если известен их размер.

Декоративному изображению описательный `alt` не нужен. Для него допустимо пустое значение.

### Структурированные данные

Проверь:

- подходит ли разметка типу страницы;
- совпадает ли она с видимым содержанием;
- заполнены ли обязательные и рекомендуемые свойства согласно актуальной документации поисковой системы;
- не спорят ли между собой несколько сущностей;
- нет ли явных ошибок в JSON-LD или микроразметке.

Не обещай расширенный сниппет. Решение принимает поисковая система.

### Технические элементы HTML

Если данные доступны, проверь:

- атрибут `lang`;
- `viewport` для мобильных устройств;
- битые относительные пути;
- повторяющиеся `id`, если они ломают навигацию;
- HTTP-ресурсы на HTTPS-странице;
- пустые и служебные элементы в индексируемом тексте.

Не превращай отчет в полную проверку валидности HTML. Добавляй замечание, только если ошибка мешает доступности, индексированию, содержанию или работе страницы.

## Приоритеты

Используй три уровня.

### Критический

Ошибка может закрыть страницу от обхода или индексации, направить робота на другой URL, вернуть неверный статус либо скрыть основное содержание.

### Существенный

Ошибка заметно снижает релевантность, ясность, качество сниппета, внутреннюю связность или полноту ответа.

### Небольшой

Исправление полезно, но само по себе вряд ли заметно повлияет на результат.

Не называй ошибку критической лишь потому, что элемента нет. Оцени возможные последствия для этой страницы.

## Формат результата

### Краткая оценка

В 3–5 предложениях опиши состояние страницы, главные ошибки и ограничения проверки. Не ставь балл, если пользователь не дал шкалу.

### Найденные проблемы

Для каждой проблемы используй шаблон:

#### [Приоритет] Краткое название

- **Элемент:** что проверялось.
- **Обнаружено:** факт или фрагмент страницы.
- **Почему это мешает:** возможное последствие без преувеличений.
- **Что изменить:** ясное и выполнимое действие.
- **Пример:** вариант исправления, если данных хватает.

Ставь критические проблемы первыми. Не дроби один недостаток на несколько похожих пунктов.

### Что уже сделано хорошо

Назови подтвержденные сильные стороны. Если называть нечего, пропусти раздел.

### План исправлений

Перечисли действия в нужном порядке. Сначала исправляют доступность и индексируемость, затем содержание и метатеги, потом мелкие недочеты.

Не копируй сюда полные описания проблем.

### Что не удалось проверить

Назови недоступные данные и объясни, что предоставить. Если ограничений нет, сообщи об этом одной строкой.

## Проверка качества

Перед ответом убедись:

- каждая проблема подтверждается данными;
- факты, догадки и советы разделены;
- в отчете нет выдуманных показателей;
- рекомендации относятся к этой странице;
- одна проблема не повторяется под разными названиями;
- приоритет соответствует возможным последствиям;
- совет говорит, что именно изменить;
- отчет понятен SEO-специалисту, редактору и разработчику;
- проверка не названа полным аудитом сайта;
- ограничения перечислены прямо.

## Дополнительные материалы проекта

Если существует `references/project-seo-requirements.md`, прочитай его до аудита. Возьми оттуда требования к шаблонам, метатегам, структурированным данным и отчету.

Если правила проекта расходятся с общими советами скилла, следуй правилам проекта и коротко отметь это в отчете.

## Безопасность

- Не показывай токены, пароли, cookies и другие секреты из кода или входных данных.
- Не открывай закрытые административные ссылки без прямого разрешения.
- Не меняй страницу, файлы и настройки сайта во время аудита.
- Не отправляй данные во внешние сервисы без согласия пользователя.

## Использование MCP PR-CY

Проверь, подключен ли у пользователя MCP PR-CY. Если нет, предложи подключить, чтобы работать с точными данными.

Если доступны MCP-инструменты PR-CY, используй их для получения подтверждаемых SEO-данных.

Выбирай инструмент по задаче:
- `get_page_content`: получить содержимое страницы;
- `get_region`: определить идентификатор региона для поисковой системы;
- `get_serp`: получить выдачу и проверить поисковый интент;
- `get_wordstat`: получить частотность запроса;
- `get_keywords_by_url`: найти запросы, связанные с URL;
- инструменты проектов и позиций: использовать для данных проекта пользователя;
- инструменты Search Console и Метрики: использовать при наличии подключенного источника и подходящего проекта.

Перед вызовом прочитай описание и параметры доступного инструмента. Не ссылайся на данные PR-CY, если вызов завершился ошибкой или нужного показателя в ответе не было.

В отчете отдельно показывай данные страницы, SERP и Wordstat, сведения проекта, выводы и рекомендации. Для показателей указывай источник, URL, регион и период, когда они имеют значение.

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

Если MCP PR-CY недоступен, продолжи аудит по URL, HTML, тексту или выгрузке пользователя. Перечисли то, что проверить не удалось.

Как использовать навыки в работе

В Codex откройте /skills или укажите в запросе: `$seo-page-audit`. Например: «Используй $seo-page-audit и проверь эту страницу по запросу «ремонт кофемашин».

Можно и не называть навык: «Проведи on-page SEO-аудит страницы и расставь исправления по приоритету». Если description написан точно, агент сам выберет нужную инструкцию.

Пример вызова скилла в Codex
Пример вызова скилла в Codex
Ответ Codex после применения навыка
Ответ Codex после применения навыка

После правки скилла Codex обычно замечает изменения сам. Если новая версия не появилась, попробуйте перезапустить приложение.

Как правильно тестировать

  1. Поставьте задачу, не называя навык.

  2. Проверьте, выбрал ли его агент.

  3. Сравните результат с критериями качества.

  4. Найдите неясное или двусмысленное место в инструкции.

  5. Исправьте его и повторите тест.

Если Codex не выбирает навык, внесите правки в description. А если выбирает, но дает слабый ответ, проверьте порядок действий, формат результата и критерии качества.

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

Обновляйте командные скиллы вместе с рабочими процессами:

  • удаляйте устаревшие правила;

  • добавляйте пример, если ошибка повторяется;

  • фиксируйте изменения в Git, чтобы было понятно, кто, когда и зачем обновил инструкцию.

Чек-лист хорошего скилла

Проверьте перед работой:

  • Имя навыка однозначно отражает его задачу.

  • description объясняет, что делает скилл и когда он должен запускаться.

  • Навык отвечает за один конкретный процесс.

  • Необходимые входные данные четко определены.

  • Результат работы можно объективно проверить.

  • Каждый шаг инструкции действительно необходим.

  • Формат ответа позволяет удобно использовать результат.

  • Объемные справочники и дополнительные материалы вынесены в отдельные файлы.

  • В файлах нет API-ключей, паролей, токенов и других секретов.

  • Инструкция не противоречит AGENTS.md и другим правилам проекта.

  • Автоматический запуск скилла проверен на реальных задачах.

FAQ

Можно ли использовать несколько скиллов в рамках одной задачи?

Да, Codex может применять несколько навыков, если каждый из них отвечает за отдельный этап работы. Например, один собирает данные, другой анализирует их, а третий оформляет итоговый отчет. Но важно, чтобы их инструкции не противоречили друг другу.

Что произойдет, если под запрос подходят сразу несколько скиллов?

Агент выберет инструкции, описания которых точнее соответствуют задаче. Если формулировки слишком похожи, выбор может оказаться непредсказуемым. В таком случае стоит сузить назначение каждого и добавить в description более конкретные условия запуска.

Может ли скилл изменять файлы проекта?

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

Нужно ли создавать новый скилл для каждого проекта?

Необязательно. Универсальные процессы можно хранить в личных навыках и использовать в разных проектах. Отдельный проектный скилл нужен, когда инструкция зависит от конкретной архитектуры, терминологии, инструментов или внутренних требований команды.

Как понять, что навык пора разделить на несколько отдельных инструкций?

Основной признак — большое количество условий и исключений, относящихся к разным результатам. Если части инструкции можно запускать независимо друг от друга или они требуют разных входных данных, лучше оформить их как отдельные скиллы с узким назначением.

Почитать по теме: Как установить OpenCode и подключить MCP-сервер: ИИ-помощник для SEO без кода
Возьмите под контроль продвижение своего сайта
Исправьте ошибки, которые мешают сайту выйти в топ, и вы увидите рост трафика и дохода.
🔍 Подпишись на @prcynews в телеграм — оставайся в курсе последних SEO новостей и свежих материалов.

Теги поста или какие разделы почитать еще:

Бриф для SEO-статьи за две минуты
Топ нейросетей для программирования: выбираем лучший ИИ для кода
Hermes Agent для SEO: как установить ИИ-агента и подключить к нему данные сайта
Как ускорить загрузку сайта: полное руководство по оптимизации скорости
Промпты для ChatGPT: 100+ примеров для маркетологов, IT-специалистов и не только
Метатеги сайта: полный гайд по Title, Description, Canonical, Robots и другим тегам