configs/skills/blog-translate/SKILL.md
Translate existing blog posts into one or more target languages with SEO-optimized localization. Produces native-quality translations that preserve markdown structure, frontmatter, schema JSON-LD, image and chart embeds, and citation capsules. Localizes keywords, meta tags, numbers, dates, currencies, and quote styles per locale. Flags machine-translation artifacts for review. Run BEFORE blog-localize: this handles language conversion; localize handles cultural adaptation after translation completes. Use when user says "translate blog", "blog translate", "uebersetzen", "traduire", "traducir", "translate post", "blog auf Deutsch", "blog en espanol".
npx skillsauth add shenxingy/claude-code-kit blog-translateInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Translates an existing blog post into one or more target languages. Unlike generic translation, this skill produces SEO-optimized, publication-ready content with localized keywords, meta tags, and culturally correct formatting.
Adapted from
claude-blog-multilingualby Chris Mueller (Pro Hub Challenge, March 2026). Original: https://github.com/Chriss54/multilingual-int
Load on demand:
references/translation-rules.md, format preservation, number/date/currency
formats per locale, quote handling, quality criteria.references/cultural-adaptation.md, cultural profiles per locale (DACH,
Francophone, Hispanic, Japanese, custom). This file is shared with
blog-localize (do not duplicate).lang field.lang attribute.--to as comma-separated ISO 639-1 codes
(de,fr,es,ja,pt-BR). If --to is missing, ask the user once: "Which
languages should I translate to? Provide ISO 639-1 codes (e.g., de, fr,
es, ja, pt-BR)."jp becomes
"Did you mean ja for Japanese?"). If a target equals the source
language, skip it with a notice.Extract the translatable surface:
title, description, tags, author (only when
translatable, e.g. role labels, not personal names).alt text and <figcaption> content.<text> and <tspan> content; preserve every SVG attribute (x,
y, font-size, fill, transform).Preserve unchanged:
[INTERNAL-LINK: ...]).Identify the primary and secondary keywords for Phase 3.
For each target language:
Spawn the blog-translator agent (via Task) for each target language with:
references/translation-rules.md and the cultural profile in
references/cultural-adaptation.md if one exists for the target locale.Run agents in parallel when translating into multiple languages.
The agent returns the fully translated post in the same format as the input.
For each translated version:
lang: "de"
translatedFrom: "en"
translatedDate: "YYYY-MM-DD"
slug: "wie-man-ki-slop-vermeidet"
references/translation-rules.md).translations/
{lang}/{localized-slug}.{ext}
When invoked from blog-multilingual, save into
multilingual/{lang}/{localized-slug}.{ext} instead.Scan the output for machine-translation artifacts before reporting done:
Flag every issue inline (file path, line number, fix suggestion). The translator agent should re-pass any flagged passage before delivery.
## Translation complete: [Original title]
### Source
- Language: [source]
- File: [source path]
### Translations
| Language | File | Keywords adapted | Status |
|----------|------|------------------|--------|
| de | translations/de/{slug}.md | [N] | ok |
| fr | translations/fr/{slug}.md | [N] | ok |
### Quality checks
- Structural integrity: pass / fail per language
- Meta tags localized: pass / fail per language
- Numbers, dates, currencies formatted per locale: pass / fail
- Keywords localized: [N] keywords adapted
- Machine-translation artifacts flagged: [N] (see notes above)
### Next steps
- Run `/blog localize <file> --locale <code>` for cultural deep-adaptation.
- Run `/blog locale-audit translations/` to verify completeness.
- Use `/blog multilingual` to combine write, translate, localize, hreflang
in one command.
| Scenario | Action | |----------|--------| | Unsupported language code | Suggest the correct ISO 639-1 code | | Source equals a target | Skip with "Source is already in [lang]" | | File not found | Report error with suggested path | | Translator agent timeout | Retry once, then report partial results | | Binary or non-text file | Report error, suggest correct file |
/blog localize <file> --locale <code>/blog locale-audit <directory>/blog multilingual <topic> --languages <codes>testing
One-command multilingual blog creation. Writes a blog post, translates it into user-specified languages, applies cultural adaptation, and emits hreflang tags, sitemap entries, and a CMS-ready language map. The complete write-to-publish pipeline for international content. Orchestrates blog-write, blog-translate, blog-localize, and (optionally) seo-hreflang. Use when user says "multilingual blog", "blog multilingual", "write in multiple languages", "international blog", "mehrsprachiger Blog", "blog multilingue", "blog multilingue", "create blog in German and French".
development
Research what people are actually saying about a topic in the last 30 days across Reddit, X / Twitter, YouTube, Hacker News, dev.to, Medium, and other public discourse platforms. API-free; uses WebSearch with platform-targeted site operators plus recency filters. Produces DISCOURSE.md (a structured brief) and JSON output the writer can consume. Complements blog-researcher (which focuses on authority sources) with a recency-and-engagement lens. Use when user says "blog discourse", "discourse research", "what are people saying about", "research what people are saying", "voice of customer", "social listening", "30-day research", "trend research", "what's the discussion on", "real-time research", "practitioner discourse", "/blog discourse".
documentation
Establish durable brand and voice context for cross-skill consumption. Generates BRAND.md (audience, positioning, do/don't editorial rules, taboo phrases, competitor differentiation) and VOICE.md (existing persona JSON re-expressed as readable prose), both written to the project root. When present, all blog sub-skills auto-load these files before writing or reviewing. Pairs with blog-persona, which manages the structured persona JSON. Use when user says "blog brand", "create brand context", "brand voice doc", "BRAND.md", "VOICE.md", "establish editorial brand", "brand guidelines for blog".
development
Server-side tracking pipeline audit covering server-side Google Tag Manager (sGTM), Meta CAPI Gateway, Conversions API health, event deduplication via event_id, server-side hit ratio targets, pixel debugging, and PII hashing discipline. Use when user says server-side tracking, sGTM, server-side GTM, server-side tagging, CAPI, Conversions API, CAPI Gateway, Meta Conversions API, event deduplication, event_id, pixel debug, pixel health, Pixel/CAPI audit, first-party tracking, iOS 14.5 recovery, or server-side hit ratio.