Блог Leina

Как превратить рабочую задачу ИИ в переиспользуемый навык

Превратите одноразовый промпт в переиспользуемый SKILL.md. Отделите динамические входные данные от стандартных правил, протестируйте граничные случаи и поделитесь рабочим процессом с командой.

Когда у вас есть готовый еженедельный отчёт по GitHub, вы, скорее всего, захотите, чтобы следующий отчёт следовал тем же правилам: фильтрация по дате слияния, сохранение ссылок на источники и сохранение видимости отсутствующего контекста. Сохранение этих правил упрощает их переиспользование и проверку, чем копирование длинной переписки каждую неделю.

В Leina вы можете упаковать проверенные рабочие процессы в Навык — структурированный файл SKILL.md, следующий открытой спецификации Agent Skills. Вместо того чтобы каждую неделю заново объяснять стандарты отчётности вашей команды, укажите текущий репозиторий, даты, часовой пояс и любое место назначения, которое требуется задаче.

Используйте уже проверенный отчёт в качестве отправной точки. Пошаговое руководство по GitHub-to-Notion показывает, как подготовить и проверить такой отчёт.

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

Отделите изменяющиеся входные данные от стандартных правил

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

Входные данные для этого запускаПравила, сохранённые в SKILL.md
Целевой репозиторий или список репозиториевТочные правила фильтрации (временная метка слияния или дата закрытия)
Отчётный период и часовой поясТребование к указанию источника (включить ссылку на PR и автора)
URL страницы назначения в Notion для записиПравила подтверждения (помечать отсутствующий контекст как недокументированный)
Целевая аудитория / уровень детализацииИнструкции по записи (соблюдать запрошенный объём и проверять существующее содержимое)

Учётные данные и токены доступа никогда не должны находиться в файле Навыка. Leina управляет доступом через авторизованные Подключения; Навык лишь определяет, как агент должен использовать инструменты, доступные в вашей среде.

Структурируйте файл SKILL.md

Файл SKILL.md содержит YAML-фронтматтер и инструкции в формате Markdown. Этот стартовый шаблон — пример для адаптации и тестирования с доступными вам инструментами; он не запускался с вашими аккаунтами.

---
name: weekly-pr-report
description: "Подготовьте еженедельный отчёт о pull-запросах GitHub со ссылками на источники для указанного репозитория и временного окна, с необязательной авторизованной записью в Notion. Используйте для отчётов о статусе инженерных работ, а не для проверки кода или оценки индивидуальной производительности."
---

# Еженедельный отчёт о PR

Пример инструкций для адаптации и оценки с помощью инструментов, доступных в среде агента. Этот файл не устанавливает коннекторы и не предоставляет доступ к учётной записи.

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

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

Используйте авторизованное чтение GitHub, доступное в текущей среде. Если эти операции недоступны, сообщите об отсутствующей возможности. Никогда не выдумывайте идентификаторы действий коннектора или полученные записи.

## Выбор и обобщение

- Включите объединённые PR, временные метки слияния которых попадают в запрошенное окно. Отличайте закрытые необъединённые записи от объединённой работы.
- Включайте отдельный снимок текущих открытых PR только по запросу, с пометкой времени получения. Не представляйте текущее состояние как историческое состояние.
- Получите все страницы результатов в пределах области, где это поддерживается. Раскрывайте недоступные записи, усечённые результаты или неудачные запросы; неполный запрос — это не запрос с нулевым результатом.
- Сохраняйте URL PR, номер, заголовок, автора, состояние и соответствующую временную метку. Обобщайте на основе описания PR и изменений, доступных инструменту.
- Описывайте влияние, развёртывание, блокеры и ответственных за следующие действия только тогда, когда это подтверждается доказательствами. Не считайте автора ответственным за следующее действие по умолчанию.
- Верните выбранную область, разделы отчёта, ссылки на источники и нерешённые вопросы. Согласуйте уровень детализации с предполагаемыми читателями.

## Необязательная запись в Notion

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

Проверьте наличие заголовка отчёта перед добавлением. Если отчёт уже существует и замена не авторизована, верните его местоположение и спросите, как поступить. Сохраняйте несвязанное содержимое.

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

Скачайте тот же weekly-pr-report SKILL.md, чтобы настроить его под поля вашей команды.

Три решения в этом файле стоит сохранить:

  1. Сфокусированное описание: Оно указывает, когда Навык полезен. Обнаружение и вызов зависят от среды агента.
  2. Явные правила отбора: Время слияния определяет, какие PR попадают в раздел выполненной работы.
  3. Определённый объём записи: Инструкции просят агента проверить существующее содержимое и соблюдать запрошенную операцию. Они направляют поведение; разрешения обеспечивают доступ.

Протестируйте граничные случаи перед внедрением

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

Тестовый сценарийОжидаемое поведение агента
Тихая неделя с 0 слитых PRСообщает о нуле после полного запроса; не выдумывает яркие события и не подтягивает старые PR.
PR, слитый на 1 минуту позже окнаИсключается из раздела слитых.
Закрытый, но не слитый PRИсключается из выполненной работы.
PR без описания (например, “bump version”)Резюмирует необработанное изменение и явно помечает влияние как недокументированное.
Целевой заголовок уже существует в NotionПроверяет существующий раздел и следует авторизованной операции; спрашивает, как поступить, если замена не была авторизована.
Недоступный репозиторий или страницаЧётко сообщает об отсутствующем разрешении, а не делает вид, что репозиторий пуст.

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

Поделитесь и автоматизируйте вместе с командой

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

  • Интерактивное использование: Коллеги могут вызывать его естественным образом в чате: “@Leina run weekly-pr-report for backend/api covering September 28 through October 4, 2026, in America/Los_Angeles. Return a draft here.”
  • Разрешения: Каждому коллеге нужно разрешение на использование подключения GitHub, а также подключения Notion при сохранении отчёта. Проверьте эти аккаунты в Подключениях.
  • Запланированные запуски: Запросите повторяющуюся задачу с её часовым поясом, отчётным периодом и местом доставки. Проверьте расписание, которое настроит Leina, и просмотрите его первый запланированный вывод. Сохранение Навыка не создаёт расписание.

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