Localizar um app costumava significar adicionar um SDK, configurar um provider e gerenciar chaves manualmente. Com agentes de código com IA, existe um caminho mais curto: instale uma skill, e o agente cuida da conexão. O globalize.now é uma infraestrutura de localização com IA distribuída como uma agent skill aberta. Você roda um único comando, seu agente lê o roteiro, e sua base de código ganha uma estrutura pronta para tradução sem que você precise manter uma nova engrenagem por conta própria.

O que é uma agent skill?

Uma agent skill é um pequeno pacote de instruções que um agente de código lê e executa. Ela é distribuída pelo ecossistema aberto de skills e instalada com a CLI de skills, por exemplo npx skills add owner/repo. O mesmo comando funciona no Claude Code, Cursor, Codex, OpenCode e mais de cinquenta outros agentes.

A própria skill é um arquivo SKILL.md mais quaisquer arquivos de apoio, e ela vai parar exatamente no diretório onde seu agente já procura por skills. A CLI a vincula a uma única cópia canônica e registra a instalação em um lockfile, então a skill fica versionada junto com o resto do seu projeto, em vez de ficar presa numa conta de fornecedor. Existe até um registro público, então uma skill é algo que você pode encontrar, ler e fixar em uma versão específica, como qualquer outra dependência.

A mudança que vale notar: uma skill não é um produto com o qual seu agente se integra. É conhecimento que o agente absorve e depois aplica ao seu código. Essa diferença aparece no exato momento em que você integra um novo colega de equipe. A pessoa clona o repositório, a skill já está lá, e o agente dela cuida da sua localização exatamente do mesmo jeito que o seu faz.

Por que distribuir i18n como uma skill em vez de um SDK?

Porque a parte difícil da internacionalização é a refatoração, e uma skill ensina seu agente a fazer isso por você. Um SDK parte do pressuposto de que seu código já está estruturado para tradução. Você ainda precisaria encontrar as strings fixas, desenhar um esquema de chaves, criar arquivos de idioma e conectar a biblioteca de runtime.

Apps construídos com IA pioram esse cenário, porque agentes de código otimizam para uma tela funcional, não para uma arquitetura de tradução. O resultado costuma ser correto e pronto para lançar, mas cheio de strings como <button>Submit order</button> em vez de uma chamada com chave. Multiplique isso por um projeto inteiro, e o trabalho de localização vira uma refatoração, não uma simples mudança de configuração.

Se deixado de lado, o problema se acumula. O mesmo rótulo acaba escrito de três formas ligeiramente diferentes, contagens aparecem como 1 messages, e na primeira vez que você adiciona um idioma, encontra telas metade em inglês, metade não. Uma skill é feita justamente para pegar tudo isso de uma vez, antes que vire uma centena de pequenos chamados de suporte.

Uma skill transforma essa refatoração em instruções que seu agente consegue executar. Ela detecta seu framework, confirma o runtime de i18n que você já usa, como next-intl ou i18next, extrai as strings em inglês e gera chaves e arquivos de idioma. Você não está importando um novo runtime para versionar e manter. A skill faz a configuração e depois sai do caminho.

Qual a diferença entre uma skill e um servidor MCP?

Um servidor MCP é um serviço que seu agente chama; uma skill é apenas arquivos dentro do seu projeto. O Model Context Protocol é uma boa forma de dar aos agentes ferramentas e dados em tempo real por meio de um servidor em execução. Mas um servidor é algo que você ou um fornecedor precisa hospedar, e seu agente depende de ele estar acessível.

Uma skill não tem nenhum serviço por trás. É texto e código que vai junto no seu repositório, funciona sem chamada de rede e aparece em um pull request como qualquer outra mudança. Para um trabalho de configuração pontual, como internacionalizar uma base de código, arquivos ganham de um serviço que você precisa manter no ar. Você lê o que a skill vai fazer, executa e revisa o diff.

Skills também se combinam entre si. Você pode instalar várias, e elas convivem lado a lado, porque cada uma é apenas instruções, não mais um processo para rodar e pagar.

Como o globalize.now se instala como uma agent skill?

Um comando, e o resto fica por conta do seu agente.

npx skills add globalize-now/globalize-skills --all

A flag --all instala todas as skills para todos os agentes na sua máquina, o que é a opção mais segura se você não tem certeza de qual agente está usando. A CLI coloca a skill do globalize.now exatamente onde o seu agente procura por skills. Funciona com o agente que você já usa, incluindo Claude Code e Cursor.

A partir daí, basta pedir ao seu agente para configurar o i18n, e ele segue o roteiro: detectar o framework, confirmar a biblioteca de runtime, encontrar as strings em inglês voltadas ao usuário e gerar chaves e arquivos de idioma. O antes e depois é a parte que os desenvolvedores reconhecem na hora.

// before
<button>Submit order</button>

// after
<button>{t("checkout.submit_order")}</button>

As chaves vão parar em arquivos de idioma que a skill cria e mantém para você:

/locales
  en.json
  de.json
  es.json
  fr.json

Seu arquivo em inglês é preenchido com as strings que o agente encontrou. Os demais idiomas são gerados e mantidos atualizados a cada push, então adicionar um novo mercado vira só mais um arquivo de idioma, não uma sprint inteira.

Depois da configuração, as traduções sincronizam a cada push no Git. Você não exporta nada, e não existe fila para limpar. Se você está fazendo vibe coding no seu app, isso já é o trabalho completo. Se você é um desenvolvedor que quer entender os detalhes, a mesma skill executa a refatoração de forma limpa e deixa você com arquivos de idioma padrão.

Minhas traduções ficam no meu repositório?

Sim. Os arquivos de idioma que a skill gera são commitados no seu repositório como qualquer outro arquivo-fonte. Essa é a parte que mais importa quando o assunto é dependência de fornecedor.

Algumas abordagens movem suas strings traduzidas para uma etapa de build ou um painel hospedado, então, no dia em que você for embora, sua camada de tradução vai junto. Com arquivos de idioma nativos do repositório, seus arquivos en.json, de.json e todo o resto são apenas arquivos comuns no seu projeto. A skill poderia desaparecer amanhã, e seu app continuaria publicando todo idioma que já suporta. Sair é simplesmente não instalar a skill de novo — não há nada para migrar, porque nada seu jamais esteve em outro lugar. É por isso que o globalize.now fica na camada de infraestrutura do seu stack, gerando as chaves e os arquivos de idioma, em vez de se sobrepor ao seu app.

O modelo de skill te prende a um fornecedor?

Não, e evitar essa dependência é justamente o motivo para preferi-lo. A skill é instalada a partir de um registro aberto que qualquer agente compatível consegue ler, não uma loja de plugins fechada. O resultado são arquivos de idioma padrão, no formato da biblioteca de runtime que você já escolheu, e não um formato proprietário que você teria que desmontar depois.

Você pode ler exatamente o que a skill faz antes de executá-la, porque é só um conjunto de arquivos. Se você quiser o passo a passo completo em vez do argumento em si, o guia como localizar um app gerado por IA cobre a mesma configuração do início ao fim.

O globalize.now transforma textos fixos do app em arquivos de locale prontos para tradução e os mantém atualizados a cada novo lançamento.

Experimente o globalize.now grátis