agentleFS
asgard-ai-platformasgard-ai-platform/skills/algo-seo-schema/SKILL.md

algo-seo-schema

Skill238 starsChanged 6 months agoMITView on GitHub

Implement Schema.org structured data markup in JSON-LD format for enhanced search results. Use this skill when the user needs to add rich snippets to web pages, implement FAQ/Product/Article schema, or validate structured data — even if they say 'rich snippets', 'structured data', or 'Google rich results'.

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When optimizing page content or keywords (use content SEO)

    line 23
  2. Distinctive:

    When improving page speed (use Core Web Vitals optimization)

    line 24
  3. Very specific:

    Place JSON-LD in <script type="application/ld+json"> in <head>

    line 44
  4. Distinctive:

    Type specificity: Use the most specific type available.

    line 80

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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.org Structured Data

Overview

Schema.org structured data provides machine-readable page context to search engines via JSON-LD. Enables rich results (stars, FAQs, breadcrumbs, product cards) in SERPs. Implementation is O(1) per page — it's a markup task, not computational.

When to Use

Trigger conditions:

  • Adding rich snippet eligibility to web pages
  • Implementing product, article, FAQ, HowTo, or event markup
  • Debugging Google Search Console structured data errors

When NOT to use:

  • When optimizing page content or keywords (use content SEO)
  • When improving page speed (use Core Web Vitals optimization)

Algorithm

IRON LAW: Schema Markup Must MATCH Visible Content
Marking up content that users can't see violates Google guidelines
and risks manual penalties. Every structured data field must
correspond to content visible on the page.

Phase 1: Input Validation

Identify page type (Article, Product, FAQ, HowTo, Event, etc.). Map visible content to required and recommended schema properties. Gate: Page type identified, all required properties have visible content.

Phase 2: Core Algorithm

  1. Select the correct Schema.org type from the vocabulary
  2. Map page content to schema properties (name, description, image, etc.)
  3. Build JSON-LD object with @context and @type
  4. Handle nested types (e.g., Product contains Offer contains Price)
  5. Place JSON-LD in <script type="application/ld+json"> in <head>

Phase 3: Verification

Validate with Google Rich Results Test. Check: no errors, all required fields present, no mismatch with visible content. Gate: Passes Google Rich Results Test with zero errors.

Phase 4: Output

Return complete JSON-LD markup ready for insertion.

Output Format

{
  "schema": {"@context": "https://schema.org", "@type": "Product", "name": "...", "offers": {"@type": "Offer", "price": "29.99", "priceCurrency": "TWD"}},
  "validation": {"errors": 0, "warnings": 1, "eligible_rich_results": ["Product snippet"]}
}

Examples

Sample I/O

Input: FAQ page with 3 questions and answers Expected: FAQPage schema with 3 Question/Answer pairs in JSON-LD

Edge Cases

InputExpectedWhy
Page with no clear typeUse WebPage as fallbackMost generic valid type
Multiple schemas neededArray of JSON-LD objectsOne page can have multiple types
Missing required fieldError, do not generateIncomplete schema hurts more than none

Gotchas

  • Required vs recommended: Google requires certain fields per type. Missing required fields = schema ignored entirely. Check documentation per type.
  • Nesting depth: Deeply nested schemas (Product > Offer > Seller > Address) are error-prone. Validate each nesting level.
  • Schema spam: Adding schema for content not on the page (fake reviews, unavailable prices) triggers manual actions.
  • Type specificity: Use the most specific type available. "Article" is better than "WebPage"; "NewsArticle" is better than "Article" for news content.
  • Testing gap: Google Rich Results Test shows what Google sees, but not all valid schema triggers rich results. Eligibility ≠ guarantee of display.

References

  • For complete property reference by type, see references/type-properties.md
  • For common validation errors and fixes, see references/validation-errors.md

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.