Help us improve
Share bugs, ideas, or general feedback.
From astro-builder
Audit the Astro 6 project for anti-patterns, missing translations, broken internal links, style guide violations, and schema inconsistencies. Produces a prioritized report with actionable fixes.
npx claudepluginhub pcamarajr/content-stack --plugin astro-builderHow this skill is triggered — by the user, by Claude, or both
Slash command
/astro-builder:auditThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are auditing this Astro 6 project for quality issues. Run a thorough inspection across four categories, then produce a prioritized report.
Audits multilingual blog directories for translation completeness, content parity, hreflang correctness, meta-tag parity, and freshness. Builds a coverage matrix, flags stale or missing translations, and emits a prioritized report with fix commands.
Audits multilingual website content consistency, checking hreflang annotations, language parity, regional compliance, and translation quality. Use for international SEO and localization reviews.
Complete content collections setup and management for Astro projects, including type-safe schemas, query patterns, frontmatter validation, and content organization.
Share bugs, ideas, or general feedback.
You are auditing this Astro 6 project for quality issues. Run a thorough inspection across four categories, then produce a prioritized report.
Read:
CLAUDE.md — project rules and quality gates..astro-builder/anti-patterns.md — project-specific anti-patterns..astro-builder/content-schema.md — expected content structure..astro-builder/style-guide.md — writing rules.astro.config.ts — i18n config, integrations, adapter.src/content.config.ts — collection schemas.Also read the canonical Astro 6 anti-patterns from docs/astro-patterns.md.
Check for violations of the page-views pattern:
src/pages/ should be ≤5 lines — a single import and component render. Flag any page that contains markup, data fetching, or logic.src/page-views/ should use Astro.currentLocale — flag any that accept a lang prop instead.lang or tl as props — each resolves its own locale. Grep for lang={ and tl={ in component calls.src/content/config.ts must not exist. Only src/content.config.ts is valid.astro.config.mjs must not exist. Only astro.config.ts is valid.src/pages/en/, check that a matching page exists in every other configured locale folder. List missing pages.src/i18n/en.json, check that the same key exists in all other locale JSON files. List missing keys with the English fallback value.translationKey is set. Flag entries that are missing it.translationKey, verify a matching entry exists in every configured locale. List entries with no translation..astro files for literal English text outside of tl() calls (e.g. >About<, >Home<). Flag suspected hardcoded UI strings.For each content collection defined in src/content.config.ts:
lang values match valid configured locales.date fields are valid ISO dates.tags are arrays (not strings).Read .astro-builder/style-guide.md and check a sample of 5 content files per collection:
This is a best-effort check — report findings but don't auto-fix style issues.
Run pnpm build. If it fails, include the full error output in the report as a P0 issue.
Run tsc --noEmit. Include any TypeScript errors as P0 issues.
Run biome check . if Biome is configured. Include lint errors as P1 issues.
Produce a structured report in this format:
## Audit Report — {date}
### P0 — Must fix (build broken or data loss risk)
- [ ] {issue description} → {file:line} → {suggested fix}
### P1 — Should fix (correctness or i18n gaps)
- [ ] {issue description} → {file:line} → {suggested fix}
### P2 — Nice to fix (style, consistency, minor issues)
- [ ] {issue description} → {file:line} → {suggested fix}
### Summary
- Files audited: {n}
- Issues found: {P0: n, P1: n, P2: n}
- Build status: PASS / FAIL
After presenting the report, ask: "Would you like me to fix all P0 and P1 issues automatically?"
If yes, fix them autonomously, then re-run pnpm build and tsc --noEmit to confirm all P0/P1 issues are resolved.