article-translator
Translate long-form articles and prose between languages while preserving the author's voice, structure, and formatting.
Install
$ curl -fsSL https://raw.githubusercontent.com/Osipchuk/agent-skills/main/install.sh | sh -s -- article-translator One line, works with any agent — installs just this skill into ~/.claude/skills/. Needs only curl; it fetches uv and the askill CLI if they're missing.
$ /plugin marketplace add Osipchuk/agent-skills
$ /plugin install skills@askill Two slash commands inside Claude Code — installs the whole library as one plugin and lets Claude pick the right skill by context. No permission prompts, no remote-code-execution dance.
Installs skills/article-translator/SKILL.md into
~/.claude/skills/article-translator/; Claude reads it on the next
session start. The plugin tab pulls the whole library instead.
When it fires
Fires when you ask to translate, localize, or "give me in [language]" any prose longer than a few paragraphs — articles, essays, posts, threads. Not for single sentences, UI strings, or code-only inputs.
name: article-translator
description: Translate articles, essays, blog posts, threads, and other longer-form prose between any pair of languages while preserving the author's voice, register, and rhetorical structure. Use this whenever the user asks to translate, localize, render, or "give me in [language]" any text longer than a few paragraphs — news articles, op-eds, essays, blog posts, longreads, newsletters, technical writeups, conference transcripts, Twitter/X threads, or non-fiction excerpts. Trigger even when the user does not say the word "translate" explicitly — for example "I need this in English for our investors", "rewrite this for a Russian audience", or "make this readable to a German reader" all count. Do not use for single sentences, UI strings, code-only inputs, or short slogans — those are too small to benefit from this workflow.
What it does
- — Builds a glossary first, so names and domain terms stay consistent across a long text.
- — Translates in paragraph-sized units to preserve argument flow and the author's voice.
- — Writes the result to a sibling file and summarizes the judgment calls in chat.