vtex-io-messages-and-i18n — Claude Code skill for VTEX IO i18n
Keeps user-facing copy in the VTEX IO messages infrastructure instead of hardcoded strings in JSX and resolvers.
npx skills add vtex/skills --skill vtex-io-messages-and-i18n -a claude-codeWhat vtex-io-messages-and-i18n does
Reach for this skill when a VTEX IO app has to show translated text. It walks through the messages builder, the /messages/*.json files, context.json, message usage on the frontend, and the way an app hooks into vtex.messages for translation at runtime.
The skill ships decision rules plus hard constraints. Message keys stay app-scoped and declared up front rather than invented inside components. Storefront keys get a store/... prefix, Admin and Site Editor keys get admin/.... In context.json they sit as a flat messageId -> description map. On the backend and in GraphQL, translate only where the app boundary genuinely needs localized output.
Translation files are not a config store. Put an API URL, a credential or a business rule in there and the skill stops you, pointing to app settings or a content-specific mechanism instead. Keep a full en.json around as the fallback even if most users speak another language, so message resolution has a stable base.
What it helps with
- move button labels and headings out of JSX into message files
- declare message keys in
context.jsonwithout duplicates - separate storefront and admin keys with prefixes
- keep configuration and secrets out of translation files
- wire app translations into
vtex.messages
Example prompts for the agent
- Check that every user-facing string in this component comes from messages, not from literals
- Add the key
admin/my-app.savetocontext.jsonanden.json - Review the resolvers and tell me where translation belongs at the app boundary and where plain data is enough
How to install vtex-io-messages-and-i18n
1Skills CLI (Vercel)
npx skills add vtex/skills --skill vtex-io-messages-and-i18n -a claude-code2Manually: put the files in place
~/.claude/skills/vtex-io-messages-and-i18n/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/vtex-io-messages-and-i18n/
1Skills CLI (Vercel)
npx skills add vtex/skills --skill vtex-io-messages-and-i18n -a codex2Manually: put the files in place
.agents/skills/vtex-io-messages-and-i18n/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add vtex/skills --skill vtex-io-messages-and-i18n -a cursor2Manually: put the files in place
.cursor/skills/vtex-io-messages-and-i18n/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install vtex/skills vtex-io-messages-and-i18n2Manually: put the files in place
.github/skills/vtex-io-messages-and-i18n/SKILL.md1Skills CLI (Vercel)
npx skills add vtex/skills --skill vtex-io-messages-and-i18n -a gemini-cli2Platform CLI
gemini skills install https://github.com/vtex/skills --path skills/vtex-io-messages-and-i18nManually: put the files in place
.devin/skills/vtex-io-messages-and-i18n/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add vtex/skills --skill vtex-io-messages-and-i18n -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about vtex-io-messages-and-i18n
How do I install vtex-io-messages-and-i18n in Claude Code?
Run npx skills add vtex/skills --skill vtex-io-messages-and-i18n -a claude-code. The skill file lands at ~/.claude/skills/vtex-io-messages-and-i18n/SKILL.md.
What does vtex-io-messages-and-i18n do?
It guides localization in VTEX IO apps through the messages builder: file layout, key naming rules, and integration with vtex.messages.
Can message files hold app configuration?
No. The skill limits them to localized copy and sends API URLs, credentials and business rules to app settings or a dedicated mechanism.