Agent skill

Translate Docs

by reactive in reactive/data-client

Translate the docs site into another language (website/i18n), or update translations after the English docs changed; the repo lists the work and validates it, any model can translate

Apache-2.0Auto-check passedFrontend & Design

Install Translate Docs

skills CLI
$ npx skills add reactive/data-client --skill translate-docs -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install reactive/data-client translate-docs --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/reactive/data-client.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/translate-docs .claude/skills/translate-docs && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
translate-docs
GitHub stars
2k
Token cost
~1k tokens
SKILL.md length
554 words
Files
1
Skills in repo
18
Repo updated
First seen
Licence
Apache-2.0

At a glance

Translate the docs site into another language (website/i18n), or update translations after the English docs changed; the repo lists the work and validates it, any model can translate

  • Works in 4 steps: node website/translate/translate.mjs… → Translate, following the rules below.… → Before committing, node… → …
  • Tasks that involve Translation
  • SKILL.md covers Procedure, Weekly run and Translation rules
  • Calls node

What it does

Translate Docs is an agent skill from reactive/data-client. Translate the docs site into another language (website/i18n), or update translations after the English docs changed; the repo lists the work and validates it, any model can translate

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Frontend & Design, covering Translation, Internationalization and Static sites and blogs. The repository describes itself as: Async State Management without the Management. REST, GraphQL, SSE, Websockets. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Translation
  • Tasks that involve Internationalization
  • Tasks that involve Static sites and blogs

Example prompts

  • “/translate-docs”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. node website/translate/translate.mjs prepare --json (add --locale es for one locale). For each locale it prints
  2. Translate, following the rules below. Write each page to its translation path; create folders as needed.
  3. Before committing, node website/translate/translate.mjs finalize. It checks every changed translation against its English, adds heading…
  4. Commit the translations, the UI JSON files and the lock together.

What it can do on your machine

Read from SKILL.md and the folder at commit c0abfff. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Translate Docs loads about 1k tokens when it runs. Until then it costs about 49 tokens; SKILL.md has 554 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~49
When it runs · the whole SKILL.md, loaded when a task matches
~1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from reactive/data-client at commit c0abfff, republished under its Apache-2.0 licence (© reactive). 554 words, ~1,042 tokens.

