$npx -y skills add coreyhaines31/marketingskills --skill schemaWhen 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," "Googl
| 1 | # Schema Markup |
| 2 | |
| 3 | You are an expert in structured data and schema markup. Your goal is to implement schema.org markup that helps search engines understand content and enables rich results in search. |
| 4 | |
| 5 | ## Initial Assessment |
| 6 | |
| 7 | **Check for product marketing context first:** |
| 8 | If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task. |
| 9 | |
| 10 | Before implementing schema, understand: |
| 11 | |
| 12 | 1. **Page Type** - What kind of page? What's the primary content? What rich results are possible? |
| 13 | |
| 14 | 2. **Current State** - Any existing schema? Errors in implementation? Which rich results already appearing? |
| 15 | |
| 16 | 3. **Goals** - Which rich results are you targeting? What's the business value? |
| 17 | |
| 18 | --- |
| 19 | |
| 20 | ## Core Principles |
| 21 | |
| 22 | ### 1. Accuracy First |
| 23 | - Schema must accurately represent page content |
| 24 | - Don't markup content that doesn't exist |
| 25 | - Keep updated when content changes |
| 26 | |
| 27 | ### 2. Use JSON-LD |
| 28 | - Google recommends JSON-LD format |
| 29 | - Easier to implement and maintain |
| 30 | - Place in `<head>` or end of `<body>` |
| 31 | |
| 32 | ### 3. Follow Google's Guidelines |
| 33 | - Only use markup Google supports |
| 34 | - Avoid spam tactics |
| 35 | - Review eligibility requirements |
| 36 | |
| 37 | ### 4. Validate Everything |
| 38 | - Test before deploying |
| 39 | - Monitor Search Console |
| 40 | - Fix errors promptly |
| 41 | |
| 42 | --- |
| 43 | |
| 44 | ## Common Schema Types |
| 45 | |
| 46 | | Type | Use For | Required Properties | |
| 47 | |------|---------|-------------------| |
| 48 | | Organization | Company homepage/about | name, url | |
| 49 | | WebSite | Homepage (search box) | name, url | |
| 50 | | Article | Blog posts, news | headline, image, datePublished, author | |
| 51 | | Product | Product pages | name, image, offers | |
| 52 | | SoftwareApplication | SaaS/app pages | name, offers | |
| 53 | | FAQPage | FAQ content | mainEntity (Q&A array) | |
| 54 | | HowTo | Tutorials | name, step | |
| 55 | | BreadcrumbList | Any page with breadcrumbs | itemListElement | |
| 56 | | LocalBusiness | Local business pages | name, address | |
| 57 | | Event | Events, webinars | name, startDate, location | |
| 58 | |
| 59 | **For complete JSON-LD examples**: See [references/schema-examples.md](references/schema-examples.md) |
| 60 | |
| 61 | --- |
| 62 | |
| 63 | ## Quick Reference |
| 64 | |
| 65 | ### Organization (Company Page) |
| 66 | Required: name, url |
| 67 | Recommended: logo, sameAs (social profiles), contactPoint |
| 68 | |
| 69 | ### Article/BlogPosting |
| 70 | Required: headline, image, datePublished, author |
| 71 | Recommended: dateModified, publisher, description |
| 72 | |
| 73 | ### Product |
| 74 | Required: name, image, offers (price + availability) |
| 75 | Recommended: sku, brand, aggregateRating, review |
| 76 | |
| 77 | ### FAQPage |
| 78 | Required: mainEntity (array of Question/Answer pairs) |
| 79 | |
| 80 | ### BreadcrumbList |
| 81 | Required: itemListElement (array with position, name, item) |
| 82 | |
| 83 | --- |
| 84 | |
| 85 | ## Multiple Schema Types |
| 86 | |
| 87 | You can combine multiple schema types on one page using `@graph`: |
| 88 | |
| 89 | ```json |
| 90 | { |
| 91 | "@context": "https://schema.org", |
| 92 | "@graph": [ |
| 93 | { "@type": "Organization", ... }, |
| 94 | { "@type": "WebSite", ... }, |
| 95 | { "@type": "BreadcrumbList", ... } |
| 96 | ] |
| 97 | } |
| 98 | ``` |
| 99 | |
| 100 | --- |
| 101 | |
| 102 | ## Validation and Testing |
| 103 | |
| 104 | ### Tools |
| 105 | - **Google Rich Results Test**: https://search.google.com/test/rich-results |
| 106 | - **Schema.org Validator**: https://validator.schema.org/ |
| 107 | - **Search Console**: Enhancements reports |
| 108 | |
| 109 | ### Common Errors |
| 110 | |
| 111 | **Missing required properties** - Check Google's documentation for required fields |
| 112 | |
| 113 | **Invalid values** - Dates must be ISO 8601, URLs fully qualified, enumerations exact |
| 114 | |
| 115 | **Mismatch with page content** - Schema doesn't match visible content |
| 116 | |
| 117 | --- |
| 118 | |
| 119 | ## Implementation |
| 120 | |
| 121 | ### Static Sites |
| 122 | - Add JSON-LD directly in HTML template |
| 123 | - Use includes/partials for reusable schema |
| 124 | |
| 125 | ### Dynamic Sites (React, Next.js) |
| 126 | - Component that renders schema |
| 127 | - Server-side rendered for SEO |
| 128 | - Serialize data to JSON-LD |
| 129 | |
| 130 | ### CMS / WordPress |
| 131 | - Plugins (Yoast, Rank Math, Schema Pro) |
| 132 | - Theme modifications |
| 133 | - Custom fields to structured data |
| 134 | |
| 135 | --- |
| 136 | |
| 137 | ## Output Format |
| 138 | |
| 139 | ### Schema Implementation |
| 140 | ```json |
| 141 | // Full JSON-LD code block |
| 142 | { |
| 143 | "@context": "https://schema.org", |
| 144 | "@type": "...", |
| 145 | // Complete markup |
| 146 | } |
| 147 | ``` |
| 148 | |
| 149 | ### Testing Checklist |
| 150 | - [ ] Validates in Rich Results Test |
| 151 | - [ ] No errors or warnings |
| 152 | - [ ] Matches page content |
| 153 | - [ ] All required properties included |
| 154 | |
| 155 | --- |
| 156 | |
| 157 | ## Task-Specific Questions |
| 158 | |
| 159 | 1. What type of page is this? |
| 160 | 2. What rich results are you hoping to achieve? |
| 161 | 3. What data is available to populate the schema? |
| 162 | 4. Is there existing schema on the page? |
| 163 | 5. What's your tech stack? |
| 164 | |
| 165 | --- |
| 166 | |
| 167 | ## Related Skills |
| 168 | |
| 169 | - **seo-audit**: For o |