一键导入
localize
localize an article, translate an article into Spanish French German, localize release notes, translate release notes, translate KB article
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
localize an article, translate an article into Spanish French German, localize release notes, translate release notes, translate KB article
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
write a new KB article, generate knowledge base article, draft a KB doc, create a new article, write documentation, create MDX article
update a KB article, rename a document, edit article content, update screenshots, swap screenshots, remove content, update file paths, cross-file updates, update steps in a process, combine articles, split an article, merge articles
Automate the connector PR/Jira review workflow: match open GitHub PRs to Jira tickets, check approval status, post follow-ups, merge, and close tickets. Use when Jared asks to review connector PRs, run the connector dashboard, follow up on stale tickets, merge a specific connector ticket, or when handling a publish or migration request from Arun.
Generate user-friendly release notes by diffing the latest git tag against the previous tag and summarizing the changes. Use when the user asks to "generate release notes", "write release notes for the latest release", "summarize the latest release", or similar. Saves a shareable MDX file to `releaseNotes/` and a sanitized external version to `releaseNotesExternal/`.
Revise the MDX content in the current branch's PR for Domo style guide compliance and MDX code conventions — then preview the diff before committing and pushing.
Regenerate Article-PM-Ownership-Reference.mdx after the squad CSV or article list changes
| name | localize |
| user-invocable | true |
| description | localize an article, translate an article into Spanish French German, localize release notes, translate release notes, translate KB article |
| argument-hint | article filename or path (e.g., s/article/March-2026-Release.mdx) |
Localize a Domo KB article into Spanish, French, and German.
The user has provided: $ARGUMENTS
Before doing anything else — before identifying the article, before asking any questions, before writing a single translated word — read Localization-Style-Guide.mdx in full from the root of the repository.
# Confirm the file exists and read it
cat Localization-Style-Guide.mdx
The style guide is the authoritative reference for every translation decision in this skill. Do not rely on memory or general translation knowledge. Every term, header, and convention must follow what is documented there.
If $ARGUMENTS specifies an article path or title, confirm the exact file path before proceeding. If it's ambiguous, search:
grep -rl "title:.*keyword" s/article/ s/topic/
Read the identified English article in full before proceeding. You need to understand its content, structure, and any special components before translating.
Also confirm: does this article already have localized versions in any of the three language directories?
ls es/s/article/$(basename "$ARTICLE_PATH") fr/s/article/$(basename "$ARTICLE_PATH") de/s/article/$(basename "$ARTICLE_PATH") 2>/dev/null
If localized versions already exist for any language, flag this to the user and ask whether to overwrite them.
Ask the user two questions (combine into one message):
If the article is Release Notes, also ask:
s/article/Current-Release-Notes.mdx) or a past (archived) release notes article?Follow this flow only when the user confirms the article is s/article/Current-Release-Notes.mdx.
This flow has two phases per language: (1) archive the existing localized content, then (2) replace it with a fresh translation of the English Current Release Notes.
For each target language, perform the following:
1. Read the existing localized Current Release Notes:
cat {es,fr,de}/s/article/Current-Release-Notes.mdx
2. Determine the archive filename.
Look at the frontmatter title and content of the localized Current Release Notes to identify which release it contains. Compare against the English archived release notes to find the corresponding English archive file. Use the same filename as the English equivalent:
# Find the corresponding English archive by title/content match
grep -rl "title:.*keyword" s/article/
Naming conventions for archive files (follow whichever pattern the English archive uses for this release):
March-2026-Release.mdx, November-2025-Release.mdx000006035.mdx, 000005924.mdxIf you cannot confidently determine the correct archive filename, ask the user: "The current [language] localized release notes appear to contain [description of content]. What filename should I use for the archive? (For reference, the English archive for this release is s/article/[filename].)"
3. Check whether the archive file already exists:
ls {es,fr,de}/s/article/ARCHIVE-FILENAME.mdx 2>/dev/null
If the archive file already exists for a given language, do not overwrite it. Skip the archiving step for that language and note this to the user.
4. Write the archive file:
Create {lang}/s/article/ARCHIVE-FILENAME.mdx with the exact content from {lang}/s/article/Current-Release-Notes.mdx. Do not modify the content — this is a straight copy to preserve history.
5. Add the archived file to docs.json navigation:
Invoke the add-to-nav skill for each language with:
{lang}/s/article/ARCHIVE-FILENAME (no .mdx)The localized Release Notes tab names are:
1. Read the English Current Release Notes in full:
cat s/article/Current-Release-Notes.mdx
2. Translate into each target language following all rules in Localization-Style-Guide.mdx.
Key reminders for Current Release Notes translation:
title: and excerpt: frontmatter fields<Frame>, <BetaNote />, import statements, and MDX components unchanged/images/kb/{lang}/; if they exist, use the localized path; if not, use the English image path as-is3. Write the translated content to the pre-existing localized Current Release Notes files — replacing the content that was just archived:
es/s/article/Current-Release-Notes.mdx ← overwrite with Spanish translation
fr/s/article/Current-Release-Notes.mdx ← overwrite with French translation
de/s/article/Current-Release-Notes.mdx ← overwrite with German translation
These files already exist; use the Edit or Write tool to replace their content entirely.
Do not add these to docs.json navigation — they are already registered under {lang}/s/article/Current-Release-Notes.
4. Validate docs.json:
python3 -c "import json; json.load(open('docs.json')); print('docs.json is valid JSON')"
Follow this flow for:
cat s/article/FILENAME.mdx
Following all rules in Localization-Style-Guide.mdx:
title: and excerpt: frontmatter fields/s/article/...) — do not prefix with a language code--- horizontal rule, then ###### or ## headings with bullet lists summarizing the article, then another ---. These blocks have since been removed from English. If the English source article you are translating contains one, do NOT include it in the translation. If an existing localized version you are updating has one, remove it. The pattern to recognize: frontmatter --- → blank line → --- → section headings with bullets → --- → actual content.import { BetaNote } from '/snippets/BetaNote.mdx'; and <BetaNote /> or <BetaNote generic />, replace with the language-specific export from the same snippet file. The import path stays identical; only the named export and component name change:
import { BetaNoteEs } from '/snippets/BetaNote.mdx'; → <BetaNoteEs /> / <BetaNoteEs generic />import { BetaNoteFr } from '/snippets/BetaNote.mdx'; → <BetaNoteFr /> / <BetaNoteFr generic />import { BetaNoteDe } from '/snippets/BetaNote.mdx'; → <BetaNoteDe /> / <BetaNoteDe generic />import { BetaNoteJa } from '/snippets/BetaNote.mdx'; → <BetaNoteJa /> / <BetaNoteJa generic />beta.admin@domo.com rather than the snippet), replace it with the appropriate <LangBetaNote generic /> component and add the import line. Never carry forward raw italic beta text into a localized article.Write each localized version to the corresponding language directory using the same filename as the English source:
es/s/article/FILENAME.mdx
fr/s/article/FILENAME.mdx
de/s/article/FILENAME.mdx
ja/s/article/FILENAME.mdx
(Write only the files for the requested target languages.)
For each language, invoke the add-to-nav skill:
Find the English article's nav placement first:
grep -n "\"s/article/FILENAME\"" docs.json
Read ±30 lines around the match to understand the tab, group, subgroup, and position.
Then insert the localized version at the equivalent position in the target language's navigation section of docs.json, mirroring the English placement as closely as possible. The localized nav sections follow the same structural hierarchy as English but use translated group names.
For release notes articles specifically, use the localized tab and group names from the style guide (see the Release Notes Conventions section).
Page path to insert: {lang}/s/article/FILENAME (no .mdx)
Invoke add-to-nav once per language (three invocations total, or fewer if only specific languages were requested).
python3 -c "import json; json.load(open('docs.json')); print('docs.json is valid JSON')"
After writing all translations and before reporting to the user, review every translated file you just wrote against Localization-Style-Guide.mdx. This is a mandatory quality checkpoint — catch anything that was hallucinated, mis-applied, or accidentally skipped.
Work through the following checklist for each language. Revise the file in place if you find an issue; do not just note the issue and move on.
<Note>, <Warning>, and <Tip> block. The label inside the callout must match the language-specific form from the style guide (e.g., **注:** for Japanese, **Remarque :** for French).<BetaNote />, confirm the translated file imports and uses <BetaNoteEs />, <BetaNoteFr />, <BetaNoteDe />, or <BetaNoteJa /> as appropriate.--- / heading bullets / ---) immediately after frontmatter.title= on <Accordion> and descriptive alt=), import statements, code blocks, and inline code are all unchanged.title and excerpt are translated. No fields were added or removed. tag fields (if present) are unchanged./s/article/ link was prefixed with a language code.<Note>, <Warning>, and <Tip> is preceded by a blank line in the MDX source.<Frame>. All block-level images are still wrapped in <Frame>. No <Frame> was removed.will) or conditional tense where the English source used present tense.Spanish
**Nota:**, **Importante:**, **Sugerencia:**French
:, !, ?, ; in French prose (e.g., **Remarque :** not **Remarque:**)**Remarque :**, **Important :**, **Conseil :**German
**Hinweis:**, **Wichtig:**, **Tipp:**Japanese
〜します or 〜してください<BetaNoteJa /> — never the English <BetaNote />**注:**, **重要:**, **ヒント:**Fix it immediately in the translated file using the Edit tool. Do not accumulate issues for a later pass. After fixing, re-check the specific rule to confirm the fix is correct.
Tell the user:
docs.json insertion (language, tab, group, position)After reporting to the user, append one row to tracking/localize-token-usage.csv.
Get the values:
# Today's date
date +%Y-%m-%d
# Git username (the person running the skill)
git config user.name
Estimate tokens: Based on the article(s) you just processed, estimate total tokens for this skill run using these rough tiers (includes translation, quality review, nav updates, and prompt overhead):
Write an integer estimate (e.g., 35000). For exact counts, check the Anthropic Console API logs for this session.
Append the row:
echo "$(date +%Y-%m-%d),$(git config user.name),ARTICLE_FILENAME,LANGUAGES_LIST,TOKEN_ESTIMATE" >> tracking/localize-token-usage.csv
For LANGUAGES_LIST, use a slash-separated list of language codes (e.g., es/fr/de/ja). For ARTICLE_FILENAME, use just the filename (e.g., March-2026-Release.mdx), not the full path.
Do not leave a blank line before or after the appended row — the CSV must stay valid.