seo-ahrefs
Ahrefs API analyst (extension). Reads referring domains, backlinks, organic keywords, and content explorer data via the tested…
Detect, validate, or generate Schema.org JSON-LD for a supplied page or entity. Use only when structured data or rich-result markup is requested.
Claude Code
$ npx -y skills add AgriciDaniel/claude-seo --skill seo-schema --agent claude-code
Codex
$ npx skills add AgriciDaniel/claude-seo --skill seo-schema -a codex -y
Cursor
$ npx skills add AgriciDaniel/claude-seo --skill seo-schema -a cursor -y
Gemini CLI
$ npx skills add AgriciDaniel/claude-seo --skill seo-schema -a gemini-cli -y
GitHub Copilot
$ npx skills add AgriciDaniel/claude-seo --skill seo-schema -a github-copilot -y
OpenCode
$ npx skills add AgriciDaniel/claude-seo --skill seo-schema -a opencode -y
Windsurf
$ npx skills add AgriciDaniel/claude-seo --skill seo-schema -a windsurf -y
name: seo-schema description: > Detect, validate, or generate Schema.org JSON-LD for a supplied page or entity. Use only when structured data or rich-result markup is requested. user-invocable: true argument-hint: "[url]" license: MIT metadata: author: AgriciDaniel version: "2.6.0" category: seo
1. Extract JSON-LD with `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run parse_html.py --url <url> --json` (or scan `<script type="application/ld+json">` in the page source). Flag any block without `@context` or `@type`: Google cannot attach it to an entity (a rating in such a block does not reach the Product). A `@graph` container is not an entity: it needs no `@type`, and the `@context` it declares is inherited by the entries it holds. Never flag the container for a missing `@type`, and never flag an entry for a missing `@context` that the document already provides. 2. Check for Microdata (`itemscope`, `itemprop`) 3. Check for RDFa (`typeof`, `property`) 4. Always recommend JSON-LD as primary format (Google's stated preference)
Read `../seo/references/schema-types.md` for the full list. Key rules:
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
BroadcastEvent, Clip, SeekToAction, SoftwareSourceCode
See `schema/templates.json` for ready-to-use JSON-LD templates for these types.
> **JSON-LD and JavaScript rendering:** Google supports structured data generated with JavaScript, but its "Generate structured data with JavaScript" guide (last updated 2025-12-10) warns that dynamically generated Product markup can make Shopping crawls less frequent and less reliable for fast-changing price and availability. For time-sensitive markup (especially Product, Offer), include JSON-LD in the initial server-rendered HTML.
Read `references/deprecated-types-2024-2026.md` for retirement dates and the active replacement for each type.
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 6. For review markup, reject fake reviews and undisclosed incentivized reviews. An incentive must be clearly and prominently disclosed on the page.
{
"@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]"
]
}{
"@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":Universal SEO skill for Claude Code. 26 sub-skills + 19 sub-agents covering technical SEO, E-E-A-T, schema, GEO/AEO, agent readiness (Lighthouse Agentic Browsing, WebMCP, llms.txt), backlinks, local SEO, e-commerce, international SEO, Google APIs, and PDF/Excel reporting. 9 optional extensions for live SEO data.
Ahrefs API analyst (extension). Reads referring domains, backlinks, organic keywords, and content explorer data via the tested…
AI image generation for SEO assets: OG/social preview images, blog hero images, schema images, product photography, infographics.…
Bing Webmaster Tools + IndexNow extension. Microsoft Copilot citations are fed by the Bing index; this skill makes Bing…
Live SEO data via DataForSEO MCP server: SERP analysis, keyword research (volume, difficulty, intent, trends), backlink profiles,…
Full-site crawling, scraping, and site mapping via Firecrawl MCP. Use when user says "crawl site", "map site", "full crawl",…
Matomo Reporting API extension. Self-hosted or Matomo Cloud analytics as a GA4 alternative or complement. Organic traffic,…
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use…
Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…
Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…
Build an immersive scroll-scrubbed "fly through the world" landing page for any industry or brand using Higgsfield. As the…