libretranslate-markdown-i18n

libretranslate-markdown-i18n is a skill for Claude Code, Codex from pedroiff0/awesome-skills. It costs 127 tokens per session (4,866 once invoked), scanned A, original, MIT.

A guide for machine-translating Markdown, Obsidian notes, and Quartz sites with LibreTranslate while preserving document structure and links.

In plain words
What is it for?
Use it to translate a notes vault, documentation site, or Markdown content into another language while keeping its original structure.
Why use it?
It prevents translation from damaging headings, frontmatter, formatting, emojis, embedded notes, and internal or external links.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to translate a notes vault, documentation site, or Markdown content into another language while keeping its original structure.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/pedroiff0/awesome-skills/libretranslate-markdown-i18n
Install

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.

Any agent
npx skills add pedroiff0/awesome-skills --skill libretranslate-markdown-i18n
Clone the repo
git clone --depth 1 https://github.com/pedroiff0/awesome-skills

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for libretranslate-markdown-i18n

README.md
[![agentmods](https://agentmods.dev/badge/skills/pedroiff0/awesome-skills/libretranslate-markdown-i18n/github.svg)](https://agentmods.dev/skills/pedroiff0/awesome-skills/libretranslate-markdown-i18n)
Your own site
<a href="https://agentmods.dev/skills/pedroiff0/awesome-skills/libretranslate-markdown-i18n"><img src="https://agentmods.dev/badge/skills/pedroiff0/awesome-skills/libretranslate-markdown-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.

agentmods 80×15 button for libretranslate-markdown-i18n

Your own site · 80×15
<a href="https://agentmods.dev/skills/pedroiff0/awesome-skills/libretranslate-markdown-i18n"><img src="https://agentmods.dev/badge/skills/pedroiff0/awesome-skills/libretranslate-markdown-i18n.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 127 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,866 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00127 $0.04866
Opus 5 $0.00063 $0.02433
Sonnet 5 $0.00025 $0.00973
Haiku 4.5 $0.00013 $0.00487

Measured 11d ago against content hash 784ad7ce83de, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

libretranslate-markdown-i18n scanned grade A 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.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/translate_markdown.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- Wait for `curl -s -o /dev/null -w '%{http_code}' http://localhost:5000/` -> `200`.
skills/content-i18n/libretranslate-markdown-i18n/SKILL.md · 224 lines

How it starts

The opening of the file, as written. The whole thing — 224 lines — stays where its author put it; the contents beside it link to each section on GitHub.

LibreTranslate Markdown i18n

Self-host LibreTranslate (Docker) and translate Markdown/Obsidian content while keeping the markup intact. The naive approach — sending raw Markdown to the MT engine — corrupts the output: emojis vanish or get "translated" into words, #/## headings get rewritten, **bold** grinds into the text, and Obsidian ![[embed]] wikilinks turn into garbage ("Chapitre 1"). This skill encodes the protection technique that makes it safe.

When to use

  • "Translate this vault / these notes / the pt-br content into en/es/fr"
  • Building i18n for a Quartz site, Obsidian publish, or static Markdown docs
  • Any MT task where the source is Markdown with frontmatter and/or wikilinks

1. Stand up LibreTranslate (Docker)

docker run -d --name libretranslate -p 5000:5000 \
  -e LT_LOAD_ONLY=pt,en,es,fr \
  -e LT_UPDATE=false \
  libretranslate/libretranslate:latest
  • LT_LOAD_ONLY limits downloaded models (faster first start; ~1-2 min to HTTP 200).
  • LT_UPDATE=false stops it phoning home for updates.
  • Wait for curl -s -o /dev/null -w '%{http_code}' http://localhost:5000/ -> 200.
  • Translation endpoint: POST http://localhost:5000/translate with form fields q, source, target, format=text.

2. The protection technique (CORE)

Never send raw Markdown. Per line:

  1. Split frontmatter (---...---) and preserve it verbatim, EXCEPT you MAY translate the display-only fields title and description per language (see 3c). Never translate slug/aliases/URL-bearing fields — those must stay IDENTICAL across languages so the language toggle keeps working. Preserve YAML key order and formatting where possible.
  2. Separate block prefix from text. A heading/list/callout line like ## 🗓️ Sobre o evento must be split into prefix ## 🗓️ (markup + adjacent emoji) and text Sobre o evento. Translate ONLY the text. The MT engine must never see ## or the emoji.
    • Regex for the prefix: ^(?:#{1,6}\s+|>\s*|[-*]\s+|\d+\.\s+|!\s*)?<EMOJI_CLASS>* where EMOJI_CLASS covers U+1F000–U+1FAFF, U+2600–U+27BF, U+2190–U+21FF, U+2B00–U+2BFF, U+FE00–U+FE0F, U+2700–U+27BF, \u200d, \u20e3.
  3. Wikilinks never reach the MT engine. Extract !?\[\[[^\]]+\]\] from the text and keep them literal (split the line on them, translate only the text between). Do NOT use a placeholder for wikilinks — the engine sometimes deletes long wikilinks entirely.
  4. Bold/italic/internal links (**[...]**, *[...]*, [anchor](pt-br/...)) use a placeholder §N§ (see pitfalls).
  5. Rejoin prefix + translated text. Guarantee one space after a heading/emoji prefix if the engine dropped it. Strip a leading - /# /* the engine may inject at line start.

Read the full file on GitHub · 224 lines

Files

What ships with it

6 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.

Changes

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.

  1. 11d ago First seen · 224 lines · 127 tokens per session scan A 784ad7ce83de

Subscribe to this mod's changes

libretranslate-markdown-i18n is a skill published in the GitHub repository pedroiff0/awesome-skills (1 stars, last pushed 3d ago), licensed MIT. It adds 127 tokens to every session and 4,866 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

dx-roaster

Brutally honest developer-experience audit for a GitHub repo. Scores 10 DX dimensions (time-to-first-success, README clarity, visual proof, install, quick-start, docs, examples, community, trust, marketing), writes a shareable roast in the requested tone (brutal/honest/kind), produces a prioritized action plan ranked…

Varnan-Tech/opendirectory · 130 tokens

macos-storage-management

Safely reclaim local Mac storage without mistaking cloud placeholders for resident data, losing File Provider content, or flattening metadata onto an incompatible external filesystem.

AtlasOmnia/donna-starter · 22 tokens

vault-organization

Audit and reorganize the user's Obsidian vault. Run when asked to organize, clean up, or audit the vault structure — or to set up a sensible structure for a new/empty vault.

AtlasOmnia/donna-starter · 57 tokens

session-artifact-indexing

Use this skill when a session creates or references several documents, trackers, plans, templates, source links, or skills that the user may need later.

AtlasOmnia/donna-starter · 36 tokens

SoloFlow

A meta-skill that silently watches your workflows and automatically generates reusable Hermes skills from them.

SonicBotMan/SoloFlow · 21 tokens

kill-the-standup

Reads yesterday's Linear issues and GitHub commits for the authenticated user, formats a standup update (done / doing / blockers), and posts it to Slack. Use when asked to write a standup, generate a standup update, post to the standup channel, summarize yesterday's work, or automate the daily standup. Trigger when a…

Varnan-Tech/opendirectory · 108 tokens