Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add globalize-now/globalize-skills --skill lovable-i18ngit clone --depth 1 https://github.com/globalize-now/globalize-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/globalize-now/globalize-skills/lovable-i18n)<a href="https://agentmods.dev/skills/globalize-now/globalize-skills/lovable-i18n"><img src="https://agentmods.dev/badge/skills/globalize-now/globalize-skills/lovable-i18n/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/globalize-now/globalize-skills/lovable-i18n"><img src="https://agentmods.dev/badge/skills/globalize-now/globalize-skills/lovable-i18n.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00131 | $0.22163 |
| Opus 5 | $0.00066 | $0.11081 |
| Sonnet 5 | $0.00026 | $0.04433 |
| Haiku 4.5 | $0.00013 | $0.02216 |
Grade B, and why
lovable-i18n scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Unrestricted tool accessmediumExcessive agency
A wildcard tool grant or "run any command" leaves no least-privilege boundary at all.
You know whether GitHub is connected from your Lovable project context — you don't need to read a file or run any command to tell. *(If you genuinely can't determine it from your context, ask the user to confirm before c Copies of this mod
1 near-identical copy found in the catalogue:
- lovable-i18n — 91% identical, 180 lines differ
How it starts
The opening of the file, as written. The whole thing — 1,551 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Lovable i18n with Lingui
You are the Lovable agent working on one project. You cannot run terminal commands — no npm, no lingui CLI, no git. You can edit files, add npm dependencies, and read preview build errors and console logs. Everything below is designed around that.
Three consequences of that design, worth internalizing before you start:
- You never run
lingui compile.@lingui/vite-plugincompiles.pocatalogs at build time, when the app dynamically imports them. The preview build is the compiler. - You never run
lingui extract. A GitHub Actions workflow (Phase 5) runs extraction in CI after Lovable syncs commits to GitHub. Until that lands, you maintain.pofiles by hand, following the catalog maintenance protocol later in this skill. - You scaffold catalogs yourself. Since nothing can run the CLI here, you create the
messages.pofiles directly, with valid PO headers (step A7).
The library is Lingui v6, with one PO catalog per locale at src/locales/{locale}/messages.po.
Because the whole pipeline — the catalog-sync workflow (Phase 5) and the Globalize.now hand-off (Phase 6) — runs through GitHub, this skill confirms GitHub is connected before doing anything, and stops until it is. See Prerequisite: GitHub connection below.
One thing the terminal limit does not block: connecting Globalize. Once the user adds the Globalize MCP connector (Phase 6), you create the project and link the repo yourself, right here in the chat — no leaving Lovable. A paste-ready fallback covers anyone who'd rather not add the connector.
Phases
| Phase | What happens |
|---|---|
| 1.1 Detect | Identify the project stack (Vite SPA or TanStack Start) and any existing i18n |
| 1.2 Ask | One chat message collecting source locale, target locales, URL routing, opt-ins |
| 2A / 2B Setup | Add dependencies, build config, i18n.ts, provider, catalogs, formatters module, language switcher |
| 3 Rules | Add Lingui coding rules to AGENTS.md so every future edit stays localized |
| 4 Wrap | Wrap the app's existing hardcoded strings in Lingui macros |
| 5 CI | Add a GitHub Action that runs lingui extract and keeps catalogs in sync |
| 6 Connect | Connect Globalize.now (default) — create the project + link the repo via the Globalize MCP |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 1,551 lines · 131 tokens per session scan B de046ad39a2b
lovable-i18n is a skill published in the GitHub repository globalize-now/globalize-skills (3 stars, last pushed 3d ago), licensed MIT. It adds 131 tokens to every session and 22,163 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it B with 1 finding (unrestricted tool access). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
extract-source-sample
Given the path to a finished content-goose ad-run folder, extract everything that defines that ad — recipe shot list, VO script, characters, voices, world, atom-skills, master mp4 — and emit a source-sample.json in the exact shape the upload-ad-sample skill writes to the Goose Ads library. Also links every character…
nextjs-locale-monorepo
Add locale-prefixed i18n routing across a Next.js monorepo (Turborepo / pnpm workspaces) by extracting the engine into a shared workspace package that every app consumes — locale detection + a middleware/proxy factory + a use client LocaleProvider/hooks, plus a shared supportedLanguages config. Each app redirects /…
nextjs-locale-standalone
Add locale-prefixed i18n routing to a single (non-monorepo) Next.js App Router site — a middleware/proxy that redirects / and any unprefixed path to / /… using the locale toggle's last choice (the NEXTLOCALE cookie) then the browser's Accept-Language, a [locale] layout with a LocaleProvider + hooks, and a LocaleToggle…
thai-resume
Use this skill for any task involving Thai-language or bilingual (TH/EN) resumes and CVs. Trigger whenever the user asks to: write a Thai resume, draft a CV in Thai, build a bilingual Thai-English resume, format an application for a Thai employer, choose between พ.ศ. and ค.ศ. dates in a CV, or tailor a resume for…
thai-text-processing
Use this skill for any task involving Thai text in code — word segmentation, Unicode normalization, sorting/collation, search indexing, romanization, truncation, or database/Elasticsearch configuration for Thai. Trigger whenever the user asks to: tokenize / segment Thai (no spaces between words), normalize Thai text…
thai-address
Use this skill for any task involving Thai postal address parsing, validation, formatting, or province/postcode lookup. Trigger whenever the user asks to: parse a Thai address into fields, validate a 5-digit Thai postcode, look up a province from its postcode, or format an address for a shipping label. Also trigger…