Skip to content
Development
Skill

/readme-translate

Create or re-sync a translated README snapshot (README.<lang>.md) from the canonical English README.md, preserving measured claims and identifiers while writing natural target-language prose. Use when translating the README, fixing translation style, or syncing snapshots at

From plugin
nunchi
81 skill2 commands3 hooks

Claude Code

$ npx -y skills add seob717/nunchi --skill readme-translate --agent claude-code

SKILL.md

readme-translate.SKILL.md
name: readme-translate
description: Create or re-sync a translated README snapshot (README.<lang>.md) from the canonical English README.md, preserving measured claims and identifiers while writing natural target-language prose. Use when translating the README, fixing translation style, or syncing snapshots at release time.

readme-translate

Translate the canonical `README.md` into `README.<lang>.md` as a **release-time snapshot**. The English README is always canonical; translations never lead.

Procedure

1. **Pin the base.** Record the current release tag and main commit (`git log -1 --format=%h origin/main`, `gh release view --json tagName`). These go in the snapshot header. 2. **Read `README.md` in full.** Never translate from an older translation — always from the current English canonical. 3. **Write the header block** at the top of the translation:

  • Language switcher linking every existing README language, e.g. `[English](README.md) | **한국어**`. Add the new language to the switcher of *all* other READMEs too.
  • Snapshot note (blockquote): this is a translation of the English README, base release + commit, English wins on any mismatch, synced at release time only.

4. **Translate section by section** following the style rules and glossary below. 5. **Run the gate check** (mandatory, before any commit):

   python3 .claude/skills/readme-translate/scripts/check.py README.md README.ko.md --banned 배달 재무장 강도 캐비앗

Fix every hard failure; review every reported soft item line by line. 6. **PR** per `.claude/rules/pr-rules.md` (`docs:` title; body states base commit and gate results).

Style rules

Write target-language technical prose, not translated English:

  • **Break the source syntax.** Split multi-clause English sentences; reorder to the target language's natural word order. If a sentence reads like it was translated, rewrite it.
  • **Translate meaning, never idioms word-for-word.** "upfront freight", "credit where due", "scope map, not a scoreboard" → render the *point* in a natural target-language phrasing.
  • **No transliterated loanwords when a common native word exists** (ko: "캐비앗" → 한계/단서).
  • **Product terms use commonly understood words** — English original in parentheses at first mention, target language only afterwards.
  • **Tone**: plain declarative documentation register (ko: 합니다체, consistent throughout).

Never translate

  • Fenced code blocks — byte-identical to canonical, including comments inside them.
  • Commands (`/nunchi:compile`, `gh pr create`), frontmatter keys and values (`strength`, `require-read`, `inject`, `source`), log values (`rearm`, `deny`), tool names, file paths, URLs.
  • The tagline (*"Rules with nunchi — delivered before you have to ask."*) stays in English.
  • Measured numbers, table values, and their qualifiers — identical to canonical, including every caveat and limitation paragraph (ceiling effect, unmet gates, withheld superiority claims). Dropping a humility clause is a gate failure, not a style choice.

Glossary — Korean (ko)

Decided in #29 (owner decision — do not relitigate):

| English | Use | Banned | |---|---|---| | delivery / deliver | 전달 | 배달 | | re-arm | 재활성화 | 재무장 | | strength (concept in prose) | 강제 수준 (key stays `strength`) | 강도 | | inject / injection | 주입 | — | | caveat | 한계 / 단서 | 캐비앗 | | compaction | 컴팩션 | — | | trigger | 트리거 | — | | rule (the norm) / rule file | 규칙 / 룰 파일 | — | | dead rule | 죽은 룰 | — | | just-in-time (JIT) | JIT (첫 언급에 병기) | — |

When adding a new language, add a `## Glossary — <lang>` section here first (terms + banned list), then pass that banned list to the gate check.

Gate check (what `scripts/check.py` enforces)

  • **Hard fail** — numbers present in canonical but missing in the translation (multiset over `\d+(?:[.,]\d+)*%?`); fenced code blocks not byte-identical; any banned term present.
  • **Soft report (review by hand)** — numbers only in the translation (must be explainable as the snapshot header or spelled-out English numbers rendered as digits, e.g. "a third" → "3분의 1"); inline-code spans that differ from canonical.
Read more
@seob717
Ships withnunchi

"Rules with nunchi — delivered before you have to ask." nunchi is a Claude Code plugin that turns CLAUDE.md rules into event listeners.

Stars on GitHub

Momentum

stars in total
8
Star history of seob717/nunchi on GitHub, a chart by star-history.com

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about readme-translate.

Which coding agents can use readme-translate?
readme-translate installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.