Multi-Language Translator

Translator

by JimLiu · MIT license · ★ 26,555 on GitHub · v1.117.3

Translator cover

This skill should be used when the user asks to "translate", "翻译", "精翻", "translate article", translate to Chinese", "translate to English", "改成中文", "改成英文", "convert to Chinese", localize", "本地化", "refined translation", "精细翻译",…

---
name: baoyu-translate
description: >-
  This skill should be used when the user asks to "translate", "翻译", "精翻", "translate article",
  "translate to Chinese", "translate to English", "改成中文", "改成英文", "convert to Chinese",
  "localize", "本地化", "refined translation", "精细翻译", "proofread translation", "快速翻译", "快翻",
  "这篇文章翻译一下", or provides a URL/file with translation intent. Supports three modes
  (quick/normal/refined) with custom glossary support.
version: 1.117.3
metadata:
  openclaw:
    homepage: https://github.com/JimLiu/baoyu-skills#baoyu-translate
    requires:
      anyBins:
        - bun
        - npx
---

Overview

Three-mode translation skill: quick for direct translation, normal for analysis-informed translation, refined for full publication-quality workflow with review and polish.

Manual install (npx, ZIP)
Claude Codenpx skills add JimLiu/baoyu-skills --skill baoyu-translate -g -a claude-code
Claude Code (degit)npx degit JimLiu/baoyu-skills/skills/baoyu-translate#main ~/.claude/skills/baoyu-translate
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md15.5 KB
Read SKILL.md here
JimLiu/main1 file shown
SKILL.md
Show the full text269 lines

Translator

Three-mode translation skill: quick for direct translation, normal for analysis-informed translation, refined for full publication-quality workflow with review and polish.

User Input Tools

When this skill prompts the user, follow this tool-selection rule (priority order):

  1. Prefer built-in user-input tools exposed by the current agent runtime — e.g., AskUserQuestion, request_user_input, clarify, ask_user, or any equivalent.
  2. Fallback: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
  3. Batching: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.

Concrete AskUserQuestion references below are examples — substitute the local equivalent in other runtimes.

Script Directory

Scripts in scripts/ subdirectory. {baseDir} = this SKILL.md's directory path. Resolve ${BUN_X} runtime: if bun installed → bun; if npx available → npx -y bun; else suggest installing bun. Replace {baseDir} and ${BUN_X} with actual values.

Script Purpose
scripts/main.ts CLI entry point. Default action splits markdown into chunks; also supports explicit chunk subcommand
scripts/chunk.ts Markdown chunking implementation used by main.ts and kept compatible for direct invocation

Preferences (EXTEND.md)

Check EXTEND.md in priority order — the first one found wins:

