vtex-io-auth-tokens-and-context — скилл для Claude Code: выбор токена
Помогает решить, какой токен VTEX IO должен стоять за запросом из бэкенд-приложения: приложение, покупатель или админ.
npx skills add vtex/skills --skill vtex-io-auth-tokens-and-context -a claude-codeЧто делает vtex-io-auth-tokens-and-context
Скилл включается, когда главный вопрос — какая идентичность аутентифицирует запрос к сервисам VTEX. Он разбирает три варианта: ctx.authToken для операций уровня приложения, ctx.storeUserAuthToken для витрины и действий покупателя, ctx.adminUserAuthToken для запросов из админки, где важны права роли в License Manager.
Внутри — правила выбора и таблица соответствия токенов контексту, а также жёсткие ограничения с примерами кода на TypeScript. Если запрос инициировал покупатель или админ, скилл требует брать пользовательский токен, а не токен приложения. Клиенты VTEX, принимающие authMethod, получают выбор токена явно. При обёртке своих клиентов токен передаётся из IOContext на границе клиента, а не хардкодится в обработчиках.
Токен ADMIN_TOKEN с ctx.adminUserAuthToken должен оставаться только на сервере: его нельзя отдавать или проксировать в браузер. Логировать сырые токены и возвращать их в ответах тоже нельзя. Скилл не занимается политиками в manifest.json, маршрутной авторизацией и выбором между ExternalClient и JanusClient — это отдельные задачи.
Какие задачи решает
- выбрать токен для запроса из витрины, не завышая права до уровня приложения
- решить, какой идентичностью клиент VTEX обращается к эндпоинту из админки
- убрать хардкод
appKeyиappTokenиз кода VTEX IO приложения - проверить, не утекает ли админский токен в браузерный клиент
- передать токен из
IOContextпри обёртке собственного клиента
Примеры запросов агенту
- Какой токен ставить в заголовок клиента, если запрос пришёл из витрины?
- Проверь мой
OmsClient: тут должен бытьctx.storeUserAuthTokenилиctx.authToken? - Замени хардкод
appKeyиappTokenна токен изIOContext
Как установить vtex-io-auth-tokens-and-context
1Через Skills CLI (Vercel)
npx skills add vtex/skills --skill vtex-io-auth-tokens-and-context -a claude-code2Вручную: положить файлы
~/.claude/skills/vtex-io-auth-tokens-and-context/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/vtex-io-auth-tokens-and-context/
1Через Skills CLI (Vercel)
npx skills add vtex/skills --skill vtex-io-auth-tokens-and-context -a codex2Вручную: положить файлы
.agents/skills/vtex-io-auth-tokens-and-context/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add vtex/skills --skill vtex-io-auth-tokens-and-context -a cursor2Вручную: положить файлы
.cursor/skills/vtex-io-auth-tokens-and-context/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install vtex/skills vtex-io-auth-tokens-and-context2Вручную: положить файлы
.github/skills/vtex-io-auth-tokens-and-context/SKILL.md1Через Skills CLI (Vercel)
npx skills add vtex/skills --skill vtex-io-auth-tokens-and-context -a gemini-cli2Командой платформы
gemini skills install https://github.com/vtex/skills --path skills/vtex-io-auth-tokens-and-contextВручную: положить файлы
.devin/skills/vtex-io-auth-tokens-and-context/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add vtex/skills --skill vtex-io-auth-tokens-and-context -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о vtex-io-auth-tokens-and-context
Как установить vtex-io-auth-tokens-and-context в Claude?
Выполните npx skills add vtex/skills --skill vtex-io-auth-tokens-and-context -a claude-code. После этого файл скилла окажется в ~/.claude/skills/vtex-io-auth-tokens-and-context/SKILL.md.
Что делает vtex-io-auth-tokens-and-context?
Помогает выбрать между ctx.authToken, ctx.storeUserAuthToken и ctx.adminUserAuthToken для запроса из бэкенд-приложения VTEX IO. Отдельно разбирает authMethod и передачу токена на границе клиента.
Чем этот скилл не занимается?
Политиками в manifest.json, авторизацией на уровне маршрутов и выбором между ExternalClient и JanusClient. Для этого есть другие скиллы.