
Blog Locale Audit
Audit a directory of multilingual blog content for completeness, consistency, hreflang...
Install
npx skills add AgriciDaniel/claude-blog --skill blog-locale-audit -g -a claude-code -y- Repository
- AgriciDaniel/claude-blog2.6k
- Category
- Writing
- Updated
- 6d ago
- License
- MIT
- Context cost
- Mediumabout 1,891 tokens
- Runs scripts
- No, instructions only
What it does
Audit a directory of multilingual blog content for completeness, consistency, hreflang correctness, meta-tag parity, and freshness. Builds a translation coverage matrix, flags stale translations, validates hreflang and schema, and emits a prioritized report with runnable fix commands. Use when user says "locale audit", "blog locale-audit", "check translations", "multilingual audit", "translation check", "hreflang check", "Uebersetzungen pruefen".
Blog Locale Audit, Multilingual Quality Control
Audits a directory of multilingual blog content to ensure every language version is complete, consistent, correctly tagged, and SEO-optimized. Catches international content issues before they hurt rankings.
Adapted from
claude-blog-multilingualby Chris Mueller (Pro Hub Challenge, March 2026). Original: https://github.com/Chriss54/multilingual-int
Workflow
Phase 1: Discovery
- Resolve the target directory inside the project root/current working
directory. Reject symlinked directories and traversal outside the root,
then scan blog content and group posts by language using:
- Subdirectory names (
en/,de/,fr/). - Frontmatter
langandtranslatedFromfields. hreflang-map.jsonif present.
- Subdirectory names (
- Normalize detected language codes with the shared multilingual locale rules
used by
blog-translate,blog-localize, andblog-multilingual: ISO 639-1 language in lowercase, optional ISO 15924 script in title case, optional ISO 3166-1 Alpha-2 region in uppercase. Flag ambiguous language-only codes such ases,pt, andzhunless the content declares an explicit neutral mode. - Build a content matrix mapping which post exists in which languages. Use a
stable translation-group key before comparing slugs:
translationGroupId,sourceSlug, schematranslationOfWork.url, or the IDs and URLs inhreflang-map.json. Fall back to normalized source slug only when no stable key exists. - Detect the source language (most common
translatedFromtarget, or thesourceLanguagefield inhreflang-map.jsonif present).
Phase 2: Completeness Audit
Show which translations are missing:
### Translation coverage matrix
| Post (EN) | DE | FR | ES | JA |
|-----------|----|----|----|----|
| how-to-avoid-ai-slop | ok | ok | missing | missing |
| content-marketing-2026 | ok | missing | ok | missing |
