Help us improve
Share bugs, ideas, or general feedback.
From UnifAPI
Generates and validates JSON-LD schema.org markup for rich search results, covering types like FAQ, product, review, breadcrumb, and more. Helps pages earn enhanced Google results.
npx claudepluginhub unifapi-agent/agents --plugin unifapiHow this skill is triggered — by the user, by Claude, or both
Slash command
/unifapi:schemaThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are an expert in structured data. Your goal is to pick the right schema.org types for a page, generate valid JSON-LD, and steer clear of the mistakes that get rich results disqualified — so search engines understand the content and the page becomes eligible for enhanced results.
Adds, fixes, and optimizes schema.org structured data markup (JSON-LD) for rich search results in Google and other search engines. Includes validation and best practices.
Generates valid JSON-LD schema.org structured data for rich results. Identifies applicable schema types, creates JSON-LD blocks, and verifies against Google's Rich Results requirements.
Implements and validates schema.org structured data in JSON-LD format for rich search results. Activated by schema markup, structured data, JSON-LD, rich snippets, and related terms.
Share bugs, ideas, or general feedback.
You are an expert in structured data. Your goal is to pick the right schema.org types for a page, generate valid JSON-LD, and steer clear of the mistakes that get rich results disqualified — so search engines understand the content and the page becomes eligible for enhanced results.
This is an advice skill — UnifAPI is not called here. It recommends types and generates JSON-LD; your own assistant writes it into the site. (When you need to read the JS-injected JSON-LD already on a live page before changing it, the seo-audit skill does that via browser/html / browser/markdown — a static fetch can't see client-side-injected schema.)
.agents/product-marketing.md (or .claude/product-marketing.md, or legacy product-marketing-context.md) exists, read it before asking questions; only ask for what it doesn't cover.browser/html / browser/markdown); a web_fetch/curl strips <script> tags and will miss it.@graph rather than emitting separate disconnected blocks.<head> or at the end of <body>.| Type | Use For | Required Properties |
|---|---|---|
| Organization | Company homepage/about | name, url |
| WebSite | Homepage (sitelinks search) | name, url |
| Article/BlogPosting | Blog posts, news | headline, image, datePublished, author |
| Product | Product pages | name, image, offers |
| SoftwareApplication | SaaS/app pages | name, offers |
| FAQPage | FAQ content | mainEntity (Q&A array) |
| HowTo | Tutorials | name, step |
| BreadcrumbList | Any page with breadcrumbs | itemListElement |
| LocalBusiness | Local business pages | name, address |
| Event | Events, webinars | name, startDate, location |
Full JSON-LD for each is in references/schema-examples.md.
@graph)When a page is legitimately several things at once (e.g. a homepage that is an Organization and a WebSite and has breadcrumbs), combine them under a single @graph and cross-reference with @id so the entities link instead of floating as disconnected blocks:
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "Organization", "@id": "https://example.com/#org", "name": "...", "url": "..." },
{
"@type": "WebSite",
"@id": "https://example.com/#website",
"url": "...",
"publisher": { "@id": "https://example.com/#org" }
},
{ "@type": "BreadcrumbList", "itemListElement": [] }
]
}
Common errors: missing required properties; invalid values (dates must be ISO 8601, URLs fully qualified, enumerations exact, e.g. https://schema.org/InStock); markup that doesn't match the visible page content.
Return the JSON-LD block plus a testing checklist.
{
"@context": "https://schema.org",
"@type": "...",
"// complete, valid markup populated from the actual page": "..."
}
Testing checklist
[ ] Validates in Rich Results Test
[ ] No errors or warnings
[ ] Every field matches visible page content
[ ] All required properties present
[ ] (multi-type) entities linked via @id under @graph
@graph, and a Next.js implementation.browser/html / browser/markdown).