Content Translation
Translate shared site MDX content into every locale directory under content/locales.
This skill is for MDX entries only:
- Shared writing entries in
content/writing/[slug].mdx
- Shared project entries in
content/projects/[slug].mdx
Do not use this skill for site JSON bundles under content/locales/<locale>/site/*.json.
When To Run
Run this skill only when the source file is a canonical shared entry:
content/writing/[slug].mdx
content/projects/[slug].mdx
Do not fan out from locale-specific source files such as:
content/locales/<locale>/writing/[slug].mdx
content/locales/<locale>/projects/[slug].mdx
Workflow
- Read the source MDX file and confirm whether it is writing or project content.
- Discover target locales from the directories that exist under
content/locales.
- Treat the source entry as the default locale version and translate into every other locale directory found on disk.
- Write translated files to:
content/locales/<locale>/writing/[slug].mdx
content/locales/<locale>/projects/[slug].mdx
- Preserve filename and slug exactly.
- Verify every locale folder now has a translated file or explicitly report why one was not produced.
Translation Rules
Before translating, read translation-rules.md.
Apply these rules throughout:
- Keep frontmatter keys unchanged.
- Translate frontmatter values only when they are human-facing text.
- Preserve dates, booleans, arrays of machine-readable values, URLs, filenames, and slugs unless the source format clearly expects translated prose.
- Preserve MDX structure, heading levels, code fences, JSX, links, and inline formatting.
- Keep the author's voice and the original level of specificity.
- Match the target language naturally instead of doing word-for-word substitution.
Content-Type Notes
Writing
- Preserve the original argument, pacing, and closing conviction.
- Keep paragraphs short when the source is short.
- Reuse the source theme unless there is a clear existing localized convention that requires a translated label in frontmatter.
- Keep tags consistent with the repository's existing localized content strategy; when unsure, preserve the source tags.
Projects
- Preserve the narrative arc: motivation, problem, approach, and result.
- Keep
type, status, and other enum-like frontmatter values schema-compatible.
- Translate
motivation, problemAddressed, and learnings as prose while preserving first-person voice.
Verification Checklist
Example
If the completed source file is content/writing/context-aware-agents.mdx and locale folders include en, es, and zh, create or update:
content/locales/es/writing/context-aware-agents.mdx
content/locales/zh/writing/context-aware-agents.mdx
If the completed source file is content/projects/agent-workbench.mdx, create or update:
content/locales/es/projects/agent-workbench.mdx
content/locales/zh/projects/agent-workbench.mdx
1---2name: content-translation3description: Translate shared site writing and project MDX entries into every locale defined under `content/locales`. Use after creating or updating canonical entries in `content/writing` or `content/projects`, or when the user asks to translate a writing/project entry across site locales.4---56# Content Translation78Translate shared site MDX content into every locale directory under `content/locales`.910This skill is for MDX entries only:1112- Shared writing entries in `content/writing/[slug].mdx`13- Shared project entries in `content/projects/[slug].mdx`1415Do not use this skill for site JSON bundles under `content/locales/<locale>/site/*.json`.1617## When To Run1819Run this skill only when the source file is a canonical shared entry:2021- `content/writing/[slug].mdx`22- `content/projects/[slug].mdx`2324Do not fan out from locale-specific source files such as:2526- `content/locales/<locale>/writing/[slug].mdx`27- `content/locales/<locale>/projects/[slug].mdx`2829## Workflow30311. Read the source MDX file and confirm whether it is writing or project content.322. Discover target locales from the directories that exist under `content/locales`.333. Treat the source entry as the default locale version and translate into every other locale directory found on disk.344. Write translated files to:35 - `content/locales/<locale>/writing/[slug].mdx`36 - `content/locales/<locale>/projects/[slug].mdx`375. Preserve filename and slug exactly.386. Verify every locale folder now has a translated file or explicitly report why one was not produced.3940## Translation Rules4142Before translating, read [translation-rules.md](translation-rules.md).4344Apply these rules throughout:4546- Keep frontmatter keys unchanged.47- Translate frontmatter values only when they are human-facing text.48- Preserve dates, booleans, arrays of machine-readable values, URLs, filenames, and slugs unless the source format clearly expects translated prose.49- Preserve MDX structure, heading levels, code fences, JSX, links, and inline formatting.50- Keep the author's voice and the original level of specificity.51- Match the target language naturally instead of doing word-for-word substitution.5253## Content-Type Notes5455### Writing5657- Preserve the original argument, pacing, and closing conviction.58- Keep paragraphs short when the source is short.59- Reuse the source theme unless there is a clear existing localized convention that requires a translated label in frontmatter.60- Keep tags consistent with the repository's existing localized content strategy; when unsure, preserve the source tags.6162### Projects6364- Preserve the narrative arc: motivation, problem, approach, and result.65- Keep `type`, `status`, and other enum-like frontmatter values schema-compatible.66- Translate `motivation`, `problemAddressed`, and `learnings` as prose while preserving first-person voice.6768## Verification Checklist6970- [ ] Source file came from `content/writing` or `content/projects`71- [ ] Locales were discovered from `content/locales` on disk72- [ ] One translated MDX file was created or updated per non-source locale73- [ ] Frontmatter keys still match the source74- [ ] URLs, slugs, code blocks, JSX, and placeholders were preserved75- [ ] The final response lists the translated target files7677## Example7879If the completed source file is `content/writing/context-aware-agents.mdx` and locale folders include `en`, `es`, and `zh`, create or update:8081- `content/locales/es/writing/context-aware-agents.mdx`82- `content/locales/zh/writing/context-aware-agents.mdx`8384If the completed source file is `content/projects/agent-workbench.mdx`, create or update:8586- `content/locales/es/projects/agent-workbench.mdx`87- `content/locales/zh/projects/agent-workbench.mdx`