Schema Check Skill
Extract and validate all <script type="application/ld+json"> blocks from Astro source files.
What to Check
Find all JSON-LD scripts in
src/pages/**/*.astroandsrc/layouts/*.astroFor each script block:
- Is the JSON parseable? (
JSON.parse()equivalent check) - Does it have
@context: "https://schema.org"at root? - Does it have
@type? - If it's a
@graph, do children NOT have@context?
- Is the JSON parseable? (
Layout.astro auto-inject check:
Layout.astroauto-injects aWebPageschema when it receives a simple schema object- If a page passes a
@graphobject → Layout detects it and skips injection - Verify: pages with
@graphare NOT getting a duplicateWebPagefrom Layout
Schema type validation per page:
/→ expects@graphwith Organization, SoftwareApplication, FAQPage, HowTo, WebPage/vox/,/icm/→ expects SoftwareApplication (Layout adds WebPage)/guide/*→ BreadcrumbList + TechArticle (Starlight Head override)
Output Format
Page: src/pages/index.astro
PASS: JSON parseable
PASS: @context present at root
PASS: @graph detected — Layout injection skipped
FAIL: HowTo schema missing 'step' property
Page: src/pages/vox/index.astro
PASS: JSON parseable
PASS: SoftwareApplication schema correct
WARN: No operatingSystem property (optional but recommended)
Report all issues with file + line reference where possible.