Skip to content
Back to skills

Structured Data

ASecurity

Use when a page is genuinely an article, product, organization, local business, event, FAQ, or breadcrumb and JSON-LD structured data exists or would truthfully describe visible content. It validates that markup parses and matches what visitors see. Do not use it to invent ratings, reviews, prices, or FAQs, to add schema for its own sake, or to chase rich results the content does not merit.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 1, 2026
ai-agentsrustgonode

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned October 1, 2026

npx -y skills add moh-obaida/ReadyVibe-Skills --skill structured-data --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Structured Data?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Structured Data
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/moh-obaida-structured-data/badge)](https://www.skillsdirectory.com/skills/moh-obaida-structured-data)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: structured-data
description: "Use when a page is genuinely an article, product, organization, local business, event, FAQ, or breadcrumb and JSON-LD structured data exists or would truthfully describe visible content. It validates that markup parses and matches what visitors see. Do not use it to invent ratings, reviews, prices, or FAQs, to add schema for its own sake, or to chase rich results the content does not merit."
license: Apache-2.0
metadata:
  kind: specialist
  launch-checks: "18"
  helpers: "inspect-metadata"
---

# structured-data

Structured data is a **claim to search engines about visible content**. False or invisible claims (fake ratings, prices that are not shown) are worse than none: they invite penalties and destroy trust.

## Activate when

- JSON-LD/microdata already exists (validate it), or a page is a real article, product, organization, local business, event, or breadcrumb trail where accurate markup helps.
- Not on pages that fit none of those, and not to "add schema" generically.

## Inspect

1. **Find markup:** `<script type="application/ld+json">` blocks, microdata (`itemscope`), RDFa; `node scripts/inspect-metadata.mjs --url <site> --render` reports JSON-LD types and parse failures per page (paths relative to this skill's folder).
2. **Parse and shape:** valid JSON; correct `@context`/`@type`; required and recommended properties for the type present; URLs absolute and on the production host (no localhost); dates ISO 8601; images resolve.
3. **Match visible content:** every marked-up fact appears on the page. Product price and availability equal the displayed values; `Organization` name/logo/`sameAs` match the real brand and profiles; `Article` headline/author/date match the page; `FAQPage` questions and answers are visible on the page; `BreadcrumbList` matches actual navigation.
4. **Fake or unearned properties:** `aggregateRating`/`review` with no real, visible, collected reviews; `Offer` prices not on the page; `LocalBusiness` address for a business with no premises; `FAQPage` on marketing filler.
5. **Duplication and conflicts:** several conflicting `Organization` blocks; markup on every page that describes only the home page.

## Evidence that counts

Label each claim OBSERVED, SOURCE-INDICATED, DECLARED, INFERRED, UNKNOWN, or REVIEW REQUIRED. UNKNOWN is never a pass and never a failure.

- Parseable markup is OBSERVED; being *eligible* for a rich result is UNKNOWN (search engines decide, and eligibility rules change).
- Visible-content match is OBSERVED against the rendered page.

## May change

Fix syntax and URLs; remove unsupported or fabricated properties; add minimal, accurate `Organization`/`WebSite`/`Article`/`Product`/`BreadcrumbList` markup **where the page's visible content supports every property you add** and the owner has supplied real values (logo, `sameAs`, author). Never add ratings, reviews, prices, or business details you cannot see on the page.

## Must not claim

"Rich-result eligible", "will show stars/FAQ snippets", "Google-validated". Do not cite validator results you did not run.

## Verify

Re-run the metadata helper; confirm no `JSONLD_INVALID`; compare each property with the rendered page. Suggest the owner check the deployed URL with a rich-results validator; do not claim its outcome.

## Escalate

Ratings/reviews/prices/medical or financial content in schema; multi-location businesses; e-commerce feeds: REVIEW REQUIRED by the owner and, for ratings, `content-trust`.

## No change is valid when

No page fits a schema type, or existing markup is valid and truthful. Skip the work; do not add schema to a site that does not need it.

Files in this skill

  • SKILL.md3.6 KB
  • scripts/inspect-metadata.mjs23.9 KB
  • scripts/lib/browser.mjs3.3 KB
  • scripts/lib/html.mjs5.8 KB
  • scripts/lib/pages.mjs11.3 KB
  • scripts/lib/report.mjs3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…