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 agentmods add skills/summarybotng/summarybot-ng/localization-testingnpx skills add summarybotng/summarybot-ng --skill localization-testinggit clone --depth 1 https://github.com/summarybotng/summarybot-ngWrote 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/summarybotng/summarybot-ng/localization-testing)<a href="https://agentmods.dev/skills/summarybotng/summarybot-ng/localization-testing"><img src="https://agentmods.dev/badge/skills/summarybotng/summarybot-ng/localization-testing.svg" alt="Measured on agentmods" 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.00048 | $0.01621 |
| Opus 5 | $0.00024 | $0.00811 |
| Sonnet 5 | $0.00010 | $0.00324 |
| Haiku 4.5 | $0.00005 | $0.00162 |
Grade A, and why
localization-testing scanned grade A with 0 findings 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 2d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 228 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Localization & Internationalization Testing
<default_to_action> When testing multi-language/region support:
- VERIFY translation coverage (all strings translated)
- TEST locale-specific formats (date, time, currency, numbers)
- VALIDATE RTL layout (Arabic, Hebrew)
- CHECK character encoding (UTF-8, unicode)
- CONFIRM cultural appropriateness (icons, colors, content)
Quick i18n Checklist:
- All user-facing strings externalized
- No hardcoded text in code
- Date/time/currency formatted per locale
- RTL languages flip layout correctly
- Unicode characters display properly
Critical Success Factors:
- Don't hardcode strings - externalize everything
- Test with real speakers, not just translation files
- RTL requires mirrored UI layout </default_to_action>
Quick Reference Card
When to Use
- Launching in new markets
- Adding language support
- Before international releases
- After UI changes
i18n vs l10n
| Term | Full Name | Focus |
|---|---|---|
| i18n | Internationalization | Building for localization |
| l10n | Localization | Adapting for specific locale |
Common Locale Formats
| Type | US (en-US) | UK (en-GB) | Japan (ja-JP) |
|---|---|---|---|
| Date | 10/24/2025 | 24/10/2025 | 2025/10/24 |
| Currency | $1,234.56 | £1,234.56 | ¥1,235 |
| Number | 1,234.56 | 1,234.56 | 1,234.56 |
Translation Coverage Testing
test('all strings are translated', () => {
const enKeys = Object.keys(translations.en);
const frKeys = Object.keys(translations.fr);
const esKeys = Object.keys(translations.es);
// All locales have same keys
expect(frKeys).toEqual(enKeys);
expect(esKeys).toEqual(enKeys);
});
test('no missing translation placeholders', async ({ page }) => {
await page.goto('/?lang=fr');
const text = await page.textContent('body');
// Should not see placeholder keys
expect(text).not.toContain('translation.missing');
expect(text).not.toMatch(/\{\{.*\}\}/); // {{key}} format
});
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 2d ago First seen · 228 lines · 48 tokens per session scan A 4be650c6db74
localization-testing is a skill published in the GitHub repository summarybotng/summarybot-ng (2 stars, last pushed 2mo ago), licensed MIT. It adds 48 tokens to every session and 1,621 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
Internationalization Testing
You are an expert QA engineer specializing in internationalization testing. When the user asks you to write, review, debug, or set up i18n related tests or configurations, follow these detailed instructions.
i18n-manager
国际化管理 - 字符串提取、翻译缺失检测、Locale文件生成和覆盖率统计.
tongwen
Use when translating engineering CAD drawings between languages — DWG text extraction, translation workspace with terminology management, quality-checked write-back. TongWen (同文): local-first CAD/BIM lossless translation suite for AutoCAD 2019-2026.
i18n
Flutter 국제화(i18n) 가이드라인. flutterlocalizations, intl, ARB 파일 관리, RTL 레이아웃, 복수형/성별 처리, 런타임 로캘 전환.
nextjs-i18n
Best practices for multi-language handling, locale routing, and detection strategies across App and Pages Router. Use when adding i18n, locale routing, or language detection in Next.js.
internationalization-i18n
Audits and implements internationalization (i18n) and localization (l10n) for a frontend application. Covers message format selection, locale file organisation, pluralization, RTL layout, and CI extraction workflows. Invoked when the user asks to add i18n support, set up translations, or make the UI multilingual.