agentleFS
karerokarero/croftweaver/skills/schema-markup/SKILL.md

schema-markup

Skill9 starsChanged 30 days agoMITView on GitHub

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 seo-audit. For AI search optimization, see ai-seo.

61 other projects use a version of this, 42 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use product-marketing-context, content-brief and 7 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • xfstudioSkill

    product-marketing-context

    When the user wants to create or update their product marketing context document. Also use when the user mentions 'product context,' 'marketing context,' 'set up context,' 'positioning,' or wants to avoid repeating foundational information across marketing tasks. Creates `.claude/product-marketing-context.md` that other marketing skills reference.

    Also in 19 projects that use this

  • LangChainSkill

    content-brief

    Turn a vague or multi-asset design ask into a brief. Pull what is already known, ask at most two questions with reasons, decide the rest and say what you decided.

    Also in 5 projects that use this

  • ukunal91appSkill

    revops

    When the user wants help with revenue operations, lead lifecycle management, or marketing-to-sales handoff processes. Also use when the user mentions 'RevOps,' 'revenue operations,' 'lead scoring,' 'lead routing,' 'MQL,' 'SQL,' 'pipeline stages,' 'deal desk,' 'CRM automation,' 'marketing-to-sales handoff,' 'data hygiene,' 'leads aren't getting to sales,' 'pipeline management,' 'lead qualification,' or 'when should marketing hand off to sales.' Use this for anything involving the systems and processes that connect marketing to revenue. For cold outreach emails, see cold-email. For email drip campaigns, see email-sequence. For pricing decisions, see pricing-strategy.

    Also in 14 projects that use this

  • alaraakcasizSkill

    technical-seo-audit

    Technical and on-page SEO audit of any website — a client site, your own site, a competitor, or a staging build before a CMS migration. Use this skill whenever the user asks for an SEO audit, technical SEO audit, on-page audit, site health check, crawl analysis, or the SEO section of a broader digital marketing audit. Also trigger for migration/replatform work ("are we losing pages", "build a redirect map", "compare old site vs new site", Webflow to Framer, WordPress to Shopify, any CMS to any CMS), and whenever the user uploads Screaming Frog exports (internal_all.csv, image_details.csv, All Inlinks), a GSC Pages export, or a sitemap and wants them analysed. Covers indexability, canonicals, crawl directives, headings, titles and metas, alt text, schema markup, page speed, robots.txt, llms.txt, internal linking, page-inventory diffing and redirect mapping.

    Also in 3 projects that use this

  • ukunal91appSkill

    churn-prevention

    When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers or wants to build systems to prevent it. For post-cancel win-back email sequences, see email-sequence. For in-app upgrade paywalls, see paywall-upgrade-cro.

    Also in 15 projects that use this

  • buildingwithaiSkill

    sales-enablement

    Master world-class sales enablement from foundations to execution. Build comprehensive enablement programs, develop effective training and coaching systems, implement data-driven content strategies, leverage AI and modern technology stacks, establish cross-functional collaboration, measure ROI with precision, and drive revenue growth. Covers sales methodologies (MEDDIC, SPICED, BANT), maturity models (Forrester, Gartner), enablement frameworks, change management, remote enablement, market segment strategies (SMB, Mid-Market, Enterprise), and team building. Based on 2024-2025 industry research from Gartner, Forrester, Product Marketing Alliance, Sales Enablement Collective, and leading practitioners.

    Also in 14 projects that use this

  • +2 more from ukunal91app

The file

We split this skill into the rules it gives an agent

9 rules. 7 are common, 0 are distinctive, and 2 are very specific to this project.

  • 7

    Common

    Most of the 59 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If .agents/product-marketing-context.md exists (or .claude/product-marketing-context.md in older setups), read it before asking questions.

    line 15
  2. Common:

    Before implementing schema, understand:

    line 17
  3. Common:

    Don't markup content that doesn't exist

    line 31
  4. Common:

    Keep updated when content changes

    line 32
  5. Very specific:

    Place in <head> or end of <body>

    line 53
  6. Common:

    Only use markup Google supports

    line 56
  7. Common:

    Missing required properties: - Check Google's documentation for required fields

    line 139
  8. Common:

    Add JSON-LD directly in HTML template

    line 150
  9. Common:

    Use includes/partials for reusable schema

    line 151

“Common” is measured: kept by at least 6 in 10 of the 59 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Schema Markup

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.

Initial Assessment

