/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
$ npx -y skills add modu-ai/moai-adk --skill hns-oss-docs-i18n-rules --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/hns-oss-docs-i18n-rules
Context preview
The summary Claude sees to decide when to auto-load this skill.
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
SKILL.md
hns-oss-docs-i18n-rules.SKILL.mdname: 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.0.0"
category: "harness"
status: "active"
updated: "2026-07-13"
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 | **en** (`README.md`) | en → ko/ja/zh, same PR | `README.ko.md`, `README.ja.md`, `README.zh.md` |
- 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.
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
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.0.0" category: "harness" status: "active" updated: "2026-07-13" 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 | **en** (`README.md`) | en → ko/ja/zh, same PR | `README.ko.md`, `README.ja.md`, `README.zh.md` |
- 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.
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.
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.
Repo: modu-ai/moai-adk
Other skills on moai-adk.
- /hns-lsel-applier
Local Self-Evolution Loop (LSEL) APPLY engine — the playback-only consumer of approved decision.json records that drives `.moai/hooks/lsel-apply.sh` for the GOOS-local PROPOSE→APPLY seam closure (SPEC-LSEL-LOCAL-EVOLUTION-001 M3). Reads an approved decision.json, validates the
Open skill - /hns-lsel-curator
Local Self-Evolution Loop (LSEL) curator — the CLUSTER + drain engine for the GOOS-local PROPOSE→APPLY seam closure (SPEC-LSEL-LOCAL-EVOLUTION-001). Companion-offset drain of .moai/lessons-inbox.jsonl with a drain-side severity filter that drops the ~65% Bash-timeout/sandbox
Open skill - /hns-moaiadk-best-practices
moai-adk-go best-practices reference for the 4 harness specialists (cli-template-specialist, quality-specialist, workflow-specialist, hook-ci-specialist). Covers TRUST 5 gates, Go test isolation (t.TempDir, no OTEL env in parallel tests), hardcoding-prevention rules (env
Open skill - /hns-moaiadk-dev-reference
moai-adk-go local dev reference — version management/release process (sec 5), shell-script hook development (sec 7), build & dev commands (sec 10). Load only when performing these specific tasks.
Open skill - /hns-moaiadk-patterns
moai-adk-go domain-patterns reference for the 4 harness specialists (cli-template-specialist, quality-specialist, workflow-specialist, hook-ci-specialist). Covers the CLI/template/config/hook/spec subsystem architecture, key source paths, the Pipeline specialist delegation map,
Open skill - /hns-oss-docs-readme-sync
README 4-file synchronization procedure for the oss-docs harness: English README.md as primary source, ko/ja/zh derivation, the shared language-switcher header contract, section-order parity checklist, and the manual verification recipe (no linter exists for READMEs). Loaded by
Open skill

