AgentStack
SKILL verified MIT Self-run

I18n

skill-helderberto-agent-skills-i18n · by helderberto

Audit internationalization coverage and find hardcoded strings. Use when user asks to "check i18n", "/i18n", "find hardcoded strings", "check translations", or wants to verify translation coverage. Don't use for backend string extraction, non-frontend code, or projects without an i18n library.

No reviews yet
0 installs
18 views
0.0% view→install

Install

$ agentstack add skill-helderberto-agent-skills-i18n

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of I18n? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

i18n Audit

Detection

Read package.json for i18n library:

  • react-i18next / i18next
  • next-intl
  • vue-i18n
  • react-intl (FormatJS)

Read locale files to understand key structure (e.g. src/locales/en.json).

Workflow

  1. Detect i18n library and locale file locations
  2. Search JSX/TSX/Vue files for hardcoded user-facing strings (see [patterns.md](references/patterns.md)):
  • String literals in JSX: Hello world
  • String props: placeholder="Search...", label="Submit"
  • aria-label="Close menu"
  1. Compare locale files — find missing keys between locales
  2. Report findings

Output format

Hardcoded strings (file:line):

src/components/Header.tsx:12  "Welcome back"  → suggest key: header.welcomeBack
src/components/Form.tsx:34    placeholder="Search..."  → suggest key: form.searchPlaceholder

Missing translations (key present in base locale but absent in others):

Key: dashboard.emptyState  missing in: pt-BR, es
Key: errors.networkTimeout  missing in: pt-BR

Rules

  • Only flag user-visible strings (skip internal IDs, CSS classes, URLs, enum values)
  • Suggest translation key names in camelCase matching project convention
  • Never auto-modify locale files — report only

Error Handling

  • If no i18n library detected → report project may not use i18n; still list any hardcoded strings found
  • If no locale files found → skip missing-key comparison; only report hardcoded strings
  • If locale files are not JSON (e.g. .po, .yaml) → read them anyway and adapt key comparison logic

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.