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.
64
77%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.claude/skills/hns-oss-docs-i18n-rules/SKILL.mdSSOT: .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.
| 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 |
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).
flowchart TD, graph TB.LR / RL directions (flowchart LR, graph LR,
flowchart RL, graph RL).{{</* icon <name> [variant] */>}}
(defined in docs-site/layouts/shortcodes/icon.html; variants:
ok|warn|danger|primary|muted).→ ← ↓ ✓ ✗, and
branding emoji inside MoAI orchestrator-banner example code blocks.**바이브코딩** (Vibe Coding) — parenthetical OUTSIDE the markers.**바이브코딩(Vibe Coding)**.Only adk.mo.ai.kr is a valid docs-site domain. Forbidden (all occurrences,
including link labels and translated prose):
docs.moai-ai.devadk.moai.comadk.moai.krdocs-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.
Every docs-site page move/rename adds to docs-site/vercel.json:
/:locale(ko|en|ja|zh)/old-path → /:locale/new-path/old-path → /ko/new-pathThe 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.
The SSOT .moai/docs/docs-site-i18n-rules.md predates the current site and
carries 2 stale facts — reality wins:
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.
05117b6
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.