Check for product marketing context first: If .agents/product-marketing-context.md exists (or .claude/product-marketing-context.md in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.

Before implementing schema, understand:

  1. Page Type - What kind of page? What's the primary content? What rich results are possible?
  2. Current State - Any existing schema? Errors in implementation? Which rich results already appearing?
  3. Goals - Which rich results are you targeting? What's the business value?

Core Principles

1. Accuracy First

  • Schema must accurately represent page content
  • Don't markup content that doesn't exist
  • Keep updated when content changes
  • Set inLanguage on CreativeWork types (Article, FAQPage, and similar content types — NOT LocalBusiness/Organization/Product, which schema.org does not define the property for) to match the page's lang — the starter's Base.astro already does this for WebSite/WebPage; hand-written schema must keep up

1a. German entity disambiguation

German businesses face two extra ambiguity traps AI retrieval stumbles on: set BOTH name (the everyday brand) and legalName (with the GmbH/UG/e.K. suffix), and when the brand collides with a common German noun (a bakery named "Krume", a tool named "Hebel") or the town name is ambiguous (Frankfurt², Neustadt ×30), lean on sameAs (register/profile URLs) plus a full PostalAddress, geo, and areaServed so the entity resolves to YOUR Frankfurt and YOUR Krume. The German LocalBusiness example in references/schema-examples.md shows the full shape (incl. vatID, sameAs, geo, areaServed).

2. Use JSON-LD

  • Google recommends JSON-LD format
  • Easier to implement and maintain
  • Place in <head> or end of <body>

3. Follow Google's Guidelines

  • Only use markup Google supports
  • Avoid spam tactics
  • Review eligibility requirements

4. Validate Everything

  • Test before deploying
  • Monitor Search Console
  • Fix errors promptly

Common Schema Types

TypeUse ForRequired Properties
OrganizationCompany homepage/aboutname, url
WebSiteHomepage (search box)name, url
ArticleBlog posts, newsheadline, image, datePublished, author
ProductProduct pagesname, image, offers
SoftwareApplicationSaaS/app pagesname, offers
FAQPageFAQ content (no Google rich result since 7 May 2026, see below)mainEntity (Q&A array)
HowToTutorials (no Google rich result since September 2023, see below)name, step
BreadcrumbListAny page with breadcrumbsitemListElement
LocalBusinessLocal business pagesname, address
EventEvents, webinarsname, startDate, location

For complete JSON-LD examples: See references/schema-examples.md


Quick Reference

Organization (Company Page)

Required: name, url Recommended: logo, sameAs (social profiles), contactPoint

Article/BlogPosting

Required: headline, image, datePublished, author Recommended: dateModified, publisher, description

Product

Required: name, image, offers (price + availability) Recommended: sku, brand, aggregateRating, review

FAQPage

Required: mainEntity (array of Question/Answer pairs) Note: Google stopped showing FAQ rich results on 7 May 2026 and removed their documentation on 15 June 2026 (Google, removal). FAQPage is still valid schema.org vocabulary: the markup still describes the Q&A to machines and does no harm, but it gives no rich result in Google for any site. Don't promise one.

HowTo

Required: name, step Note: since September 2023 Google shows no HowTo rich results at all (Google). The markup still describes the steps to machines; don't promise a rich result.

BreadcrumbList

Required: itemListElement (array with position, name, item)


Multiple Schema Types

You can combine multiple schema types on one page using @graph:

{
  "@context": "https://schema.org",
  "@graph": [
    { "@type": "Organization", ... },
    { "@type": "WebSite", ... },
    { "@type": "BreadcrumbList", ... }
  ]
}

Validation and Testing

Tools

Common Errors

Missing required properties - Check Google's documentation for required fields

Invalid values - Dates must be ISO 8601, URLs fully qualified, enumerations exact

Mismatch with page content - Schema doesn't match visible content


Implementation

Static Sites

  • Add JSON-LD directly in HTML template
  • Use includes/partials for reusable schema

Dynamic Sites (React, Next.js)

  • Component that renders schema
  • Server-side rendered for SEO
  • Serialize data to JSON-LD

CMS / WordPress

  • Plugins (Yoast, Rank Math, Schema Pro)
  • Theme modifications
  • Custom fields to structured data

Output Format

Schema Implementation

// Full JSON-LD code block
{
  "@context": "https://schema.org",
  "@type": "...",
  // Complete markup
}

Testing Checklist

  • Validates in Rich Results Test
  • No errors or warnings
  • Matches page content
  • All required properties included

Task-Specific Questions

  1. What type of page is this?
  2. What rich results are you hoping to achieve?
  3. What data is available to populate the schema?
  4. Is there existing schema on the page?
  5. What's your tech stack?

Related Skills

  • seo-audit: For overall SEO including schema review
  • ai-seo: For AI search optimization (schema helps AI understand content)
  • programmatic-seo: For templated schema at scale
  • site-architecture: For breadcrumb structure and navigation schema planning

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.