Translate Skill — Instructions in English, UTF-8 Output
Translates an existing Agent Skill from language A to language B.
All instructions in this skill are written in English. Output files are UTF-8.
When to use this skill
- User provides a SKILL.md (as file, URL, or pasted text) and a target language
- User wants a language variant of an existing skill
- User wants non-English speakers to benefit from an existing skill
- User wants to create
translate-skill-<lang>-utf8 variants of this very skill
What gets translated
| Item |
Action |
SKILL.md frontmatter description |
Translate to target language |
SKILL.md body (all prose, headings, notes) |
Translate to target language |
references/*.md files |
Translate each file |
scripts/ comments and --help text |
Translate inline comments and help strings |
assets/ text files |
Translate if plain text |
Frontmatter name field |
Do NOT translate — keep original slug |
| Code logic / variable names |
Do NOT translate — translate comments only |
Step-by-Step Workflow
Step 1 — Identify source
- Accept: a file path, a raw GitHub URL, or pasted SKILL.md content
- If a URL is given, fetch it with
web_fetch
- Read all bundled files in
references/, scripts/, assets/ if present
Step 2 — Confirm parameters
Ask (or infer from context):
- Source language — what language is the skill currently written in?
- Target language — what language should the output be in?
- Output skill name — default: append
-<lang-code>-utf8 to original name
- Example:
translate-skill-en → translate-skill-de
- Output location — where to write the translated skill directory?
Step 3 — Translate SKILL.md
Rules:
- Preserve all YAML frontmatter keys exactly
- Translate
description value fully into target language
- Add or update
metadata.instruction-language to reflect target language code
- Keep
metadata.encoding: utf-8
- Translate all prose in the body
- Keep all code blocks, file paths, URLs, and command examples untouched
- Keep the
name field untouched
Step 4 — Translate bundled files
For each file in references/, scripts/, assets/:
- Translate prose, comments, help text
- Leave code logic, variable names, command syntax untouched
- Save with identical filename in the translated skill directory
Step 5 — Write output
Create the translated skill directory:
<translated-skill-name>/
├── SKILL.md # translated
├── references/ # translated (if present)
├── scripts/ # translated comments (if present)
└── assets/ # translated text assets (if present)
All files saved as UTF-8.
Step 6 — Validate
Check:
Step 7 — Present
Output the translated skill directory for download.
Briefly summarize: source language → target language, files translated, any
ambiguous terms that were left in source language with a note.
Translation Quality Notes
- Prefer natural phrasing over literal word-for-word translation
- Technical terms (e.g. "skill", "agent", "SKILL.md", "frontmatter") may be
kept in English if no natural equivalent exists — add a short note in parentheses
- Trigger phrases in the
description should feel natural to a native speaker
of the target language — rephrase idiomatically
- UTF-8 note: All target languages, including those with non-Latin scripts
(Japanese, Arabic, Chinese, etc.), are supported via UTF-8 encoding
Example invocations
"Translate this skill to German"
→ source: en, target: de, output name: <original>-de-utf8
"Create a French version of translate-skill-en"
→ source: en, target: fr, output name: translate-skill-fr-utf8
"Port this SKILL.md to Japanese"
→ source: en, target: ja, output name: <original>-ja-utf8
Self-application: creating language variants of this skill
This skill can translate itself. To create translate-skill-de:
- Use
translate-skill-en as source
- Set target language: German (
de)
- Output name:
translate-skill-de
- The resulting skill is identical in function, but all instructions are in German
This skill follows the agentskills.io open specification.
1---2name: translate-skill-en3description: Translates an existing Agent Skill (SKILL.md and all bundled files) from one natural language to another. The translated skill is written in English and saved as UTF-8. Use this skill whenever a user wants to translate a skill, port a skill to another language, make a skill accessible to speakers of a different language, or create a language variant of an existing skill. Activate for phrases like: "translate this skill", "translate skill from X to Y", "make a German version of this skill", "port skill to French", "create a language variant", or "translate SKILL.md".4license: CC-BY-NC-SA-4.05---67# Translate Skill — Instructions in English, UTF-8 Output89Translates an existing Agent Skill from **language A** to **language B**.10All instructions in this skill are written in English. Output files are UTF-8.1112---1314## When to use this skill1516- User provides a SKILL.md (as file, URL, or pasted text) and a target language17- User wants a language variant of an existing skill18- User wants non-English speakers to benefit from an existing skill19- User wants to create `translate-skill-<lang>-utf8` variants of this very skill2021---2223## What gets translated2425| Item | Action |26|------|--------|27| `SKILL.md` frontmatter `description` | Translate to target language |28| `SKILL.md` body (all prose, headings, notes) | Translate to target language |29| `references/*.md` files | Translate each file |30| `scripts/` comments and `--help` text | Translate inline comments and help strings |31| `assets/` text files | Translate if plain text |32| Frontmatter `name` field | **Do NOT translate** — keep original slug |33| Code logic / variable names | **Do NOT translate** — translate comments only |3435---3637## Step-by-Step Workflow3839### Step 1 — Identify source4041- Accept: a file path, a raw GitHub URL, or pasted SKILL.md content42- If a URL is given, fetch it with `web_fetch`43- Read all bundled files in `references/`, `scripts/`, `assets/` if present4445### Step 2 — Confirm parameters4647Ask (or infer from context):481. **Source language** — what language is the skill currently written in?492. **Target language** — what language should the output be in?503. **Output skill name** — default: append `-<lang-code>-utf8` to original name51 - Example: `translate-skill-en` → `translate-skill-de`524. **Output location** — where to write the translated skill directory?5354### Step 3 — Translate SKILL.md5556Rules:57- Preserve all YAML frontmatter keys exactly58- Translate `description` value fully into target language59- Add or update `metadata.instruction-language` to reflect target language code60- Keep `metadata.encoding: utf-8`61- Translate all prose in the body62- Keep all code blocks, file paths, URLs, and command examples **untouched**63- Keep the `name` field **untouched**6465### Step 4 — Translate bundled files6667For each file in `references/`, `scripts/`, `assets/`:68- Translate prose, comments, help text69- Leave code logic, variable names, command syntax untouched70- Save with identical filename in the translated skill directory7172### Step 5 — Write output7374Create the translated skill directory:75```76<translated-skill-name>/77├── SKILL.md # translated78├── references/ # translated (if present)79├── scripts/ # translated comments (if present)80└── assets/ # translated text assets (if present)81```8283All files saved as **UTF-8**.8485### Step 6 — Validate8687Check:88- [ ] `name` field unchanged89- [ ] No untranslated prose remaining in SKILL.md body90- [ ] Code blocks intact91- [ ] UTF-8 encoding confirmed (especially for non-Latin scripts)92- [ ] `metadata.instruction-language` updated9394### Step 7 — Present9596Output the translated skill directory for download.97Briefly summarize: source language → target language, files translated, any98ambiguous terms that were left in source language with a note.99100---101102## Translation Quality Notes103104- **Prefer natural phrasing** over literal word-for-word translation105- **Technical terms** (e.g. "skill", "agent", "SKILL.md", "frontmatter") may be106 kept in English if no natural equivalent exists — add a short note in parentheses107- **Trigger phrases** in the `description` should feel natural to a native speaker108 of the target language — rephrase idiomatically109- **UTF-8 note**: All target languages, including those with non-Latin scripts110 (Japanese, Arabic, Chinese, etc.), are supported via UTF-8 encoding111112---113114## Example invocations115116```117"Translate this skill to German"118→ source: en, target: de, output name: <original>-de-utf8119120"Create a French version of translate-skill-en"121→ source: en, target: fr, output name: translate-skill-fr-utf8122123"Port this SKILL.md to Japanese"124→ source: en, target: ja, output name: <original>-ja-utf8125```126127---128129## Self-application: creating language variants of this skill130131This skill can translate itself. To create `translate-skill-de`:1321. Use `translate-skill-en` as source1332. Set target language: German (`de`)1343. Output name: `translate-skill-de`1354. The resulting skill is identical in function, but all instructions are in German136137---138139*This skill follows the [agentskills.io open specification](https://agentskills.io/specification).*