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/contentrain/ai/contentrain-translatenpx skills add Contentrain/ai --skill contentrain-translategit clone --depth 1 https://github.com/Contentrain/aiWrote 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/contentrain/ai/contentrain-translate)<a href="https://agentmods.dev/skills/contentrain/ai/contentrain-translate"><img src="https://agentmods.dev/badge/skills/contentrain/ai/contentrain-translate.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 | $0.00029 | $0.01623 |
| Opus 5 | $0.00015 | $0.00812 |
| Sonnet 5 | $0.00006 | $0.00325 |
| Haiku 4.5 | $0.00003 | $0.00162 |
Grade A, and why
contentrain-translate 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 5d 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 — 196 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skill: Translate Content to a New Locale
Translate existing content entries to a target locale, following i18n quality rules.
When to Use
The user wants to translate content, add a new language, or says something like "translate to Turkish", "add German locale", "create French translations", "fill in missing translations", "localize".
Steps
1. Check Project State
Call contentrain_status to understand:
- Supported locales (from
config.json→locales.supported). - Source locale (from
config.json→locales.source). - Available models and their i18n status.
- Any pending changes or validation errors.
2. Determine Target Locale
If the user specified a locale, use it. Otherwise:
- Ask which locale to translate to.
- If the target locale is not in
locales.supported, inform the user it needs to be added to the configuration first.
3. Select Models to Translate
Identify which models need translation:
- List all models with
i18n: true. - For each model, call
contentrain_content_list(model: "<modelId>", locale: "<sourceLocale>")to get the source content. - Check which models already have entries in the target locale by calling
contentrain_content_list(model: "<modelId>", locale: "<targetLocale>"). - Report the translation gap: how many entries exist in the source locale but not the target.
Ask the user which models to translate, or offer to translate all models with missing entries.
4. Load Vocabulary
Read .contentrain/vocabulary.json for canonical term translations. All vocabulary-defined terms must use the exact translation specified for the target locale — do not create alternative translations.
5. Translate Following i18n Rules
Apply the rules from i18n-quality.md during translation:
Translation Quality
- Translate meaning, not words. Produce idiomatic text in the target language.
- Match the sentence structure of the target language, not the source.
- Preserve the tone: if the source is casual, the translation must be casual. If formal, stay formal.
- Fix any machine-translation artifacts: literal translations, incorrect gender agreement, wrong register.
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.
- 5d ago First seen · 196 lines · 29 tokens per session scan A 40f245888bdf
contentrain-translate is a skill published in the GitHub repository Contentrain/ai (4 stars, last pushed yesterday), licensed MIT. It adds 29 tokens to every session and 1,623 once invoked, about $0.0001 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-08-31.
Other skills, from other repositories
chinese-documentation
中文文档排版参考——中英文空格、全半角标点、术语保留、链接格式、中文文案排版指北约定。仅在用户显式 /chinese-documentation 时调用,不要根据上下文自动触发。.
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…
speak-human-tw
「說人話」:繁體中文的去 AI 味改寫 skill。審查與改寫文字,去除 AI 味道、校正中國用語與半形標點,讓文字讀起來像真人寫的。 觸發時機:用戶說「去 AI 味」「說人話」「這段好 AI」「改自然一點」「幫我潤稿去掉 AI 感」「校對一下再發」,或要求檢查電子報、社群貼文、銷售頁、課程文案、客服回信、簡報、公告、Email 等對外文字的語感。 不要觸發:逐字翻譯、模仿特定品牌 voice、事實查核(非風格問題)、程式碼/log/設定檔、要求「潤成雷蒙的語氣」(那是 content-writing skill 的事,本 skill 只去 AI 味、不加個人風格)。.
inclusive-design
Use when working on inclusion, i18n/localization, global name/address forms, low-end devices, slow/metered networks, affordability, or first-time/low-confidence users; not WCAG/screen readers (see accessibility).
video-translate
Translate and dub existing videos into multiple languages using HeyGen. Use when: (1) Translating a video into another language, (2) Dubbing video content with lip-sync, (3) Creating multi-language versions of existing videos, (4) Audio-only translation without lip-sync, (5) Working with HeyGen's /v2/videotranslate…
unreal-plugin-localization
翻译 UE 插件本地化 PO 文件。当用户要求本地化、翻译或国际化 Unreal Engine 插件时使用。 处理 GatherText 采集、PO 导出、AI 翻译、PO 导入和 locres 编译的完整流程。.