--- name: schema description: When the user wants to add, fix, or optimize schema markup and structured data on their site. Also use when the user mentions "schema markup," "structured data," "JSON-LD," "rich snippets," "schema.org," "FAQ schema," "product schema," "review schema," "breadcrumb schema," "Google rich results," "knowledge panel," "star ratings in search," or "add structured data." Use this whenever someone wants their pages to show enhanced results in Google. For broader SEO issues, see the seo-audit skill. license: MIT metadata: author: UnifAPI version: "1.0.0" adapted_from: https://github.com/coreyhaines31/marketingskills adapted_author: Corey Haines --- # Schema Markup 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.) ## Workflow 1. **Read context first.** If `.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. 2. **Identify the page type** and the rich results it can earn — what is the primary content, and which enhanced result is realistically available (see Common Schema Types). 3. **Inventory existing markup.** Note what schema (if any) is already present and whether it errors. To read JS-injected JSON-LD on the live page, hand off to **seo-audit** (`browser/html` / `browser/markdown`); a `web_fetch`/`curl` strips `