Создатель плагинов apollo router
Guide for writing Apollo Router native Rust plugins. Use this skill when: (1) users want to create a new router plugin, (2) users want to add service hooks (router_service, supergraph_service, execution_service, subgraph_service), (3) users want to modify an existing router plugin, (4) users need to understand router plugin patterns or the request lifecycle. (5) triggers on requests like
Что делает навык
Навык предоставляет руководство по созданию нативных плагинов для Apollo Router на языке Rust. Он позволяет внедрять кастомную логику обработки запросов на различных этапах жизненного цикла, используя сервисные хуки и паттерны Tower.
Когда применять
- Создание нового плагина для Apollo Router с нуля.
- Добавление сервисных хуков (router_service, supergraph_service, execution_service, subgraph_service) для обработки запросов.
- Модификация существующего плагина или изменение логики его работы.
- Изучение паттернов плагинов и жизненного цикла запроса в Apollo Router.
Как работает
- Создать файл плагина (например, src/plugins/my_plugin.rs) и подключить необходимые импорты из apollo_router и tower.
- Определить структуру конфигурации плагина с деривациями Deserialize и JsonSchema.
- Создать структуру плагина и реализовать трейт Plugin, включая метод new для инициализации.
- Реализовать необходимые сервисные хуки (например, supergraph_service), используя ServiceBuilder для трансформации запросов или ответов.
- Зарегистрировать плагин с помощью макроса register_plugin в конце файла.
- Добавить модуль плагина в src/plugins/mod.rs и включить его в конфигурационном YAML-файле.
Примеры запросов агенту
Что понадобится
- Среда разработки Rust (рекомендуется следовать best practices из навыка rust-best-practices).
Описание составлено по SKILL.md навыка, сверено 05.10.2026.
Как подключить
SKILL.md к навыкам ассистентаНавык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.