Skip to content
Agent Orchestration
Skill

/hns-oss-docs-i18n-rules

HARD i18n rules digest for the oss-docs harness specialists working on moai-adk-go README 4-locale set and the docs-site (adk.mo.ai.kr). Covers the canonical-locale chains, the 4-locale same-PR obligation, Mermaid TD-only, the no-emoji + icon-shortcode rule, emphasis-marker

From plugin
moai-adk
1.3k50 skills22 agents20 commands4 MCP

Claude Code

$ npx -y skills add modu-ai/moai-adk --skill hns-oss-docs-i18n-rules --agent claude-code

SKILL.md

hns-oss-docs-i18n-rules.SKILL.md
name: hns-oss-docs-i18n-rules
description: >
  HARD i18n rules digest for the oss-docs harness specialists working on
  moai-adk-go README 4-locale set and the docs-site (adk.mo.ai.kr). Covers the
  canonical-locale chains, the 4-locale same-PR obligation, Mermaid TD-only,
  the no-emoji + icon-shortcode rule, emphasis-marker spacing, the URL
  blacklist, version SSOT, vercel.json redirect pattern, and the immutable
  Vercel binding. Loaded FIRST by every oss-docs specialist before any edit.
allowed-tools: Read, Grep, Glob, Bash
user-invocable: false
metadata:
  version: "1.1.0"
  category: "harness"
  status: "active"
  updated: "2026-08-17"
  tags: "oss-docs,i18n,4-locale,readme,docs-site,adk.mo.ai.kr"

oss-docs HARD i18n Rules

SSOT: `.moai/docs/docs-site-i18n-rules.md` (+ CLAUDE.local.md §17.1 for the design/icon regime). This skill is the working digest; on conflict, the SSOT wins — EXCEPT the two stale items in § Known-Stale below, where reality wins.

1. Canonical-locale chains [HARD]

| Surface | Canonical | Derivation chain | Derived files | |---------|-----------|------------------|---------------| | docs-site | **ko** | ko → en → ja/zh, same PR | `docs-site/content/{en,ja,zh}/` | | README | **ko** (`README.ko.md`) | ko → en/ja/zh, same PR | `README.md`, `README.ja.md`, `README.zh.md` |

> README canonical flipped en → ko by card t47 (operator decision 2026-08-17): > the ko new-skeleton (12-section feature-oriented structure) was promoted to > canonical, and en/ja/zh are re-derived from it. Both surfaces are now > ko-canonical — the surface chains agree.

  • Author in the canonical locale only; derive the rest. Never "fix" canonical

content inside a translation — report the discrepancy back instead.

2. 4-locale simultaneous-update obligation [HARD]

Every canonical content change MUST land in all 4 locales in the same PR. A canonical edit without its 3 derived counterparts is a locale-parity FAIL (sprint contract `locale-parity` threshold 1.0, must_pass).

3. Mermaid TD-only [HARD]

  • Allowed: `flowchart TD`, `graph TB`.
  • Forbidden: `LR` / `RL` directions (`flowchart LR`, `graph LR`,

`flowchart RL`, `graph RL`).

  • Translation preserves diagram direction verbatim.

4. No emoji in body text [HARD]

  • Use the icon shortcode instead: `{{</* icon <name> [variant] */>}}`

(defined in `docs-site/layouts/shortcodes/icon.html`; variants: `ok|warn|danger|primary|muted`).

  • Preserved (NOT emoji — do not strip): typographic symbols `→ ← ↓ ✓ ✗`, and

branding emoji inside MoAI orchestrator-banner example code blocks.

5. Emphasis-marker spacing [HARD]

  • Correct: `**바이브코딩** (Vibe Coding)` — parenthetical OUTSIDE the markers.
  • Wrong: `**바이브코딩(Vibe Coding)**`.

6. URL blacklist [HARD]

Only `adk.mo.ai.kr` is a valid docs-site domain. Forbidden (all occurrences, including link labels and translated prose):

  • `docs.moai-ai.dev`
  • `adk.moai.com`
  • `adk.moai.kr`

7. Version SSOT [HARD]

