Back to the collection
baoyu-translate·Content & media

baoyu-translate: produce a reviewable translation with explicit terminology and audience

On this page

Use baoyu-translate to translate existing articles while preserving Markdown structure and consistent terminology. Audience, voice, and workflow mode are separate settings, and long documents can be chunked. Facts, figures, and qualifications still require review against the source.

Install and invoke

Run this in your project terminal to install only this skill for Claude Code:

Command
npx skills add jimliu/baoyu-skills --skill baoyu-translate -a claude-code

Node.js and npx must be available. For Codex, replace -a claude-code with -a codex. In the agent conversation, explicitly ask it to use baoyu-translate and supply your material. The installation command belongs in the terminal, not in your content brief.

Set preferences on the first run

Without an existing configuration, the workflow asks for language, mode, audience, style, and save location before creating EXTEND.md. Project configuration at .baoyu-skills/baoyu-translate/EXTEND.md takes precedence over user configuration. For technical documentation, explicitly choose a precise style rather than letting a storytelling default change the tone.

Example brief:

Prompt
Use baoyu-translate to translate guide.md to English in refined mode.
The audience is developers. Use technical style and glossary.md.
Preserve code, URLs, figures, and uncertainty. Distinguish explanatory additions from the source.
Complete first-run preferences, then provide the translation and review records.

Quick mode translates directly; normal adds analysis; refined also critiques, revises, and polishes. Choose based on the document's purpose. A short message does not need every stage, and a mode name does not establish guaranteed quality.

Locate the output and verify high-risk details

The final file is always translation.md inside a target-language directory beside the source. Normal and refined modes preserve analysis and shared prompting. Refined additionally retains 03-draft.md, 04-critique.md, and 05-revision.md, making changes inspectable.

Long documents in normal or refined mode are split at Markdown boundaries when they reach the configured threshold, using shared terminology and context. Quick mode does not automatically chunk. The main.ts script primarily performs splitting; running it alone does not complete a translation. After merging, inspect transitions, duplicate headings, and term consistency.

Check numbers, units, negation, conditions, links, and code. Natural phrasing must not strengthen the original claims. Image references remain, but labels inside illustrations may still use the source language and need separate localization. A translated article with an unchecked instructional diagram is not fully localized. Share the final translation while retaining review files as working evidence, and identify the source version when the original later changes.

Review a technical announcement translation

Suppose the source says that a new API may become available next quarter and is currently limited to a test environment. Specify developer readers, the language direction, and a technical style. Require the translation to retain “may,” “next quarter,” and “test environment”; refined mode must not turn a cautious statement into a general release. Put product names, CLI flags, and error codes in a glossary, and ask to keep an unresolved term in its source form with a note. Read translation.md first, then compare these high-risk sentences line by line with the source.

If only a few passages feel awkward after normal mode, continue review and polish on the existing output rather than retranslating everything. For a chunked long document, sample paragraphs near the start, middle, and end for terminology, pronoun references, and transitions. Duplicate section headings also become visible in the final file. Review artifacts explain changes, but polishing must not add data absent from the source. Record the source version so future readers can distinguish an old translation from a new error.

Confirm chunking before translating

For a long translation, confirm that chunking actually completed before reviewing the translation. On an older setup, a user chunking an Obsidian Clippings Markdown file saw Bun start but fail to resolve unist-util-visit-parents/do-not-use-color, so the expected chunks/ output was absent. For a similar error, record Bun, Node, and skill versions and inspect chunk files and frontmatter rather than assuming a started command means translation began. The issue is closed; retry with current installation instructions first, then isolate the input and failing dependency if it recurs.

How did your first task go?

These choices help us understand where readers get stuck through site analytics. Blocking analytics may prevent delivery; use email for a specific issue.

References

  1. baoyu-translate: official workflowBaoyu (Jim Liu)
  2. Repository installation and configurationBaoyu (Jim Liu)
  3. Skills CLI: select a skill and target agentVercel Labs
  4. Bun installation and runtime checksBun
  5. baoyu-translate: chunk.ts fails under bun with unist-util-visit-parents/do-not-use-colorwangyingang
Found outdated or incorrect information? Let us know