Download SKILL.mdSave it as .claude/skills/translate-docs/SKILL.md (or your agent's skills folder).
name
translate-docs
description
Translate the docs site into another language (website/i18n), or update translations after the English docs changed; the repo lists the work and validates it, any model can translate
disable-model-invocation
true
metadata.internal
true

Translate the docs

English in docs/ is the only source. website/translate/translate.mjs lists what to translate and checks what you wrote; you do the translating. How the pieces fit: website/translate/README.md.

Procedure

  1. node website/translate/translate.mjs prepare --json (add --locale es for one locale). For each locale it prints:
    • language: the language to write, and glossary: the terms file to follow.
    • pages: each source page to translate into its translation file. new pages need a full translation. update pages already have one: when a diff command is given, run it to see what changed in English and change only the matching parts of the translation, keeping every other line as it is (reviewed wording survives this way). Without a diff, compare the translation against the English yourself.
    • removed: translations it deleted because their page is no longer translated; commit the deletion.
    • ui: UI strings (navbar, footer, sidebar labels) still in English. Each id is <json file>#<key>; translate the message of that key in the file. previous is its translation of older English, to update.
  2. Translate, following the rules below. Write each page to its translation path; create folders as needed.
  3. Before committing, node website/translate/translate.mjs finalize. It checks every changed translation against its English, adds heading anchors, and records the English it translates in website/translate/lock/<locale>.json. Fix each ✗ problem it prints and run it again until it passes. A UI string that should read the same as English (a product name) is accepted with --same <id>.
  4. Commit the translations, the UI JSON files and the lock together.

Weekly run

A Claude Code routine runs this early every Sunday morning; run by hand the same way.

  1. Start from the latest master. If a translation PR from an earlier run is still open, stop: one update at a time keeps review small.
  2. Run the procedure above for every locale. If prepare lists no pages, no UI strings and nothing removed, stop without a PR.
  3. Run node --test website/translate/mdx.test.mjs and node website/translate/translate.mjs check, then open a PR titled docs(i18n): Update translations listing per locale the pages translated, updated and removed.

Never edit website/translate/lock/*.json or the generated website/i18n/<locale>/docusaurus-plugin-content-docs*/current/ folders yourself.

Show full SKILL.md (197 more words)Show less

Translation rules

The docs are for Reactive Data Client (@data-client), a TypeScript library for fetching, caching and mutating async data in React and Vue apps.

Write natural, precise technical prose for developers, as a native-speaking engineer would. Keep the meaning, tone and level of detail; never add, drop or summarize content.

Pages are MDX (Markdown with JSX) for Docusaurus. Translate only human-readable prose: paragraphs, headings, list items, table cells, admonition titles (the text in :::tip[...]), link text, image alt text, text between JSX tags, label/title/alt/description attribute strings, and the title, sidebar_label and description front matter values (and their react_/vue_ variants).

Keep everything else byte for byte (finalize rejects changes to it):

  • Code blocks, inline code (like this), import and export lines, JSX tags and their other attributes, {expressions} and HTML.
  • Directive lines: :::react, :::vue, :::tip and other ::: lines, and inline :react[...]/:vue[...] (translate only the text in their brackets).
  • Link and image URLs, front matter keys and every other front matter value, and heading ids like {#some-id}.
  • Markdown structure: the same headings at the same levels, paragraphs, lists, tables and blank lines.

Product, API and package names stay in English. The glossary of each language has the rest.

© reactive, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/translate-docs of reactive/data-client.

Open the folder on GitHubat commit c0abfff

Compare with similar skills

Translate Docs next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Translate Docs compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Translate Docs this skillreactive/data-client2k—~1kAutomated safety check: PassApache-2.0
Repomix Website Maintaineryamadashy/repomix29k1 repos~342Automated safety check: PassMIT
Docs Websitekurotu/VRCQuestTools373—~1.3kAutomated safety check: PassMIT
Chatbox i18n Translatorchatboxai/chatbox42k—~508Automated safety check: PassGPL-3.0
Enforce Rules For I18nmoeru-ai/airi50k—~1.5kAutomated safety check: PassMIT
Translation ReviewDevolutions/UniGetUI26k—~1.3kAutomated safety check: PassMIT

Similar skills

  • Guides edits to the Repomix documentation site's VitePress configuration, per-language content, and translation workflow across 14 languages.

    29k GitHub starsUsed in 1 repo~342 tokens
    Frontend & DesignAuto-check passed
  • Docs Website

    kurotu/VRCQuestTools

    Use this skill FIRST for any task whose output lives in the Website/ directory — the VRCQuestTools user manual / docs site (Docusaurus, bilingual en/ja).

    373 GitHub stars~1.3k tokensUpdated yesterday
    Writing & ContentAuto-check passed
  • Chatbox i18n Translator

    chatboxai/chatbox

    Translates new or changed i18n keys from a Chatbox Pro diff, staged changes or a commit range, writing the locale JSON files directly with a built-in glossary.

    42k GitHub stars~508 tokensUpdated 17 days ago
    Frontend & DesignAuto-check passed
  • Review pending AIRI translations on Crowdin in a batch, then sync them into the repository.

    50k GitHub stars~1.5k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Translation Review

    Devolutions/UniGetUI

    Reviews UniGetUI .json language files for localization quality, detects parity issues, English-equal entries, wrong-script content, and cross-language outliers, then generates a dataset for…

    26k GitHub stars~1.3k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Lingui Best Practices

    B0und/WikiSpeedrun

    Implement internationalization with Lingui in React and JavaScript applications.

    133 GitHub starsUsed in 2 repos~4.2k tokens
    Frontend & DesignAuto-check passed

More from reactive/data-client

All 18 skills in this repo
  • Data Client REST Setup

    reactive/data-client

    Set up and migrate to @data-client/rest for REST APIs. An agent skill from reactive/data-client.

    2k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Data Client Manager

    reactive/data-client

    Implement @data-client Managers for global/background side effects - websocket, SSE, polling, real-time updates, subscriptions, logging, analytics, metrics/timing, error reporting (Sentry), toast…

    2k GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Data Client React

    reactive/data-client

    Use @data-client/react hooks for data fetching, mutations, and rendering - useSuspense, useFetch, useQuery, useCache, useLive, useDLE, useSubscription, useController, DataProvider, AsyncBoundary…

    2k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Data Client React Testing

    reactive/data-client

    Test @data-client/react with renderDataHook and mountDataClient - jest unit tests, fixtures, interceptors, MockResolver, mock responses, nock HTTP mocking, fake timers for polling/subscription…

    2k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Data Client REST

    reactive/data-client

    Define REST APIs with @data-client/rest - resource(), RestEndpoint, CRUD (GET/POST/PUT/PATCH/DELETE), HTTP fetch, normalize, cache, urlPrefix, path-to-regexp parameters, searchParams, pagination…

    2k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Data Client Schema

    reactive/data-client

    Model data with @data-client schemas (Entity, EntityMixin, Collection, Union, Query, Values, All, Invalidate, Lazy, Scalar) for atomic, consistent, referentially-equal async data via normalization…

    2k GitHub stars~2.3k tokensUpdated today
    Auto-check passed

Questions about Translate Docs

What does Translate Docs do?

Translate the docs site into another language (website/i18n), or update translations after the English docs changed; the repo lists the work and validates it, any model can translate. Translate Docs is an agent skill from reactive/data-client.

When should I use Translate Docs?

Translate Docs fits situations like: tasks that involve Translation; tasks that involve Internationalization; tasks that involve Static sites and blogs.

How do I install Translate Docs in Claude Code?

Run `npx skills add reactive/data-client --skill translate-docs -a claude-code`. Or copy the skill folder (.agents/skills/translate-docs in reactive/data-client) into .claude/skills/translate-docs in your project. Claude Code loads it when a task matches its description.

How do I install Translate Docs in Codex?

Run `npx skills add reactive/data-client --skill translate-docs -a codex`. Or copy the skill folder (.agents/skills/translate-docs in reactive/data-client) into .agents/skills/translate-docs in your project. Codex loads it when a task matches its description.

Can I use Translate Docs in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add reactive/data-client --skill translate-docs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/translate-docs, .gemini/skills/translate-docs, .github/skills/translate-docs and .opencode/skills/translate-docs in your project.

What does Translate Docs need to run?

Going by SKILL.md and its folder, Translate Docs needs the command-line tools its instructions call (node).

Does Translate Docs access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Translate Docs safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Translate Docs use?

Translate Docs is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Translate Docs use?

About 1k tokens (SKILL.md is roughly 4.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Translate Docs?

Skills that share tags, products or a category with Translate Docs: Repomix Website Maintainer (yamadashy/repomix, 29k stars), Docs Website (kurotu/VRCQuestTools, 373 stars), Chatbox i18n Translator (chatboxai/chatbox, 42k stars) and Enforce Rules For I18n (moeru-ai/airi, 50k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Translate Docs?

reactive (a GitHub organization) maintains it in reactive/data-client, which has 2,038 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on October 10, 2026.

Source: reactive/data-client on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.