Как превратить рабочую задачу ИИ в переиспользуемый навык
Превратите одноразовый промпт в переиспользуемый 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, чтобы настроить его под поля вашей команды.
Три решения в этом файле стоит сохранить:
- Сфокусированное описание: Оно указывает, когда Навык полезен. Обнаружение и вызов зависят от среды агента.
- Явные правила отбора: Время слияния определяет, какие PR попадают в раздел выполненной работы.
- Определённый объём записи: Инструкции просят агента проверить существующее содержимое и соблюдать запрошенную операцию. Они направляют поведение; разрешения обеспечивают доступ.
Протестируйте граничные случаи перед внедрением
Прежде чем делиться Навыком с командой, запустите его на другой неделе или репозитории и сравните результат с исходными записями. Попробуйте следующие случаи:
| Тестовый сценарий | Ожидаемое поведение агента |
|---|---|
| Тихая неделя с 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, и просмотрите его первый запланированный вывод. Сохранение Навыка не создаёт расписание.
Поделитесь проверенным файлом с необходимыми ему Приложениями, образцом отчёта и версией или датой редакции. Когда команда меняет правила отчётности, обновите этот файл и проверьте ещё один запуск.