vtex-io-events-and-workers — скилл для Claude Code
Учит агента писать в VTEX IO обработчики событий и воркеры, которые переживают повторную доставку. Пригодится, когда тяжёлую работу пора вынести из HTTP-роутов.
npx skills add vtex/skills --skill vtex-io-events-and-workers -a claude-codeЧто делает vtex-io-events-and-workers
Скилл ведёт агента через асинхронную обработку в сервисах VTEX IO: обработчики событий, воркеры, фоновые задачи. Всё, что дорого, склонно к повторам или не обязано укладываться в один HTTP-ответ, он советует убирать из роутов. Исходное допущение простое: события могут прийти повторно.
Внутри правила и жёсткие ограничения с примерами на TypeScript. Обработчик, который пишет данные или зовёт внешний API без проверки «это уже сделано», скилл считает ошибкой и просит остановиться. Маркеры обработки лежат в VBase или Master Data. Данные берутся из тела события, а не из параметров роута и заголовков запроса. Сбой нельзя молча проглатывать: его записывают и пробрасывают дальше. События и воркеры объявляются в service.json, а для публикации событий приложению часто нужна политика colossus-fire-event в manifest.json.
Раскладка файлов: node/events/ с index.ts, catalog.ts, orders.ts и node/workers/sync.ts. В пакетной обработке статус пишется по каждому элементу, поэтому одна ошибка не прячет остальные результаты. HTTP-контракты, GraphQL-схемы, политики приложения и создание клиентов скилл не трогает.
Какие задачи решает
- вынести тяжёлую синхронизацию каталога из HTTP-роута
- не отправлять заказ партнёру дважды при повторной доставке события
- записывать статус по каждому элементу пакета, чтобы видеть, что упало
- хранить маркеры «уже обработано» в VBase или Master Data
- публиковать события другим приложениям без самодельных HTTP-колбэков
Примеры запросов агенту
- Напиши обработчик события создания заказа для VTEX IO так, чтобы повторная доставка не слала заказ партнёру второй раз
- Вынеси синхронизацию каталога из роута в воркер и пропиши его в
service.json - Проверь мои обработчики событий в
node/events/на идемпотентность и проглоченные ошибки
Как установить vtex-io-events-and-workers
1Через Skills CLI (Vercel)
npx skills add vtex/skills --skill vtex-io-events-and-workers -a claude-code2Вручную: положить файлы
~/.claude/skills/vtex-io-events-and-workers/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/vtex-io-events-and-workers/
1Через Skills CLI (Vercel)
npx skills add vtex/skills --skill vtex-io-events-and-workers -a codex2Вручную: положить файлы
.agents/skills/vtex-io-events-and-workers/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add vtex/skills --skill vtex-io-events-and-workers -a cursor2Вручную: положить файлы
.cursor/skills/vtex-io-events-and-workers/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install vtex/skills vtex-io-events-and-workers2Вручную: положить файлы
.github/skills/vtex-io-events-and-workers/SKILL.md1Через Skills CLI (Vercel)
npx skills add vtex/skills --skill vtex-io-events-and-workers -a gemini-cli2Командой платформы
gemini skills install https://github.com/vtex/skills --path skills/vtex-io-events-and-workersВручную: положить файлы
.devin/skills/vtex-io-events-and-workers/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add vtex/skills --skill vtex-io-events-and-workers -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о vtex-io-events-and-workers
Как установить vtex-io-events-and-workers в Claude Code?
Выполните npx skills add vtex/skills --skill vtex-io-events-and-workers -a claude-code. Файл скилла окажется в ~/.claude/skills/vtex-io-events-and-workers/SKILL.md.
Что делает vtex-io-events-and-workers?
Подсказывает агенту, как строить в VTEX IO обработчики событий и воркеры: с защитой от дублей, явной записью сбоев и без привязки к данным HTTP-запроса. Тяжёлую работу он выносит из роутов.
Нужна ли политика в manifest.json для публикации событий?
Приложению, которое публикует события через шину VTEX IO, часто нужна политика colossus-fire-event. Остальные политики добавляют, только если приложение обращается к соответствующим защищённым ресурсам.