← ClaudeAtlas

expand-site-languagelisted

Add a NEW language to an EXISTING site across ALL its content, and translate the pages later without blocking. Use when the owner says "add Armenian / Spanish / French to the whole site", "make the site multilingual", "translate the whole site into X", "scale this to more languages", "add a new language to all pages/sections", or "add a locale". This is the ONLY correct way to add a language to existing content. Do NOT use compose-frozen-template, manage-content-collections, or owner_template_update_group for this — they cannot add a per-page locale to existing pages and will refuse or break the site. Two tools: owner_content_add_site_language (fan the language out, seeded with the default language so the site is valid instantly, no translation API) and owner_content_translate_pending (the non-blocking runner — you translate the strings later). Self- sufficient: no Hermes, no other agent.
Fractera/Agent-Engineering-Infrastructure · ★ 29 · AI & Automation · score 75
Install: claude install-skill Fractera/Agent-Engineering-Infrastructure
# expand-site-language The ONE way to take a site that already has content in one or two languages and **safely scale it to another language**. Deterministic file operations, **NO code generation, NO external translation API** (you are the translator — subscription rule). Self-sufficient: any single agent can do it. ## 🛑 Why a dedicated capability (do not improvise) Adding a language to an **existing** site means creating a `_data/<lang>.ts` for **every** group and **every** post, patching each `index.ts` + `group.ts`, and protecting SEO. **No other tool does this:** - `owner_content_manage_collection` — `create page` refuses an existing page; `edit page` edits only metadata and refuses a body/new locale. It **cannot** add a language to existing pages. - `owner_template_update_group` — changes only the menu manifest's `languages`; it does **not** create the per-page locale files → the language shows in the menu but the pages are broken. - `compose-frozen-template` — re-composing a group **overwrites** existing content. Never use it to add a language. If you are tempted to reach for one of those to add a language: **stop and use this skill instead.** ## The model - Languages are **build-time** (`NEXT_PUBLIC_SUPPORTED_LANGUAGES`). A language must be in the set **before** you fan it out — add it via **manage-app-settings** first, then rebuild. - Each post = `_data/{meta, en(base), <lang>(override), index}`. Each group = `_data/{en, <lang>, index, group.ts}`. Th