`docs-site/hugo.toml` `params.version` / `params.releaseDate` is the single version surface. Never hardcode divergent version/date strings into pages, menus, or READMEs beyond what the release process syncs.

**Release-sync obligation (operator decision 2026-08-18):** every release updates ALL version DISPLAYS to the release number in the same PR — `hugo.toml` `version` + `releaseDate` together (the file's own two-line contract), the README release badges (all 4 locales), and in-page example outputs that show the product version (statusline examples `🗿 vX.Y.Z`, update-prompt examples `X ⬆️ Y`, version-column example values). Historical citations ("introduced in vX.Y.Z", "retired in v3.0.0", "default-on since v3.0.0") are NOT displays and stay untouched. The verify recipe's version-string check (Skill "hns-oss-docs-verify" §6) enforces this at the exit gate.

8. Moved pages need redirects [HARD]

Every docs-site page move/rename adds to `docs-site/vercel.json`:

1. Locale-aware: `/:locale(ko|en|ja|zh)/old-path → /:locale/new-path` 2. Non-locale fallback: `/old-path → /ko/new-path`

9. Vercel binding immutable [HARD]

The Vercel project binding and deployment config are never changed by this harness (redirects array excepted). Push = production deploy at adk.mo.ai.kr, which is why specialists NEVER commit/push — publishing is human-gated.

Known-Stale items in the SSOT doc

The SSOT `.moai/docs/docs-site-i18n-rules.md` predates the current site and carries 2 stale facts — reality wins:

1. It says the theme is **Hextra** → reality: **hugo-geekdoc**. 2. It says config is **hugo.yaml** → reality: **`docs-site/hugo.toml`** (defaultContentLanguage=ko).

Also: the scripts `docs-i18n-check.sh` and `gen_menu.py` referenced there DO NOT exist. Never shell out to them — run the inlined checks in Skill("hns-oss-docs-verify") instead.

Read more
@modu-ai
Ships withmoai-adk

Agentic development harness for Claude Code — SPEC-driven plan/run/sync, TRUST 5 quality gates, model+effort routing, and Claude×GLM multi-LLM cost control. Single Go binary, 16 languages, zero deps.

1.3k50 skills22 agents4 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
1.3k
Star history of modu-ai/moai-adk on GitHub, a chart by star-history.com

Other skills on moai-adk.

hns-lsel-applier

hns-lsel-applier

Local Self-Evolution Loop (LSEL) APPLY engine — the playback-only consumer of approved decision.json records that drives…

@modu-ai@modu-aiInstall Skill
hns-lsel-curator

hns-lsel-curator

Local Self-Evolution Loop (LSEL) curator — the CLUSTER + drain engine for the GOOS-local PROPOSE→APPLY seam closure…

@modu-ai@modu-aiInstall Skill
hns-moaiadk-dev-reference

hns-moaiadk-dev-refere…

moai-adk-go local dev reference — version management/release process (sec 5), shell-script hook development (sec 7), build & dev…

@modu-ai@modu-aiInstall Skill
hns-moaiadk-patterns

hns-moaiadk-patterns

moai-adk-go domain-patterns reference for the 4 harness specialists (cli-template-specialist, quality-specialist,…

@modu-ai@modu-aiInstall Skill
hns-oss-docs-readme-sync

hns-oss-docs-readme-sy…

README 4-file synchronization procedure for the oss-docs harness: Korean README.ko.md as primary source, en/ja/zh derivation, the…

@modu-ai@modu-aiInstall Skill

More skills from other plugins.

1password

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

clawdis12d393k
@steipete@steipeteInstall Skill
computer-use

computer-use

Drives the GUI of a visible local app window through `orca computer`: accessibility tree, clicks, typing, menus, dialogs, and…

orca12d111k
@stablyai@stablyaiInstall Skill
agentmail

agentmail

Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…

paperclip11d109k
@paperclipai@paperclipaiInstall Skill
adr-create

adr-create

Create a new Architecture Decision Record with sequential numbering and AgentDB registration

@ruvnet@ruvnetInstall Skill

Questions about hns-oss-docs-i18n-rules.

Which coding agents can use hns-oss-docs-i18n-rules?
hns-oss-docs-i18n-rules 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.