blog-analyze
Audit and score blog posts on a 5-category 100-point scoring system covering content quality, SEO optimization, E-E-A-T signals, technical elements, and AI…
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.
$ npx -y skills add AgriciDaniel/claude-blog --skill blog-multilingual --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/blog-multilingualContext preview
The summary Claude sees to decide when to auto-load this skill.
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.
name: blog-multilingual description: > 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 claude-blog (blog-write). Optional integration with claude-seo (seo-hreflang) for richer hreflang validation. metadata: author: AgriciDaniel version: "2.2.0" category: blog
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 `claude-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/`.
Invoked internally by this orchestrator:
| Component | Source | Required | |-----------|--------|----------| | `blog-write` | claude-blog (this plugin) | Yes | | `blog-translate` | claude-blog (this plugin) | Yes | | `blog-localize` | claude-blog (this plugin) | Yes (when `--localize` is on, default) | | `seo-hreflang` | claude-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.
/blog multilingual <topic> --languages <lang1,lang2,...> [--source <lang>] [--no-localize] [--format <md|mdx|html>]
| Argument | Required | Default | Description | |----------|----------|---------|-------------| | `<topic>` | Yes | required | Blog topic or working title | | `--languages` | Yes | required | Comma-separated Google-compatible hreflang tags (e.g. `de,fr,es-MX,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 hreflang tags separated by commas (e.g., `de,fr,es-MX,ja,pt-BR`). The post will be written in `<source>` first, then translated."
1. Parse arguments. Extract topic, target languages, source, format. 2. Validate each language code with the shared multilingual locale rules used by `blog-translate`, `blog-localize`, and `blog-locale-audit`: ISO 639-1 language in lowercase, optional ISO 15924 script in title case, optional ISO 3166-1 Alpha-2 region in uppercase. Require a region or explicit neutral mode for ambiguous language-only targets such as `es`, `pt`, and `zh`. 3. Detect output format from the project (frontmatter convention, file extensions, framework hints) or use `--format`. 4. Resolve source language. If a target language equals `--source`, drop it from the translation list with a notice. 5. Create the output directory inside the current working directory:
multilingual/
{source-lang}/
{lang-1}/
{lang-2}/
...Keep all output inside the project root; do not write outside the cwd.
Progress: `Phase 1: Configuration complete, [N] languages selected ([codes])`
Invoke the `blog-write` sub-skill (route through `/blog write` so all existing rules apply: template auto-selection, sourced statistics, citation capsules, Article schema priority, FAQPage only as an entity signal when visible FAQ content exists, 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}`
For each target language, invoke `blog-translate`:
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`.
If `--no-localize` is NOT set, invoke `blog-localize` for every translated post:
Apply the localized output only after resolving the generated path inside `multilingual/`, rejecting symlinks, and creating a backup when overwriting. 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`.
claude-blog is a Claude Code skill suite that writes, optimizes, audits, localizes, and refreshes blog content at scale. Every article is evaluated for Google-aligned usefulness and internal AI citation readiness heuristics.
Repo: AgriciDaniel/claude-blog
Audit and score blog posts on a 5-category 100-point scoring system covering content quality, SEO optimization, E-E-A-T signals, technical elements, and AI…
Generate audio narration of blog posts using Google Gemini TTS. Supports summary narration, full article read-aloud, and two-speaker podcast/dialogue mode with…
Full-site blog health assessment scanning all blog files for quality scores, orphan pages, topic cannibalization, stale content, and AI citation readiness.…
Establish durable brand and voice context for cross-skill consumption. Generates BRAND.md (audience, positioning, do/don't editorial rules, taboo phrases,…
Generate detailed content briefs for blog posts with target keywords, content outlines, competitive analysis, recommended statistics, image and chart…
Generate editorial calendars for blogs with topic clusters, publishing schedules, material-change reviews, update plans, seasonal opportunities, content mix…