Priority Path Scope
1 .baoyu-skills/baoyu-translate/EXTEND.md Project
2 ${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-translate/EXTEND.md XDG
3 $HOME/.baoyu-skills/baoyu-translate/EXTEND.md User home
Result Action
Found Read, parse, apply. On first use in session, briefly remind: "Using preferences from [path]. You can edit EXTEND.md to customize glossary, audience, etc."
Not found MUST run first-time setup (see below) — do NOT silently use defaults

EXTEND.md supports: default target language, default mode, target audience, custom glossaries (inline or file path), translation style, chunk settings.

Schema: references/config/extend-schema.md.

First-Time Setup (BLOCKING)

CRITICAL: When EXTEND.md is not found, you MUST run the first-time setup before ANY translation. This is a BLOCKING operation.

Full reference: references/config/first-time-setup.md

Use AskUserQuestion with all questions (target language, mode, audience, style, save location) in ONE call. After user answers, create EXTEND.md at the chosen location, confirm "Preferences saved to [path]", then continue.

Defaults

All configurable values in one place. EXTEND.md overrides these; CLI flags override EXTEND.md.

Setting Default EXTEND.md key CLI flag Description
Target language zh-CN target_language --to Translation target language
Mode normal default_mode --mode Translation mode
Audience general audience --audience Target reader profile
Style storytelling style --style Translation style preference
Chunk threshold 4000 chunk_threshold — Word count to trigger chunked translation
Chunk max words 5000 chunk_max_words — Max words per chunk

Modes

Mode Flag Steps When to Use
Quick --mode quick Translate Short texts, informal content, quick tasks
Normal --mode normal (default) Analyze → Translate Articles, blog posts, general content
Refined --mode refined Analyze → Translate → Review → Polish Publication-quality, important documents

Default mode: Normal (can be overridden in EXTEND.md default_mode setting).

Style presets — control the voice and tone of the translation (independent of audience):

Value Description Effect
storytelling Engaging narrative flow (default) Draws readers in, smooth transitions, vivid phrasing
formal Professional, structured Neutral tone, clear organization, no colloquialisms
technical Precise, documentation-style Concise, terminology-heavy, minimal embellishment
literal Close to original structure Minimal restructuring, preserves source sentence patterns
academic Scholarly, rigorous Formal register, complex clauses OK, citation-aware
business Concise, results-focused Action-oriented, executive-friendly, bullet-point mindset
humorous Preserves and adapts humor Witty, playful, recreates comedic effect in target language
conversational Casual, spoken-like Friendly, approachable, as if explaining to a friend
elegant Literary, polished prose Aesthetically refined, rhythmic, carefully crafted word choices

Custom style descriptions are also accepted, e.g., --style "poetic and lyrical".

Auto-detection:

  • "快翻", "quick", "直接翻译" → quick mode
  • "精翻", "refined", "publication quality", "proofread" → refined mode
  • Otherwise → default mode (normal)

Upgrade prompt: After normal mode completes, display:

Translation saved. To further review and polish, reply "继续润色" or "refine".

If user responds, continue with review → polish steps (same as refined mode Steps 4-6 in refined-workflow.md) on the existing output.

Audience presets:

Value Description Effect
general General readers (default) Plain language, more translator's notes for jargon
technical Developers / engineers Less annotation on common tech terms
academic Researchers / scholars Formal register, precise terminology
business Business professionals Business-friendly tone, explain tech concepts

Custom audience descriptions are also accepted, e.g., --audience "AI感兴趣的普通读者".

Workflow

Step 1: Load Preferences

1.1 Check EXTEND.md (see Preferences section above)

1.2 Load built-in glossary for the language pair if available:

1.3 Merge glossaries: EXTEND.md glossary (inline) + EXTEND.md glossary_files (external files, paths relative to EXTEND.md location) + built-in glossary + --glossary file (CLI overrides all)

Step 2: Materialize Source & Create Output Directory

Materialize source (file as-is, inline text/URL → save to translate/{slug}.md), then create output directory: {source-dir}/{source-basename}-{target-lang}/. Detect source language if --from not specified.

Full details: references/workflow-mechanics.md

Output directory contents (all intermediate and final files go here):

File Mode Description
translation.md All Final translation (always this name)
01-analysis.md Normal, Refined Content analysis (domain, tone, terminology)
02-prompt.md Normal, Refined Assembled translation prompt
03-draft.md Refined Initial draft before review
04-critique.md Refined Critical review findings (diagnosis only)
05-revision.md Refined Revised translation based on critique
chunks/ Chunked Source chunks + translated chunks
Step 3: Assess Content Length

Quick mode does not chunk — translate directly regardless of length. Before translating, estimate word count. If content exceeds chunk threshold (default 4000 words), proactively warn: "This article is ~{N} words. Quick mode translates in one pass without chunking — for long content, --mode normal produces better results with terminology consistency." Then proceed if user doesn't switch.

For normal and refined modes:

Content Action
< chunk threshold Translate as single unit
>= chunk threshold Chunk translation (see Step 3.1)

3.1 Long Content Preparation (normal/refined modes, >= chunk threshold only)

Before translating chunks:

  1. Extract terminology: Scan entire document for proper nouns, technical terms, recurring phrases
  2. Build session glossary: Merge extracted terms with loaded glossaries, establish consistent translations
  3. Split into chunks: Use ${BUN_X} {baseDir}/scripts/main.ts <file> [--max-words <chunk_max_words>] [--output-dir <output-dir>]
    • Parses markdown blocks (headings, paragraphs, lists, code blocks, tables, etc.)
    • Splits at markdown block boundaries to preserve structure
    • If a single block exceeds the threshold, falls back to line splitting, then word splitting
  4. Assemble translation prompt:
    • Main agent reads 01-analysis.md (if exists) and assembles shared context using Part 1 of references/subagent-prompt-template.md — inlining: target style, content background, merged glossary, and translation challenges
    • Save as 02-prompt.md in the output directory (shared context only, no task instructions)
  5. Draft translation via subagents (if Agent tool available):
    • Spawn one subagent per chunk, all in parallel (Part 2 of the template)
    • Each subagent reads 02-prompt.md for shared context, receives chunk position info (chunk N of M + brief context of where it sits in the argument), translates its chunk, saves to chunks/chunk-NN-draft.md
    • Consistency is guaranteed by the shared 02-prompt.md (glossary, figurative language mapping, comprehension challenges, source voice, and translation challenges from analysis)
    • If no chunks (content under threshold): spawn one subagent for the entire source file
    • If Agent tool is unavailable, translate chunks sequentially inline using 02-prompt.md
  6. Merge: Once all subagents complete, combine translated chunks in order. If chunks/frontmatter.md exists, prepend it. Save as 03-draft.md (refined) or translation.md (normal)
  7. All intermediate files (source chunks + translated chunks) are preserved in chunks/

After chunked draft is merged, return control to main agent for critical review, revision, and polish (Step 4).

Step 4: Translate & Refine

Translation principles (apply to all modes):

  • Rewrite, not translate: Rewrite content into natural, engaging target language as if a skilled native writer composed it from scratch. Quality test: "Does this read like it was originally written in the target language?"
  • Accuracy first: Facts, data, and logic must match the original exactly
  • Natural flow: Use idiomatic target language word order. Break long source sentences into shorter, natural ones. Interpret metaphors and idioms by intended meaning, not word-for-word
  • Terminology: Use standard translations consistently. First occurrence of specialized terms: annotate with original in parentheses
  • Preserve format: Keep all markdown formatting (headings, bold, italic, images, links, code blocks)
  • Proactive interpretation: For jargon or concepts the target audience may lack context for, add concise explanations in bold parentheses (**解释**). Keep annotations few — only where genuinely needed for comprehension
  • Frontmatter: If source has YAML frontmatter, rename source-metadata fields with source prefix (camelCase: url→sourceUrl, title→sourceTitle, etc.), add translated values as new top-level fields (skip title if body has H1), keep other fields as-is
Quick Mode

Translate directly → save to translation.md. Apply all translation principles above.

Normal Mode
  1. Analyze → 01-analysis.md (domain, tone, terminology, translation challenges)
  2. Assemble prompt → 02-prompt.md (translation instructions with context, glossary, challenges)
  3. Translate (following 02-prompt.md) → translation.md

After completion, prompt user: "Translation saved. To further review and polish, reply 继续润色 or refine."

If user continues, proceed with critical review → revision → polish (same as refined mode Steps 4-6 below), saving 03-draft.md (rename current translation.md), 04-critique.md, 05-revision.md, and updated translation.md.

Refined Mode

Full workflow for publication quality. See references/refined-workflow.md for detailed guidelines per step.

The subagent (if used in Step 3.1) only handles the initial draft. All subsequent steps (critical review, revision, polish) are handled by the main agent, which may delegate to subagents at its discretion.

Steps and saved files (all in output directory):

  1. Analyze → 01-analysis.md (domain, tone, terminology, translation challenges)
  2. Assemble prompt → 02-prompt.md (translation instructions with inlined context)
  3. Draft → 03-draft.md (initial translation with translator's notes; from subagent if chunked)
  4. Critical review → 04-critique.md (diagnosis only: accuracy, Europeanized language, strategy execution, expression issues)
  5. Revision → 05-revision.md (apply all critique findings to produce revised translation)
  6. Polish → translation.md (final publication-quality translation)

Each step reads the previous step's file and builds on it.

Step 5: Output

Final translation is always at translation.md in the output directory.

After the final translation is written, do a lightweight image-language pass:

  1. Collect image references from the translated article
  2. Identify likely text-heavy images such as covers, screenshots, diagrams, charts, frameworks, and infographics
  3. If any image likely contains a main text language that does not match the translated article language, proactively remind the user
  4. The reminder must be a list only. Do not automatically localize those images unless the user asks

Reminder format (use whatever image syntax the article already uses — standard markdown or wikilink):

Possible image localization needed:
- ![example cover](attachments/example-cover.png): likely still contains source-language text while the article is now in target language
- ![example diagram](attachments/example-diagram.png): likely text-heavy framework graphic, check whether labels need translation

Display summary:

**Translation complete** ({mode} mode)

Source: {source-path}
Languages: {from} → {to}
Output dir: {output-dir}/
Final: {output-dir}/translation.md
Glossary terms applied: {count}

If mismatched image-language candidates were found, append a short note after the summary telling the user that some embedded images may still need image-text localization, followed by the candidate list.

Extension Support

Custom configurations via EXTEND.md. See Preferences section for paths and supported options.

1---
2name: baoyu-translate
3description: >-
4 This skill should be used when the user asks to "translate", "翻译", "精翻", "translate article",
5 "translate to Chinese", "translate to English", "改成中文", "改成英文", "convert to Chinese",
6 "localize", "本地化", "refined translation", "精细翻译", "proofread translation", "快速翻译", "快翻",
7 "这篇文章翻译一下", or provides a URL/file with translation intent. Supports three modes
8 (quick/normal/refined) with custom glossary support.
9version: 1.117.3
10metadata:
11 openclaw:
12 homepage: https://github.com/JimLiu/baoyu-skills#baoyu-translate
13 requires:
14 anyBins:
15 - bun
16 - npx
17---
18 
19# Translator
20 
21Three-mode translation skill: **quick** for direct translation, **normal** for analysis-informed translation, **refined** for full publication-quality workflow with review and polish.
22 
23## User Input Tools
24 
25When this skill prompts the user, follow this tool-selection rule (priority order):
26 
271. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.
282. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
293. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
30 
31Concrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.
32 
33## Script Directory
34 
35Scripts in `scripts/` subdirectory. `{baseDir}` = this SKILL.md's directory path. Resolve `${BUN_X}` runtime: if `bun` installed → `bun`; if `npx` available → `npx -y bun`; else suggest installing bun. Replace `{baseDir}` and `${BUN_X}` with actual values.
36 
37| Script | Purpose |
38|--------|---------|
39| `scripts/main.ts` | CLI entry point. Default action splits markdown into chunks; also supports explicit `chunk` subcommand |
40| `scripts/chunk.ts` | Markdown chunking implementation used by `main.ts` and kept compatible for direct invocation |
41 
42## Preferences (EXTEND.md)
43 
44Check EXTEND.md in priority order — the first one found wins:
45 
46| Priority | Path | Scope |
47|----------|------|-------|
48| 1 | `.baoyu-skills/baoyu-translate/EXTEND.md` | Project |
49| 2 | `${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-translate/EXTEND.md` | XDG |
50| 3 | `$HOME/.baoyu-skills/baoyu-translate/EXTEND.md` | User home |
51 
52| Result | Action |
53|--------|--------|
54| Found | Read, parse, apply. On first use in session, briefly remind: "Using preferences from [path]. You can edit EXTEND.md to customize glossary, audience, etc." |
55| Not found | **MUST** run first-time setup (see below) — do NOT silently use defaults |
56 
57**EXTEND.md supports**: default target language, default mode, target audience, custom glossaries (inline or file path), translation style, chunk settings.
58 
59Schema: [references/config/extend-schema.md](references/config/extend-schema.md).
60 
61### First-Time Setup (BLOCKING)
62 
63**CRITICAL**: When EXTEND.md is not found, you **MUST** run the first-time setup before ANY translation. This is a **BLOCKING** operation.
64 
65Full reference: [references/config/first-time-setup.md](references/config/first-time-setup.md)
66 
67Use `AskUserQuestion` with all questions (target language, mode, audience, style, save location) in ONE call. After user answers, create EXTEND.md at the chosen location, confirm "Preferences saved to [path]", then continue.
68 
69## Defaults
70 
71All configurable values in one place. EXTEND.md overrides these; CLI flags override EXTEND.md.
72 
73| Setting | Default | EXTEND.md key | CLI flag | Description |
74|---------|---------|---------------|----------|-------------|
75| Target language | `zh-CN` | `target_language` | `--to` | Translation target language |
76| Mode | `normal` | `default_mode` | `--mode` | Translation mode |
77| Audience | `general` | `audience` | `--audience` | Target reader profile |
78| Style | `storytelling` | `style` | `--style` | Translation style preference |
79| Chunk threshold | `4000` | `chunk_threshold` | — | Word count to trigger chunked translation |
80| Chunk max words | `5000` | `chunk_max_words` | — | Max words per chunk |
81 
82## Modes
83 
84| Mode | Flag | Steps | When to Use |
85|------|------|-------|-------------|
86| Quick | `--mode quick` | Translate | Short texts, informal content, quick tasks |
87| Normal | `--mode normal` (default) | Analyze → Translate | Articles, blog posts, general content |
88| Refined | `--mode refined` | Analyze → Translate → Review → Polish | Publication-quality, important documents |
89 
90**Default mode**: Normal (can be overridden in EXTEND.md `default_mode` setting).
91 
92**Style presets** — control the voice and tone of the translation (independent of audience):
93 
94| Value | Description | Effect |
95|-------|-------------|--------|
96| `storytelling` | Engaging narrative flow (default) | Draws readers in, smooth transitions, vivid phrasing |
97| `formal` | Professional, structured | Neutral tone, clear organization, no colloquialisms |
98| `technical` | Precise, documentation-style | Concise, terminology-heavy, minimal embellishment |
99| `literal` | Close to original structure | Minimal restructuring, preserves source sentence patterns |
100| `academic` | Scholarly, rigorous | Formal register, complex clauses OK, citation-aware |
101| `business` | Concise, results-focused | Action-oriented, executive-friendly, bullet-point mindset |
102| `humorous` | Preserves and adapts humor | Witty, playful, recreates comedic effect in target language |
103| `conversational` | Casual, spoken-like | Friendly, approachable, as if explaining to a friend |
104| `elegant` | Literary, polished prose | Aesthetically refined, rhythmic, carefully crafted word choices |
105 
106Custom style descriptions are also accepted, e.g., `--style "poetic and lyrical"`.
107 
108**Auto-detection**:
109- "快翻", "quick", "直接翻译" → quick mode
110- "精翻", "refined", "publication quality", "proofread" → refined mode
111- Otherwise → default mode (normal)
112 
113**Upgrade prompt**: After normal mode completes, display:
114> Translation saved. To further review and polish, reply "继续润色" or "refine".
115 
116If user responds, continue with review → polish steps (same as refined mode Steps 4-6 in refined-workflow.md) on the existing output.
117 
118**Audience presets**:
119 
120| Value | Description | Effect |
121|-------|-------------|--------|
122| `general` | General readers (default) | Plain language, more translator's notes for jargon |
123| `technical` | Developers / engineers | Less annotation on common tech terms |
124| `academic` | Researchers / scholars | Formal register, precise terminology |
125| `business` | Business professionals | Business-friendly tone, explain tech concepts |
126 
127Custom audience descriptions are also accepted, e.g., `--audience "AI感兴趣的普通读者"`.
128 
129## Workflow
130 
131### Step 1: Load Preferences
132 
1331.1 Check EXTEND.md (see Preferences section above)
134 
1351.2 Load built-in glossary for the language pair if available:
136- EN→ZH: [references/glossary-en-zh.md](references/glossary-en-zh.md)
137 
1381.3 Merge glossaries: EXTEND.md `glossary` (inline) + EXTEND.md `glossary_files` (external files, paths relative to EXTEND.md location) + built-in glossary + `--glossary` file (CLI overrides all)
139 
140### Step 2: Materialize Source & Create Output Directory
141 
142Materialize source (file as-is, inline text/URL → save to `translate/{slug}.md`), then create output directory: `{source-dir}/{source-basename}-{target-lang}/`. Detect source language if `--from` not specified.
143 
144Full details: [references/workflow-mechanics.md](references/workflow-mechanics.md)
145 
146**Output directory contents** (all intermediate and final files go here):
147 
148| File | Mode | Description |
149|------|------|-------------|
150| `translation.md` | All | Final translation (always this name) |
151| `01-analysis.md` | Normal, Refined | Content analysis (domain, tone, terminology) |
152| `02-prompt.md` | Normal, Refined | Assembled translation prompt |
153| `03-draft.md` | Refined | Initial draft before review |
154| `04-critique.md` | Refined | Critical review findings (diagnosis only) |
155| `05-revision.md` | Refined | Revised translation based on critique |
156| `chunks/` | Chunked | Source chunks + translated chunks |
157 
158### Step 3: Assess Content Length
159 
160Quick mode does not chunk — translate directly regardless of length. Before translating, estimate word count. If content exceeds chunk threshold (default 4000 words), proactively warn: "This article is ~{N} words. Quick mode translates in one pass without chunking — for long content, `--mode normal` produces better results with terminology consistency." Then proceed if user doesn't switch.
161 
162For normal and refined modes:
163 
164| Content | Action |
165|---------|--------|
166| < chunk threshold | Translate as single unit |
167| >= chunk threshold | Chunk translation (see Step 3.1) |
168 
169**3.1 Long Content Preparation** (normal/refined modes, >= chunk threshold only)
170 
171Before translating chunks:
172 
1731. **Extract terminology**: Scan entire document for proper nouns, technical terms, recurring phrases
1742. **Build session glossary**: Merge extracted terms with loaded glossaries, establish consistent translations
1753. **Split into chunks**: Use `${BUN_X} {baseDir}/scripts/main.ts <file> [--max-words <chunk_max_words>] [--output-dir <output-dir>]`
176 - Parses markdown blocks (headings, paragraphs, lists, code blocks, tables, etc.)
177 - Splits at markdown block boundaries to preserve structure
178 - If a single block exceeds the threshold, falls back to line splitting, then word splitting
1794. **Assemble translation prompt**:
180 - Main agent reads `01-analysis.md` (if exists) and assembles shared context using Part 1 of [references/subagent-prompt-template.md](references/subagent-prompt-template.md) — inlining: target style, content background, merged glossary, and translation challenges
181 - Save as `02-prompt.md` in the output directory (shared context only, no task instructions)
1825. **Draft translation via subagents** (if Agent tool available):
183 - Spawn one subagent **per chunk**, all in parallel (Part 2 of the template)
184 - Each subagent reads `02-prompt.md` for shared context, receives chunk position info (chunk N of M + brief context of where it sits in the argument), translates its chunk, saves to `chunks/chunk-NN-draft.md`
185 - Consistency is guaranteed by the shared `02-prompt.md` (glossary, figurative language mapping, comprehension challenges, source voice, and translation challenges from analysis)
186 - If no chunks (content under threshold): spawn one subagent for the entire source file
187 - If Agent tool is unavailable, translate chunks sequentially inline using `02-prompt.md`
1886. **Merge**: Once all subagents complete, combine translated chunks in order. If `chunks/frontmatter.md` exists, prepend it. Save as `03-draft.md` (refined) or `translation.md` (normal)
1897. All intermediate files (source chunks + translated chunks) are preserved in `chunks/`
190 
191**After chunked draft is merged**, return control to main agent for critical review, revision, and polish (Step 4).
192 
193### Step 4: Translate & Refine
194 
195**Translation principles** (apply to all modes):
196 
197- **Rewrite, not translate**: Rewrite content into natural, engaging target language as if a skilled native writer composed it from scratch. Quality test: "Does this read like it was originally written in the target language?"
198- **Accuracy first**: Facts, data, and logic must match the original exactly
199- **Natural flow**: Use idiomatic target language word order. Break long source sentences into shorter, natural ones. Interpret metaphors and idioms by intended meaning, not word-for-word
200- **Terminology**: Use standard translations consistently. First occurrence of specialized terms: annotate with original in parentheses
201- **Preserve format**: Keep all markdown formatting (headings, bold, italic, images, links, code blocks)
202- **Proactive interpretation**: For jargon or concepts the target audience may lack context for, add concise explanations in **bold parentheses** `(**解释**)`. Keep annotations few — only where genuinely needed for comprehension
203- **Frontmatter**: If source has YAML frontmatter, rename source-metadata fields with `source` prefix (camelCase: `url`→`sourceUrl`, `title`→`sourceTitle`, etc.), add translated values as new top-level fields (skip `title` if body has H1), keep other fields as-is
204 
205#### Quick Mode
206 
207Translate directly → save to `translation.md`. Apply all translation principles above.
208 
209#### Normal Mode
210 
2111. **Analyze** → `01-analysis.md` (domain, tone, terminology, translation challenges)
2122. **Assemble prompt** → `02-prompt.md` (translation instructions with context, glossary, challenges)
2133. **Translate** (following `02-prompt.md`) → `translation.md`
214 
215After completion, prompt user: "Translation saved. To further review and polish, reply **继续润色** or **refine**."
216 
217If user continues, proceed with critical review → revision → polish (same as refined mode Steps 4-6 below), saving `03-draft.md` (rename current `translation.md`), `04-critique.md`, `05-revision.md`, and updated `translation.md`.
218 
219#### Refined Mode
220 
221Full workflow for publication quality. See [references/refined-workflow.md](references/refined-workflow.md) for detailed guidelines per step.
222 
223The subagent (if used in Step 3.1) only handles the initial draft. All subsequent steps (critical review, revision, polish) are handled by the main agent, which may delegate to subagents at its discretion.
224 
225Steps and saved files (all in output directory):
2261. **Analyze** → `01-analysis.md` (domain, tone, terminology, translation challenges)
2272. **Assemble prompt** → `02-prompt.md` (translation instructions with inlined context)
2283. **Draft** → `03-draft.md` (initial translation with translator's notes; from subagent if chunked)
2294. **Critical review** → `04-critique.md` (diagnosis only: accuracy, Europeanized language, strategy execution, expression issues)
2305. **Revision** → `05-revision.md` (apply all critique findings to produce revised translation)
2316. **Polish** → `translation.md` (final publication-quality translation)
232 
233Each step reads the previous step's file and builds on it.
234 
235### Step 5: Output
236 
237Final translation is always at `translation.md` in the output directory.
238 
239After the final translation is written, do a lightweight image-language pass:
240 
2411. Collect image references from the translated article
2422. Identify likely text-heavy images such as covers, screenshots, diagrams, charts, frameworks, and infographics
2433. If any image likely contains a main text language that does not match the translated article language, proactively remind the user
2444. The reminder must be a list only. Do not automatically localize those images unless the user asks
245 
246Reminder format (use whatever image syntax the article already uses — standard markdown or wikilink):
247```text
248Possible image localization needed:
249- ![example cover](attachments/example-cover.png): likely still contains source-language text while the article is now in target language
250- ![example diagram](attachments/example-diagram.png): likely text-heavy framework graphic, check whether labels need translation
251```
252 
253Display summary:
254```
255**Translation complete** ({mode} mode)
256 
257Source: {source-path}
258Languages: {from} → {to}
259Output dir: {output-dir}/
260Final: {output-dir}/translation.md
261Glossary terms applied: {count}
262```
263 
264If mismatched image-language candidates were found, append a short note after the summary telling the user that some embedded images may still need image-text localization, followed by the candidate list.
265 
266## Extension Support
267 
268Custom configurations via EXTEND.md. See **Preferences** section for paths and supported options.
269 
View all files on GitHub →

Details

Version
1.117.3
License
MIT
Stars on the repo
★ 26,555
Checked
Source
JimLiu/baoyu-skills ↗
Creator
JimLiu · 13 listings
View creator

Similar skills

See all →
SkillBook Translatordeusyu/translate-book · by deusyuTranslate books (PDF/DOCX/EPUB) into any language using parallel sub-agents. Converts input -> Markdown chunks -> translated chunks -> HTML/DOCX/EPUB/PDF.★ 2.1k GitHub starsSkillArabic Marketing Copy Localizergrowthack88/growth-marketing-os · by growthack88Marketing copy localization skill that converts English marketing copy (ads, landing pages, emails, CTAs) into native Egyptian Arabic عامية — or GCC dialect on request — with natural English code-switching for business terms. Use whenever marketing copy needs an Arabic version, an Arabic draft "sounds translated", or a bilingual campaign is being built. Rebuilds meaning per line instead of translating words; never outputs فصحى for performance marketing contexts.★ 117 GitHub starsAgentDesign Implementation BridgeVoltAgent/awesome-claude-code-subagents · by VoltAgentUse this agent when you need to translate a DESIGN.md from the VoltAgent/awesome-design-md repository into polished Claude Code instructions for building user interfaces that faithfully match the chosen brand. Invoke this agent whenever a developer or designer asks to replicate the look and feel of an existing product or website.★ 25.2k GitHub starsSkillMultilingual Blog AuditorAgriciDaniel/claude-blog · by AgriciDanielAudit a directory of multilingual blog content for completeness, consistency, hreflang correctness, meta-tag parity, and freshness. Builds a translation coverage matrix, flags stale translations, validates hreflang and schema, and emits a prioritized report with runnable fix commands. Use when user says "locale audit", "blog locale-audit", "check translations", multilingual audit", "translation check", "hreflang check", Uebersetzungen pruefen".★ 2.2k GitHub starsSkillBlog Localization AdapterAgriciDaniel/claude-blog · by AgriciDanielDeep cultural adaptation of translated blog posts. Run after blog-translate completes. Goes beyond translation to swap brand examples, adapt CTAs, substitute legal references, localize statistic sources where possible, and adjust formality (Sie/du, tu/vous, formal/informal). Built-in profiles for DACH, Francophone, Hispanic, and Japanese markets. Use when user says "localize blog", "blog localize", "cultural adaptation", adapt for Germany", "lokalisieren", "localiser", "adaptar".★ 2.2k GitHub starsSkillMultilingual Blog PublisherAgriciDaniel/claude-blog · by AgriciDanielOne-command multilingual blog creation. Writes a blog post, translates it into user-specified languages, applies cultural adaptation, and emits hreflang tags, sitemap entries, and a CMS-ready language map. The complete write-to-publish pipeline for international content. Orchestrates blog-write, blog-translate, blog-localize, and (optionally) seo-hreflang. Use when user says "multilingual blog", "blog multilingual", "write in multiple languages", "international blog", "mehrsprachiger Blog", "blog multilingue", "blog multilingue", "create blog in German and French".★ 2.2k GitHub stars

More from JimLiu

SkillArticle Illustration GeneratorJimLiu/baoyu-skills · by JimLiuAnalyzes article structure, identifies positions requiring visual aids, generates illustrations with Type × Style × Palette three-dimension approach. Use when user asks to "illustrate article", "add images", "generate images for article", or "为文章配图".★ 26.6k GitHub starsSkillArticle Cover DesignerJimLiu/baoyu-skills · by JimLiuGenerates article cover images with 5 dimensions (type, palette, rendering, text, mood) combining 11 color palettes and 7 rendering styles. Supports cinematic (2.35:1), widescreen (16:9), and square (1:1) aspects. Use when user asks to "generate cover image", "create article cover", or "make cover".★ 26.6k GitHub starsSkillSVG Diagram CreatorJimLiu/baoyu-skills · by JimLiuCreate professional, dark-themed SVG diagrams of any type — architecture diagrams, flowcharts, sequence diagrams, structural diagrams, mind maps, timelines, illustrative/conceptual diagrams, and more. Use this skill whenever the user asks for any kind of technical or conceptual diagram, visualization of a system, process flow, data flow, component relationship, network topology, decision tree, org chart, state machine, or any visual representation of structure/logic/process. Also trigger when the user says "画个图" "画一个架构图" "diagram" "flowchart" "sequence diagram" "draw me a ..." or uploads content and asks to visualize it. Output is always a standalone .svg file.★ 26.6k GitHub starsSkillSocial Card Series CreatorJimLiu/baoyu-skills · by JimLiuGenerates infographic image card series with 12 visual styles, 8 layouts, and 3 color palettes. Breaks content into 1-10 cartoon-style image cards optimized for social media engagement. Use when user mentions "小红书图片", "小红书种草", "小绿书", "微信图文", "微信贴图", "image cards", "图片卡片", baoyu-xhs-images, or wants social media infographic series.★ 26.6k GitHub starsSkillMulti-Model Image GeneratorJimLiu/baoyu-skills · by JimLiuAI image generation with OpenAI GPT Image 2.5, Azure OpenAI, Google, OpenRouter, DashScope, Z.AI GLM-Image, MiniMax, Jimeng, Seedream, Replicate and Agnes APIs. Supports text-to-image, reference images, aspect ratios, and batch generation from saved prompt files. Sequential by default; use batch parallel generation when the user already has multiple prompts or wants stable multi-image throughput. Use when user asks to generate, create, or draw images.★ 26.6k GitHub starsSkillData Visualization CreatorJimLiu/baoyu-skills · by JimLiuGenerate professional infographics with 21 layout types and 22 visual styles. Analyzes content, recommends layout×style combinations, and generates publication-ready infographics. Use when user asks to create "infographic", "信息图", "visual summary", "可视化", or "高密度信息大图".★ 26.6k GitHub stars