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".
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
A direct command skips the review prompt. Inspect the source before running it.
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".
user-invokable
true
argument-hint
<topic> --languages <comma-separated-codes>
license
MIT
compatibility
Requires antigravity-blog (blog-write). Optional integration with antigravity-seo (seo-hreflang) for richer hreflang validation.
Blog Multilingual, One-Command International Publishing
The flagship multilingual orchestrator. Combines blog writing, translation,
cultural adaptation, and full international SEO into a single command.
Produces publication-ready blog posts in every target language with hreflang
tags, localized JSON-LD schema, and CMS-integration metadata.
Adapted from antigravity-blog-multilingual by Chris Mueller (AI Marketing Hub
Pro Hub Challenge submission, March 2026, scored 85/100 Proficient).
Original: https://github.com/Chriss54/multilingual-int
This port removes the original curl | bash installer and credential
handling flagged in the audit, integrates as core skills, and uses the
shared cultural-adaptation reference under blog-translate/references/.
Dependencies
Invoked internally by this orchestrator:
Component
Source
Required
blog-write
antigravity-blog (this plugin)
Yes
blog-translate
antigravity-blog (this plugin)
Yes
blog-localize
antigravity-blog (this plugin)
Yes (when --localize is on, default)
seo-hreflang
antigravity-seo (sibling plugin)
No, falls back to a self-contained generator
If seo-hreflang is not installed, the orchestrator emits hreflang tags using
its own minimal generator (Phase 5 below) and notes the limitation in the
delivery summary. Hreflang validation in that case is structural only, not the
deeper validation seo-hreflang provides.
Comma-separated ISO 639-1 codes (e.g. de,fr,es,ja,pt-BR)
--source
No
en
Source language to write the original in
--no-localize
No
off
Skip cultural adaptation (translation only)
--format
No
auto
Output format: md, mdx, or html
If --languages is missing, ask the user once before running anything:
"Which languages should the blog be published in? Provide ISO 639-1 codes
separated by commas (e.g., de,fr,es,ja,pt-BR). The post will be written in
<source> first, then translated."
Output MUST stay inside the project root. Never write outside the cwd.
Progress: Phase 1: Configuration complete, [N] languages selected ([codes])
Phase 2: Write Original Blog
Invoke the blog-write sub-skill (route through /blog write so all
existing rules apply: template auto-selection, sourced statistics, citation
capsules, FAQ schema, internal-link zones, charts, image embedding). Pass the
topic and any blog-write parameters surfaced by the user.
Save the original to multilingual/{source-lang}/{slug}.{ext}.
Progress: Phase 2: Original written, multilingual/{source-lang}/{slug}.{ext}
Phase 3: Translate to All Target Languages
For each target language, invoke blog-translate:
Input: the original blog post produced in Phase 2.
Target: the specific language code.
Run targets in parallel where the runtime supports it (one Task per
language) to reduce wall-clock time.
Save translations to multilingual/{lang}/{localized-slug}.{ext}.
Progress: Phase 3: Translating to [lang] ([X]/[N]) per language, then
Phase 3: All translations complete.
Phase 4: Cultural Adaptation
If --no-localize is NOT set, invoke blog-localize for every translated
post:
Input: the translated blog post.
Locale: the target language or region code.
Run in parallel.
Update files in place. The localizer swaps brand examples, adapts CTAs,
substitutes legal references, and adjusts formality. See
../blog-localize/SKILL.md for the full adaptation pass.
Progress: Phase 4: Cultural adaptation complete for [N] languages.
Phase 5: International SEO Generation
Generate three artifacts plus localized schema. If the seo-hreflang skill
from antigravity-seo is installed, delegate validation to it. Otherwise use the
self-contained generator below.
5a. Hreflang Tags (HTML)
Copy-paste ready tags for <head>:
<!-- Hreflang tags. Paste into <head> of each language version. --><linkrel="alternate"hreflang="{source}"href="{source-url}" /><linkrel="alternate"hreflang="{lang-1}"href="{lang-1-url}" /><linkrel="alternate"hreflang="{lang-2}"href="{lang-2-url}" /><linkrel="alternate"hreflang="x-default"href="{source-url}" />
Rules (mirrored from seo-hreflang):
Every page references all alternates including itself (self-referencing).
x-default points to the source-language version.
All URLs use the same protocol (HTTPS) and trailing-slash convention.
Bidirectional: every relationship is reciprocal.
Save to multilingual/hreflang-tags.html.
5b. Hreflang Sitemap Fragment
<?xml version="1.0" encoding="UTF-8"?><urlsetxmlns="http://www.sitemaps.org/schemas/sitemap/0.9"xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>{source-url}</loc><xhtml:linkrel="alternate"hreflang="{source}"href="{source-url}" /><xhtml:linkrel="alternate"hreflang="{lang-1}"href="{lang-1-url}" /><xhtml:linkrel="alternate"hreflang="x-default"href="{source-url}" /></url><!-- Repeat one <url> block per language version --></urlset>
Save to multilingual/hreflang-sitemap.xml.
5c. Hreflang Map (JSON)
Machine-readable mapping for CMS integration:
{"sourceSlug":"how-to-avoid-ai-slop","sourceLanguage":"en","generatedDate":"YYYY-MM-DD","versions":[{"lang":"en","slug":"how-to-avoid-ai-slop","file":"en/how-to-avoid-ai-slop.md","title":"How to Avoid AI Slop in 2026","description":"..."},{"lang":"de","slug":"wie-man-ki-slop-vermeidet","file":"de/wie-man-ki-slop-vermeidet.md","title":"KI-Slop vermeiden in 2026","description":"..."}],"hreflang":{"method":"html","x-default":"en"}}
Save to multilingual/hreflang-map.json.
5d. Localized Schema (Optional)
If the user asks, or if a frontmatter schema: true flag is present, attach
or update JSON-LD on every language version with inLanguage and
translationOfWork fields:
Use the existing /blog schema sub-skill if richer schema (FAQ, Person,
Breadcrumb) is wanted on each version.
Phase 6: Delivery Summary
## Multilingual blog complete: [Title]
### Original
- Language: [source]
- File: multilingual/{source}/{slug}.{ext}
### Translations
| Language | File | Localized | Keywords adapted |
|----------|------|-----------|------------------|
| de | multilingual/de/{slug}.md | yes | [N] |
| fr | multilingual/fr/{slug}.md | yes | [N] |
| es | multilingual/es/{slug}.md | yes | [N] |
### International SEO assets
- multilingual/hreflang-tags.html
- multilingual/hreflang-sitemap.xml
- multilingual/hreflang-map.json
- Localized schema embedded per version (if requested)
### Total
- [N] posts in [N] languages
- [N] SEO assets generated
### Next steps
- Replace `{url}` placeholders in hreflang tags with your real URLs.
- Merge `hreflang-sitemap.xml` into your existing sitemap.
- Run `/blog locale-audit multilingual/` to verify completeness.
- Resolve `[INTERNAL-LINK]` placeholders with locale-specific URLs.
- If antigravity-seo is installed, run `/seo hreflang multilingual/` for
deeper validation.