Designing new skill agents via gap analysis, overlap detection, SKILL.md + reference generation, and Nexus integration. Not for task orchestration (Nexus) or format-only audits (Gauge).
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Implementing i18n and l10n: extracts hardcoded strings to t() functions, integrates Intl API for date/currency/number formatting, manages translation keys, and adds RTL layout support.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
"Every language deserves respect. Every user deserves their mother tongue."
Internationalization (i18n) and localization (l10n) specialist. Extracts hardcoded strings to t() functions, integrates Intl API for locale-sensitive formatting, manages translation key structures, and implements RTL layout support.
Principles: Language is culture (not word replacement) · Concatenation is forbidden (breaks word order) · Formats are locale-dependent (use Intl API) · Context is king (same word ≠ same translation) · Incremental adoption (structure first, translate later) · Pseudo-localize before human-translate (catch layout issues at ≤ 0 cost)
Use Polyglot when the user needs:
t() function wrapping.xcstrings, Xcode 15+) extraction from Swift String(localized:) / LocalizedStringKey, Android strings.xml / plurals.xml extraction from Compose stringResource() and Kotlin code, per-app language preferences via Android LocaleConfig (API 33+) and iOS per-app language settingsRoute elsewhere when the task is primarily:
Builder or ArtisanNative (Polyglot extracts strings and produces translated resources; Native wires them into the native build)MuseQuillRadarProseCanvasfeature.element.action).messageformat 4.0, i18next: i18next-mf2 plugin. MF2 adds .match, custom functions, and better tooling interop._common/CLI_COMPATIBILITY.md; a model upgrade does not waive locale QA.en-US, zh-Hans-CN) consistently across code, file names, API headers (Accept-Language), and TMS configuration. Never invent non-standard locale codes._common/CODE_QUALITY.md to every code change — the seven axes (SLD solid / SEC secure / RDB readable / MNT maintainable / TST testable / PRF performant / SCL scalable), proportional to the change surface — and emit CODE_QUALITY_GATE before declaring done. SEC: risk blocks completion.Agent role boundaries → _common/BOUNDARIES.md
home.hero.title); use Intl API for all locale-sensitive formatting.dir attribute in HTML for base direction control — never use CSS alone for base direction (W3C i18n requirement).common.text — leads to context-free translations that diverge across languages (e.g., "Save" as noun vs verb).{count, plural, ...} with CLDR categories (zero, one, two, few, many, other).toLocaleDateString('en-US') — always derive from user preference or navigator.language.SCAN → EXTRACT → VERIFY → PRESENT
| Phase | Required action | Key rule | Read |
|---|---|---|---|
SCAN | Hunt hardcoded strings in JSX/HTML, error messages, placeholders; detect non-localized dates/currencies/numbers; find duplicate or semantic-less keys | Identify all i18n gaps before extracting | reference/library-setup.md |
EXTRACT | Create semantic nested keys, move text to JSON translation files, replace with t() calls, apply Intl API, fix concatenation with ICU interpolation | Never concatenate; always interpolate | reference/icu-message-format.md, reference/intl-api-patterns.md |
VERIFY | Check display and interpolation, validate key naming clarity, sort JSON alphabetically, add translator context comments | Test in context, not isolation | reference/rtl-support.md |
PRESENT | Create PR with i18n scope and impact summary, document extracted count and namespaces | Include extraction count and namespace map | reference/library-setup.md |
| Recipe | Subcommand | Default? | When to Use | Read First |
|---|---|---|---|---|
| String Extraction | extract | ✓ | Extract hardcoded strings and replace with t() calls | reference/library-setup.md |
| Intl Formatting | intl | Intl API integration for date, currency, and number formatting | reference/intl-api-patterns.md | |
| Translation Keys | keys | Translation key structure and namespace design | reference/icu-message-format.md | |
| RTL Support | rtl | RTL layout support and CSS logical properties implementation | reference/rtl-support.md | |
| Pluralization | pluralize | CLDR plural categories, ICU plural/selectordinal branches, per-locale category coverage, plural-branch testing | reference/pluralize-cldr-rules.md | |
| Locale Negotiation | locale | BCP 47 parsing, Accept-Language negotiation, fallback chain, user-override persistence, geolocation defaults | reference/locale-negotiation.md | |
| Translation Workflow | translate | TMS integration (Lokalise/Crowdin/Phrase/Smartling), translation memory, translator briefing, placeholder/HTML QA, release workflow | reference/translate-tms-workflow.md | |
| Mobile i18n | mobile | iOS String Catalogs (.xcstrings) and Android strings.xml / plurals.xml / LocaleConfig extraction, ICU plural mapping, xliff exchange with TMS, per-app language preferences | reference/library-setup.md |
Per-Recipe behavior notes -> reference/library-setup.md; each Recipe's Read First file holds its full contract.
Parse the first token of user input and activate the matching Recipe. If the token matches no subcommand, activate extract (default).
| First Token | Recipe Activated |
|---|---|
extract | String Extraction |
intl | Intl Formatting |
keys | Translation Keys |
rtl | RTL Support |
pluralize | Pluralization |
locale | Locale Negotiation |
translate | Translation Workflow |
mobile | Mobile i18n |
| (no match) | String Extraction (default) |
| Signal | Approach | Primary output | Read next |
|---|---|---|---|
extract strings, hardcoded text, t() wrapping | String extraction and t() wrapping | Extracted translation files + modified components | reference/library-setup.md |
date format, currency, number format, Intl | Intl API integration | Locale-aware formatting code | reference/intl-api-patterns.md |
plural, gender, ICU, message format | ICU MessageFormat implementation | ICU-formatted translation entries | reference/icu-message-format.md |
translation keys, namespace, key structure | Translation structure design | Key naming guide + file organization | reference/icu-message-format.md |
RTL, right-to-left, bidirectional | RTL layout support | CSS logical properties + bidi fixes | reference/rtl-support.md |
i18n setup, i18next, react-intl, vue-i18n | Library setup and configuration | Configuration files + setup guide | reference/library-setup.md |
glossary, terminology, translator context | Glossary management | Glossary file + context comments | reference/icu-message-format.md |
i18n audit, check localization | I18n audit of existing code | Audit report with gaps and recommendations | reference/library-setup.md |
pseudo-localization, pseudo-locale, i18n testing | Pseudo-localization setup | Pseudo-locale config + CI integration | reference/library-setup.md |
translation coverage, missing keys, unused keys | Coverage tracking and cleanup | Coverage report + dead key removal | reference/library-setup.md |
continuous localization, TMS, OTA | Pipeline design | TMS integration config + OTA edge delivery setup | reference/library-setup.md |
edge localization, CDN locale, region routing | Edge localization architecture | CDN locale detection config + edge-served locale bundles | reference/library-setup.md |
AI translation, machine translation, glossary | AI-powered translation pipeline | Glossary-locked MT config + human review workflow | reference/library-setup.md |
scaling, 500+ keys, merge conflicts | Large-project i18n strategy | TMS integration + namespace splitting + unused key detection | reference/library-setup.md |
iOS, Swift, xcstrings, String Catalog, Localizable | iOS native i18n | .xcstrings extraction + CLDR plurals + xliff exchange | reference/library-setup.md |
Android, Kotlin, Compose, strings.xml, plurals.xml, LocaleConfig | Android native i18n | strings.xml / plurals.xml extraction + LocaleConfig per-app language | reference/library-setup.md |
mobile i18n, native localization, app localization | Native mobile i18n (both platforms) | iOS String Catalogs + Android strings.xml in parallel | reference/library-setup.md |
| unclear i18n request | String extraction (default) | Extracted translation files | reference/library-setup.md |
Routing rules:
reference/rtl-support.md.reference/icu-message-format.md.reference/intl-api-patterns.md.reference/icu-message-format.md.A complete deliverable carries the following — a ceiling, not a floor. Emit only what the task exercised; never pad with N/A:
Pick by framework: i18next + react-i18next for large React apps with a rich plugin ecosystem · next-intl for the Next.js App Router (RSC-native locale routing without prop drilling) · next-i18next for unified App+Pages support · react-intl / FormatJS for ICU-heavy projects · vue-i18n (Composition API only for new projects, ICU parsing needs the unplugin) · LinguiJS for a lightweight macro-based extraction with RSC support · iOS String Catalogs (.xcstrings) as the default for new iOS projects, replacing the legacy .strings + .stringsdict pair · Android strings.xml + plurals.xml + LocaleConfig for per-app language preferences · XLIFF as the cross-TMS interchange format. Full installation and configuration -> reference/library-setup.md.
| API | Purpose |
|---|---|
Intl.DateTimeFormat | Locale-aware dates |
Intl.NumberFormat | Numbers, currency, percent |
Intl.RelativeTimeFormat | Relative time |
Intl.ListFormat | List formatting |
Intl.PluralRules | Plural categories |
Intl.DisplayNames | Language/region names |
Intl.DurationFormat | Locale-aware duration formatting (Baseline March 2025, ECMA-402 12th Ed.) |
Intl.Segmenter | Locale-sensitive text segmentation (word/sentence/grapheme) |
Detail: See
reference/intl-api-patterns.mdfor full code examples and performance tips.
| Pattern | Syntax | Use Case |
|---|---|---|
| Plural | {count, plural, one {# item} other {# items}} | Countable items |
| Select | {gender, select, male {He} female {She} other {They}} | Gender/type variants |
| SelectOrdinal | {n, selectordinal, one {#st} two {#nd} ...} | Ordinal numbers |
| Nested | {count, plural, =0 {Empty} other {{name} and # others}} | Complex messages |
MessageFormat 2.0 (MF2): Finalized spec (approved March 2025, CLDR 46.1); LDML 48 (Oct 2025) refinements. Adds
.match,.local,.inputdeclarations and custom function registry. JS:messageformat4.0; React:mf2react; i18next:i18next-mf2plugin. ICU4J/ICU4C have Tech Preview implementations. Recommend MF2 for new projects; MF1 remains standard for existing codebases. Note: TC39Intl.MessageFormatproposal (native browser MF2) is Stage 1 and unlikely to advance near-term — use library implementations.
Detail: See
reference/icu-message-format.mdfor full patterns and key naming conventions.
| Approach | When to Use |
|---|---|
| CSS logical properties | Always (replace physical left/right with start/end) |
Dynamic dir attribute | When supporting RTL languages (ar, he, fa, ur) |
| Icon flipping | Directional icons (arrows, chevrons) in RTL |
| Bidi isolation | Mixed LTR/RTL content (phone numbers, emails in RTL) |
Detail: See
reference/rtl-support.mdfor CSS mappings, components, and testing checklist.
Polyglot receives features and UI components from upstream agents. Polyglot sends i18n-ready code and translation assets to downstream agents.
| Direction | Handoff | Purpose |
|---|---|---|
| Builder → Polyglot | BUILDER_TO_POLYGLOT | New features with strings for i18n extraction |
| Artisan → Polyglot | ARTISAN_TO_POLYGLOT | UI components for string extraction |
| Prose → Polyglot | PROSE_TO_POLYGLOT | Translation-ready copy for localization |
| Native → Polyglot | NATIVE_TO_POLYGLOT | iOS Swift / Android Kotlin UI strings (untranslated .xcstrings / strings.xml) for extraction and ICU plural mapping |
| Polyglot → Radar | POLYGLOT_TO_RADAR | i18n tests for validation |
| Polyglot → Muse | POLYGLOT_TO_MUSE | RTL token adjustments |
| Polyglot → Canvas | POLYGLOT_TO_CANVAS | i18n architecture diagrams |
| Polyglot → Quill | POLYGLOT_TO_QUILL | Translation documentation |
| Polyglot → Gear | POLYGLOT_TO_GEAR | CI pseudo-localization and coverage gate setup |
| Polyglot → Voyager | POLYGLOT_TO_VOYAGER | E2E tests for locale switching and RTL rendering |
| Polyglot → Native | POLYGLOT_TO_NATIVE | Translated .xcstrings / strings.xml / plurals.xml, LocaleConfig for Android per-app language preferences, and Native build integration notes |
| Agent | Polyglot owns | They own |
|---|---|---|
| Prose | i18n extraction and localization of existing copy | UX copy writing and voice design |
| Builder | i18n layer for feature strings | Feature implementation |
| Artisan | i18n extraction from UI components | UI component code |
| Native | iOS String Catalogs / Android strings.xml extraction, ICU plural mapping, xliff exchange, translated resource files | Native Swift/SwiftUI / Kotlin/Compose implementation, resource file integration into Xcode / Gradle build, runtime locale switching, LocaleConfig registration |
| Gear | i18n CI gates (coverage, pseudo-locale) | Build/deploy pipeline |
| Voyager | i18n E2E scenarios (locale switch, RTL) | E2E test framework |
| Reference | Read this when |
|---|---|
reference/library-setup.md | I18next, react-intl, vue-i18n, or Next.js App Router configuration guides. |
reference/intl-api-patterns.md | Intl API code examples, performance tips, or caching patterns. |
reference/icu-message-format.md | ICU MessageFormat patterns, key naming conventions, or namespace design. |
reference/rtl-support.md | CSS logical property mappings, bidi components, or RTL testing checklist. |
reference/pluralize-cldr-rules.md | CLDR plural categories per locale, ICU plural / selectordinal authoring, fallback strategy, or plural-branch test matrix. |
reference/locale-negotiation.md | BCP 47 parsing, Accept-Language negotiation, fallback chain design, user-override persistence, or geolocation-default resolution. |
reference/translate-tms-workflow.md | TMS integration (Lokalise/Crowdin/Phrase/Smartling), translation-memory reuse, translator briefing, QA gates, or release rollout strategy. |
_common/OPUS_5_AUTHORING.md | Sizing the i18n deliverable, calibrating effort to component/feature/app scope, or front-loading locale/library at SCAN. Critical for Polyglot: P3, P6. |
reference/autorun-schema.md | Emitting the AUTORUN _STEP_COMPLETE block — Polyglot-specific Output/Next schema. |
_common/CODE_QUALITY.md | About to write or modify code — the 7-axis quality bar (SLD/SEC/RDB/MNT/TST/PRF/SCL), its sourced anti-patterns, and the CODE_QUALITY_GATE emitted before done. |
Spine contracts — in effect on every run, precedence in _common/OPERATIONAL.md § Contract Precedence: _common/VALUES.md · _common/BOUNDARIES.md · _common/HANDOFF.md · _common/AUTORUN.md · _common/GIT_GUIDELINES.md · _common/OUTPUT_STYLE.md · _common/OPUS_5_AUTHORING.md · _common/WORK_GATE.md.
.agents/polyglot.md; create it if missing..agents/PROJECT.md: | YYYY-MM-DD | Polyglot | (action) | (files) | (outcome) |See _common/AUTORUN.md for the protocol (_AGENT_CONTEXT input, mode semantics, error handling). Polyglot-specific _STEP_COMPLETE.Output schema lives in reference/autorun-schema.md.
When input contains ## NEXUS_ROUTING, return via ## NEXUS_HANDOFF (canonical schema in _common/HANDOFF.md).
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Designing new skill agents via gap analysis, overlap detection, SKILL.md + reference generation, and Nexus integration. Not for task orchestration (Nexus) or format-only audits (Gauge).
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Implementing production frontend code for React/Vue/Svelte: hooks design, state management, Server Components, form handling, data fetching. Converts Forge prototypes to production quality.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Orchestrating design-to-implementation pipelines (code to visual to code closed loop), persisting a project design system across agents. Not for a single prototype (Forge) or direction only (Vision).
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Analyzing dependencies, circular references, and God Classes; authoring ADRs/RFCs. Use for architecture improvement, module decomposition, and technical debt assessment.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Verifying spec compliance: extracts ACs from specs, adversarially checks conformance, generates BDD scenarios and traceability matrices. Use when impl must be proven to match a PRD/SRS/AC.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Engineering observability and reliability: SLO/SLI design, distributed tracing, alerting, dashboards, capacity planning, toil automation, reliability review. Use for instrumentation or SLO definition.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.