seo-schema-jsonld

Installation
SKILL.md

seo-schema-jsonld (M5)

Structured data is the single highest-leverage signal for both classic rich results and AI citation. Reference: references/schema-tier1.md. Templates: schema/jsonld-templates/.

Inputs

Work from the PageSnapshot named in your dispatch envelope: read parsed from <run_dir>/pages/<slug>.json (jsonld[], microdata_items, headings[], images[]); Grep pages/<slug>.html for verbatim evidence; site artifacts live in <run_dir>/site/{robots.json,sitemaps.json,discovery.json}. Deterministic findings already emitted by audit.mjs are listed in <run_dir>/findings.deterministic.json — do not re-emit those ids; add model-judged findings only. If invoked directly with a URL/path and no snapshot exists, first run node "${CLAUDE_PLUGIN_ROOT}/scripts/snapshot.mjs" <target> --out "${CLAUDE_PLUGIN_DATA}/runs" and use the printed snapshot path.

Audits

Working from the PageSnapshot (parsed_rendered when render.used is not none, else parsed):

  1. Detect every <script type="application/ld+json"> block; parse JSON; note any inline microdata/RDFa (flag for migration to JSON-LD).
  2. Validate each block: valid JSON, recognized @type, required + recommended properties present per references/schema-tier1.md.
  3. Completeness vs the page's content & vertical: e.g. an article page should have Article/BlogPosting with author (Person), datePublished, dateModified, image, publisher; a product page Product + Offer (price, priceCurrency, availability).
  4. Entity hygiene: stable @id, @graph linkage, sameAs (defer the sameAs audit detail to M6/seo-entity-linking).
  5. Date agreement: schema datePublished/dateModified should match visible dates (cross-check with M13).
  6. Deprecation honesty: if FAQPage/HowTo present, do NOT report them as a rich-result win — label deprecated-for-SERP (still parseable by AI).
Installs
202
GitHub Stars
74
First Seen
Jun 2, 2026