‹ 首页

blog-locale-audit

@infrasity-labs · 收录于 1 周前

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".

适合你,如果运营多语言博客,需要确保各语言版本内容同步且符合SEO规范。

/ 下载安装
blog-locale-audit.skill双击,或拖进 Claude 桌面版 / Cowork,即完成安装↓ .skill↓ .zip
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
Claude Code~/.claude/skills/(项目级 .claude/skills/)
Codex CLI~/.codex/skills/
Cursor自动读取上面两处目录
其他工具见其文档的「skills」目录;两个下载是同一份文件,只是名字不同
/ 通过 npx 安装 校验哈希
npx oh-my-skill add infrasity-labs/dev-gtm-claude-skills/blog-locale-audit
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- infrasity-labs/dev-gtm-claude-skills/blog-locale-audit
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify infrasity-labs/dev-gtm-claude-skills/blog-locale-audit
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
82GitHub stars
~1.3K上下文体积 · 单文件
镜像托管

怎么用

技能原文 SKILL.md作者撰写 · MIT · 02cfefb

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.

Workflow
Phase 1: Discovery
  1. Scan the target directory. Group blog posts by language using:
  2. Subdirectory names (en/, de/, fr/).
  3. Frontmatter lang and translatedFrom fields.
  4. hreflang-map.json if present.
  5. Build a content matrix mapping which post exists in which languages.
  6. Detect the source language (most common translatedFrom target, or the sourceLanguage field in hreflang-map.json if 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 |

Coverage: 60% (6 of 10 expected translations present)
Missing: 4 translations needed
Phase 3: Content Parity Audit

For every post that exists in multiple languages:

| Check | What | Severity | |-------|------|----------| | Section count | Same number of H2 and H3 sections | Critical | | FAQ count | Same number of FAQ items | High | | Image count | Same number of images | High | | Chart count | Same number of charts (SVG figures) | High | | Word count ratio | Within expected band for language pair (DE +20% to +30%, JA -20%, ES +10%) | Medium | | Link count | Similar internal and external link counts | Medium | | Citation capsule count | Same number per H2 across versions | Medium | | Frontmatter parity | All required fields present per version | High |

Flag every significant deviation as an issue.

Phase 4: SEO Parity Audit

For every language version verify:

| Element | Check | Severity | |---------|-------|----------| | Title tag | Present, correct length for the language | Critical | | Meta description | Present, correct length, contains a stat | Critical | | lang attribute or frontmatter lang | Present, valid ISO 639-1 | Critical | | Schema inLanguage | Matches lang | High | | Schema translationOfWork | Points to the source URL | High | | Alt text | Translated (no English alt in non-EN posts) | High | | Slug | Localized (no English slug in non-EN posts) | Medium | | Tags | Localized | Medium | | Keywords | Localized | Medium |

Phase 5: Hreflang Audit

If hreflang-tags.html, hreflang-sitemap.xml, or hreflang-map.json exists in the directory:

| Check | What | Severity | |-------|------|----------| | Self-referencing | Each page references itself | Critical | | Return tags | Every relationship is bidirectional | Critical | | x-default | Present, points to source language | Critical | | Language codes | Valid ISO 639-1 (with optional region) | High | | URL consistency | Same protocol, same trailing-slash convention | Medium | | Completeness | Every language version represented | High |

If no hreflang files exist, report it as a critical gap and offer: "Run /blog multilingual <topic> --languages ... to regenerate, or create hreflang-tags.html manually."

If seo-hreflang from claude-seo is installed, suggest running it for deeper validation.

Phase 6: Freshness Audit

For posts with translatedDate in frontmatter:

| Check | What | Severity | |-------|------|----------| | Source updated after translation | Source modified after translatedDate | Critical | | Translation older than 90 days | May need refresh | Medium | | lastUpdated mismatch across versions | Versions out of sync | Medium | | File mtime newer than translatedDate | Content changed without frontmatter update | Warning |

Emit actionable commands per stale file:

3 translations are stale:
- de/ki-trends-2026.md (source updated 2 days ago)
  -> Run: /blog translate en/ai-trends-2026.md --to de
- fr/ki-trends-2026.md (source updated 2 days ago)
  -> Run: /blog translate en/ai-trends-2026.md --to fr
- es/tendencias-ia-2026.md (translation > 90 days old)
  -> Run: /blog translate en/ai-trends-2026.md --to es
Phase 7: Report

Output as markdown by default. If the user passes --html, also write the report to locale-audit-report.html with the same content.

## Multilingual content audit report

### Summary
- Posts audited: [N] across [N] languages
- Overall health: [score] / 100
- Critical issues: [N]
- Warnings: [N]

### Translation coverage
[Matrix from Phase 2]

### Issues found
#### Critical
- [Issue with file references]

#### Warnings
- [Issue with file references]

#### Passed
- [Checks that passed]

### Prioritized fixes
1. [Highest-impact action]
2. [...]

### Stale-translation alerts
[Runnable commands from Phase 6]

### Quick fixes
- Run `/blog translate <file> --to <missing-langs>` for [N] missing translations.
- Run `/blog multilingual` to regenerate hreflang assets.
- Run `/blog localize <file> --locale <code>` for weak cultural adaptations.
Error Handling

| Scenario | Action | |----------|--------| | Empty directory | "No blog posts found in [path]" | | Only one language present | Report coverage, suggest target languages | | No hreflang files | Flag as critical gap, offer regeneration | | Unrecognized file format | Skip with a warning |

Cross-References
  • Fill missing translations: /blog translate <file> --to <missing-codes>
  • Deepen weak adaptations: /blog localize <file> --locale <code>
  • Regenerate hreflang assets: /blog multilingual <topic> --languages <codes>
按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。