mcpField
S
seo-schema

seo-schema

github.com/agricidanielMarketing & growth89482 installsUpdated 2w ago
Repository

About seo-schema

seo-schema is an SEO skill for detecting, validating, and generating structured data, intended for people reviewing webpage schema markup. It guides JSON-LD generation and distinguishes restricted and deprecated types.

Key features

  1. 01Detect JSON-LD, Microdata, and RDFa
  2. 02Validate required properties and common errors
  3. 03Identify restricted and deprecated types
  4. 04Generate verifiable JSON-LD
  5. 05Produce reports and implementation code

Use cases

  1. 01Review schema markup on a webpage
  2. 02Fix structured data validation issues
  3. 03Generate JSON-LD for a page
  4. 04Save findings to the shared cache

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/agricidaniel/codex-seo --skill seo-schema

After installing, type/seo-schemain Claude Code to confirm it loaded.

Bundled filesLICENSE.txt

Details

From the project README

Schema Markup Analysis & Generation

Shared Data Cache

Step 0 -- Check shared data cache:

Before gathering, check .seo-cache/ for reusable context from related SEO skills. Reference: ../seo/references/shared-data-cache.md for schemas and dependency map.

Check these cache files when present:

  • .seo-cache/site-meta.json for domain, business type, industry, and crawl context

  • .seo-cache/audit-scores.json for prior full-audit priorities

  • .seo-cache/pages/{url-slug}/page-analysis.json for page-level context when a URL is provided

  • If found: parse and use clearly valid fields (note "Using cached [X] from [date]")

  • If missing, corrupt, or irrelevant: continue with fresh evidence

  • If the user says "refresh" or "re-run": ignore cache reads and overwrite on write

Detection

  1. Scan page source for JSON-LD <script type="application/ld+json">
  2. Check for Microdata (itemscope, itemprop)
  3. Check for RDFa (typeof, property)
  4. Always recommend JSON-LD as primary format (Google's stated preference)

Validation

  • Check required properties per schema type
  • Validate against Google's supported rich result types
  • Test for common errors:
    • Missing @context
    • Invalid @type
    • Wrong data types
    • Placeholder text
    • Relative URLs (should be absolute)
    • Invalid date formats
  • Flag deprecated types (see below)

Schema Type Status (as of Feb 2026)

Read references/schema-types.md for the full list. Key rules:

ACTIVE (recommend freely):

Organization, LocalBusiness, SoftwareApplication, WebApplication, Product (with Certification markup as of April 2025), ProductGroup, Offer, Service, Article, BlogPosting, NewsArticle, Review, AggregateRating, BreadcrumbList, WebSite, WebPage, Person, ProfilePage, ContactPage, VideoObject, ImageObject, Event, JobPosting, Course, DiscussionForumPosting

VIDEO & SPECIALIZED (recommend freely):

BroadcastEvent, Clip, SeekToAction, SoftwareSourceCode

See schema/templates.json for ready-to-use JSON-LD templates for these types.

JSON-LD and JavaScript rendering: Per Google's December 2025 JS SEO guidance, structured data injected via JavaScript may face delayed processing. For time-sensitive markup (especially Product, Offer), include JSON-LD in the initial server-rendered HTML.

RESTRICTED (only for specific sites):
  • FAQ: ONLY for government and healthcare authority sites (restricted Aug 2023)
DEPRECATED (never recommend):
  • HowTo: Rich results removed September 2023
  • SpecialAnnouncement: Deprecated July 31, 2025
  • CourseInfo, EstimatedSalary, LearningVideo: Retired June 2025
  • ClaimReview: Retired from rich results June 2025
  • VehicleListing: Retired from rich results June 2025
  • Practice Problem: Retired from rich results late 2025
  • Dataset: Retired from rich results late 2025
  • Book Actions: Deprecated then reversed, still functional as of Feb 2026 (historical note)

Generation

When generating schema for a page:

  1. Identify page type from content analysis
  2. Select appropriate schema type(s)
  3. Generate valid JSON-LD with all required + recommended properties
  4. Include only truthful, verifiable data. Use placeholders clearly marked for user to fill
  5. Validate output before presenting

Common Schema Templates

Organization
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "[Company Name]",
  "url": "[Website URL]",
  "logo": "[Logo URL]",
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "[Phone]",
    "contactType": "customer service"
  },
  "sameAs": [
    "[Facebook URL]",
    "[LinkedIn URL]",
    "[Twitter URL]"
  ]
}
LocalBusiness
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "[Business Name]",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "[Street]",
    "addressLocality": "[City]",
    "addressRegion": "[State]",
    "postalCode": "[ZIP]",
    "addressCountry": "US"
  },
  "telephone": "[Phone]",
  "openingHours": "Mo-Fr 09:00-17:00",
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "[Lat]",
    "longitude": "[Long]"
  }
}
Article/BlogPosting
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "[Title]",
  "author": {
    "@type": "Person",
    "name": "[Author Name]"
  },
  "datePublished": "[YYYY-MM-DD]",
  "dateModified": "[YYYY-MM-DD]",
  "image": "[Image URL]",
  "publisher": {
    "@type": "Organization",
    "name": "[Publisher]",
    "logo": {
      "@type": "ImageObject",
      "url": "[Logo URL]"
    }
  }
}

Output

  • SCHEMA-REPORT.md: detection and validation results
  • generated-schema.json: ready-to-use JSON-LD snippets
Validation Results
SchemaTypeStatusIssues
......✅/⚠️/❌...
Recommendations
  • Missing schema opportunities
  • Validation fixes needed
  • Generated code for implementation

Error Handling

ScenarioAction
URL unreachableReport connection error with status code. Suggest verifying URL and checking if the page requires authentication.
No schema markup foundReport that no JSON-LD, Microdata, or RDFa was detected. Recommend appropriate schema types based on page content analysis.
Invalid JSON-LD syntaxParse and report specific syntax errors (missing brackets, trailing commas, unquoted keys). Provide corrected JSON-LD output.
Deprecated schema type detectedFlag the deprecated type with its retirement date. Recommend the current replacement type or advise removal if no replacement exists.

Write to shared data cache

After completing all work, write a concise JSON summary to .seo-cache/ when the workflow produced durable findings. Use the schemas and naming rules in ../seo/references/shared-data-cache.md; include at least cache_type, analyzed_at, source URL/domain, key findings, issues, recommendations, and tool limitations. Add .seo-cache/ to .gitignore if it is missing.

Comments

Markdown supported