Universal SEO Analysis
AgriciDaniel/claude-seo
Hub for site-wide SEO work: audits, technical checks, schema, content quality, local, hreflang and AI-search readiness, run through slash commands.
Audits a page's Schema.org structured data for AI discoverability, validates it, generates JSON-LD to fill gaps and writes a GEO-SCHEMA-REPORT.md.
$ npx skills add zubair-trabzada/geo-seo-claude --skill geo-schema -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install zubair-trabzada/geo-seo-claude geo-schema --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/zubair-trabzada/geo-seo-claude.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/geo-schema .claude/skills/geo-schema && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "geo-schema" agent skill from https://github.com/zubair-trabzada/geo-seo-claude/tree/main/skills/geo-schema into .claude/skills/geo-schema/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geo-schema", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/zubair-trabzada/geo-seo-claude/tree/main/skills/geo-schemaType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add zubair-trabzada/geo-seo-claude --skill geo-schema -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install zubair-trabzada/geo-seo-claude geo-schema --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zubair-trabzada/geo-seo-claude.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/geo-schema .agents/skills/geo-schema && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "geo-schema" agent skill from https://github.com/zubair-trabzada/geo-seo-claude/tree/main/skills/geo-schema into .agents/skills/geo-schema/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geo-schema", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add zubair-trabzada/geo-seo-claude --skill geo-schema -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install zubair-trabzada/geo-seo-claude geo-schema --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zubair-trabzada/geo-seo-claude.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/geo-schema .cursor/skills/geo-schema && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "geo-schema" agent skill from https://github.com/zubair-trabzada/geo-seo-claude/tree/main/skills/geo-schema into .cursor/skills/geo-schema/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geo-schema", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/zubair-trabzada/geo-seo-claude.git --path skills/geo-schema--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add zubair-trabzada/geo-seo-claude --skill geo-schema -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install zubair-trabzada/geo-seo-claude geo-schema --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zubair-trabzada/geo-seo-claude.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/geo-schema .gemini/skills/geo-schema && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "geo-schema" agent skill from https://github.com/zubair-trabzada/geo-seo-claude/tree/main/skills/geo-schema into .gemini/skills/geo-schema/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geo-schema", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install zubair-trabzada/geo-seo-claude geo-schemaInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add zubair-trabzada/geo-seo-claude --skill geo-schema -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/zubair-trabzada/geo-seo-claude.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/geo-schema .github/skills/geo-schema && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "geo-schema" agent skill from https://github.com/zubair-trabzada/geo-seo-claude/tree/main/skills/geo-schema into .github/skills/geo-schema/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geo-schema", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add zubair-trabzada/geo-seo-claude --skill geo-schema -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install zubair-trabzada/geo-seo-claude geo-schema --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zubair-trabzada/geo-seo-claude.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/geo-schema .opencode/skills/geo-schema && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "geo-schema" agent skill from https://github.com/zubair-trabzada/geo-seo-claude/tree/main/skills/geo-schema into .opencode/skills/geo-schema/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geo-schema", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
geo-schemaAudits a page's Schema.org structured data for AI discoverability, validates it, generates JSON-LD to fill gaps and writes a GEO-SCHEMA-REPORT.md.
The skill starts by fetching the target page with the fetch_page.py script from the parent geo skill, because WebFetch drops head content and with it the JSON-LD blocks. It then detects JSON-LD, Microdata and RDFa, treating JSON-LD as the preferred format and flagging a migration when a site only uses the other two. The premise is that structured data tells AI systems what an entity is and how it connects to others.
Each detected block is validated for syntactically valid JSON, a recognized Schema.org type and required properties. The agent then lists missing recommended schemas for the business type, produces ready-to-paste JSON-LD code blocks and saves the findings in GEO-SCHEMA-REPORT.md. The excerpt is truncated, so the per-type requirements are not described here.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 989cae0. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadGrepGlobBashWebFetchWriteFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
schema.orgwikidata.orglinkedin.comen.wikipedia.orgyoutube.comtwitter.comgithub.comcrunchbase.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
GEO Schema Auditor loads about 3.7k tokens when it runs. Until then it costs about 35 tokens; SKILL.md has 1,508 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Grep, Glob, Bash, WebFetch, WriteAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from zubair-trabzada/geo-seo-claude at commit 989cae0, republished under its MIT licence (© zubair-trabzada). 1,508 words, ~3,671 tokens.
.claude/skills/geo-schema/SKILL.md (or your agent's skills folder).Structured data is the primary machine-readable signal that tells AI systems what an entity IS, what it does, and how it connects to other entities. While schema markup has traditionally been about earning Google rich results, its role in GEO is fundamentally different: structured data is how AI models understand and trust your entity. A complete entity graph in structured data dramatically increases citation probability across all AI search platforms.
fetch_page.py (see note below)IMPORTANT: WebFetch converts HTML to markdown and strips <head> content, which removes JSON-LD blocks. Use fetch_page.py instead:
python3 ~/.claude/skills/geo/scripts/fetch_page.py <url> pageThe output includes a structured_data array with all parsed JSON-LD blocks from the page.
Look for <script type="application/ld+json"> blocks in the HTML. Parse each block as JSON. A page may contain multiple JSON-LD blocks — collect all of them.
Look for elements with itemscope, itemtype, and itemprop attributes. Map the hierarchy of nested items. Note: Microdata is harder for AI crawlers to parse than JSON-LD. Flag a recommendation to migrate to JSON-LD if Microdata is the only format found.
Look for elements with typeof, property, and vocab attributes. Similar to Microdata — recommend migration to JSON-LD.
JSON-LD is the strongly recommended format for GEO. Google, Bing, and AI platforms all process JSON-LD most reliably. If the site uses Microdata or RDFa exclusively, flag this as a high-priority migration.
For each detected schema block, validate:
@type match a recognized Schema.org type? Check against https://schema.org/docs/full.html.sameAs properties linking to other platform presences?Essential for entity recognition across all AI platforms. This is how AI models identify WHAT the business is.
Required properties:
@type: "Organization" (or subtype: Corporation, LocalBusiness, etc.)name: Official business nameurl: Official website URLlogo: URL to logo image (ImageObject preferred)Recommended properties for GEO:
sameAs: Array of ALL platform URLs (see sameAs strategy below)description: 1-2 sentence description of the organizationfoundingDate: ISO 8601 datefounder: Person schemaaddress: PostalAddress schemacontactPoint: ContactPoint with telephone, email, contactTypeareaServed: Geographic areanumberOfEmployees: QuantitativeValueindustry: Text or DefinedTermaward: Array of awards receivedknowsAbout: Array of topics the organization is expert in (strong GEO signal)Extends Organization. Critical for local AI search results and Google Gemini.
Additional required properties:
address: Full PostalAddresstelephone: Phone numberopeningHoursSpecification: Operating hoursRecommended for GEO:
geo: GeoCoordinates (latitude, longitude)priceRange: Price indicatoraggregateRating: AggregateRating schemareview: Array of Review schemashasMap: URL to Google MapsThe Author schema is one of the strongest E-E-A-T signals for AI platforms.
Article required:
@type: "Article" (or NewsArticle, BlogPosting, TechArticle)headline: Article titledatePublished: ISO 8601dateModified: ISO 8601 (critical for freshness signals)author: Person or Organization schemapublisher: Organization schema with logoimage: Representative imageAuthor (Person) required for GEO:
name: Full nameurl: Author page URL on the sitesameAs: LinkedIn, Twitter, personal site, Google Scholar, ORCIDjobTitle: Professional titleworksFor: Organization schemaknowsAbout: Array of expertise areasalumniOf: Educational institutionsaward: Professional awardsRequired:
name, description, imageoffers: Offer with price, priceCurrency, availabilitybrand: Brand schemasku or gtin/mpnRecommended for GEO:
aggregateRating: AggregateRatingreview: Array of individual reviewscategory: Product categorymaterial, weight, width, height (where applicable)Status as of 2024: Google restricts FAQ rich results to government and health sites. However, the FAQPage schema still serves GEO purposes — AI platforms parse FAQ structured data for question-answer extraction. Implement it for AI readability even though rich results may not appear.
Structure:
@type: "FAQPage"mainEntity: Array of Question schemas, each with acceptedAnswer containing an Answer schemaRequired:
name, descriptionapplicationCategory: e.g., "BusinessApplication"operatingSystem: Supported platformsoffers: PricingRecommended for GEO:
aggregateRating: User ratingsfeatureList: Array of features (strong citation signal)screenshot: ScreenshotssoftwareVersion: Current versionreleaseNotes: Link to changelogStructure:
{
"@type": "WebSite",
"name": "Site Name",
"url": "https://example.com",
"potentialAction": {
"@type": "SearchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://example.com/search?q={search_term_string}"
},
"query-input": "required name=search_term_string"
}
}Use as a standalone schema on About/Bio pages. This builds the entity graph for individual expertise.
Required: name, url
Recommended for GEO: sameAs, jobTitle, worksFor, knowsAbout, alumniOf, award, description, image
The speakable property marks specific sections of content as particularly suitable for voice and AI assistant consumption. Add to Article or WebPage schemas.
{
"@type": "Article",
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": [".article-summary", ".key-takeaway"]
}
}This signals to AI assistants which passages are the best candidates for citation or reading aloud.
| Schema | Status | Note |
|---|---|---|
| HowTo | Rich results deprecated Aug 2023 | Still useful for AI parsing, but do not promise rich results |
| FAQPage | Restricted to govt/health Aug 2023 | Still useful for AI parsing (see above) |
| SpecialAnnouncement | Deprecated 2023 | Was for COVID; remove if still present |
| CourseInfo | Replaced by Course updates 2024 | Use updated Course schema properties |
VideoObject contentUrl | Changed behavior 2024 | Must point to actual video file, not page URL |
| Review snippet | Stricter enforcement 2024 | Self-serving reviews on product pages may not display |
Flag any deprecated schemas found and recommend replacements.
The sameAs property is the single most important structured data property for GEO. It tells AI systems: "This entity on my website is the SAME entity as these profiles elsewhere." This creates the entity graph that AI platforms use to verify, trust, and cite sources.
https://www.wikidata.org/wiki/Q12345)Based on the detected business type, generate ready-to-paste JSON-LD blocks. Always generate:
@graph pattern to include multiple schemas in one JSON-LD block@id properties for cross-referencing between schemasspeakable on Article schemas with CSS selectors pointing to key content sections<head> section — NOT injected via JavaScript{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://example.com/#organization",
"name": "Company Name",
"url": "https://example.com",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png",
"width": 600,
"height": 60
},
"description": "Concise description of what the company does.",
"foundingDate": "2020-01-15",
"founder": {
"@type": "Person",
"name": "Founder Name",
"sameAs": "https://www.linkedin.com/in/founder"
},
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"addressLocality": "City",
"addressRegion": "State",
"postalCode": "12345",
"addressCountry": "US"
},
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-555-555-5555",
"contactType": "customer service",
"email": "support@example.com"
},
"sameAs": [
"https://en.wikipedia.org/wiki/Company_Name",
"https://www.wikidata.org/wiki/Q12345",
"https://www.linkedin.com/company/company-name",
"https://www.youtube.com/@companyname",
"https://twitter.com/companyname",
"https://github.com/companyname",
"https://www.crunchbase.com/organization/company-name"
],
"knowsAbout": [
"Topic 1",
"Topic 2",
"Topic 3"
]
}| Criterion | Points | How to Score |
|---|---|---|
| Organization/Person schema present and complete | 15 | 15 if full, 10 if basic, 0 if none |
| sameAs links (5+ platforms) | 15 | 3 per valid sameAs link, max 15 |
| Article schema with author details | 10 | 10 if full author schema, 5 if name only, 0 if none |
| Business-type-specific schema present | 10 | 10 if complete, 5 if partial, 0 if missing |
| WebSite + SearchAction | 5 | 5 if present, 0 if not |
| BreadcrumbList on inner pages | 5 | 5 if present, 0 if not |
| JSON-LD format (not Microdata/RDFa) | 5 | 5 if JSON-LD, 3 if mixed, 0 if only Microdata/RDFa |
| Server-rendered (not JS-injected) | 10 | 10 if in HTML source, 5 if JS but in head, 0 if dynamic JS |
| speakable property on articles | 5 | 5 if present, 0 if not |
| Valid JSON + valid Schema.org types | 10 | 10 if no errors, 5 if minor issues, 0 if major errors |
| knowsAbout property on Organization/Person | 5 | 5 if present with 3+ topics, 0 if missing |
| No deprecated schemas present | 5 | 5 if clean, 0 if deprecated schemas found |
Generate GEO-SCHEMA-REPORT.md with:
# GEO Schema & Structured Data Report — [Domain]
Date: [Date]
## Schema Score: XX/100
## Detected Schemas
| Page | Schema Type | Format | Status | Issues |
|---|---|---|---|---|
| / | Organization | JSON-LD | Valid | Missing sameAs |
| /blog/post-1 | Article | JSON-LD | Valid | No author schema |
## Validation Results
[List each schema with pass/fail per property]
## Missing Recommended Schemas
[List schemas that should be present based on business type but are not]
## sameAs Audit
| Platform | URL | Status |
|---|---|---|
| Wikipedia | [URL or "Not found"] | Present/Missing |
| LinkedIn | [URL or "Not found"] | Present/Missing |
[Continue for all recommended platforms]
## Generated JSON-LD Code
[Ready-to-paste JSON-LD blocks for each missing or incomplete schema]
## Implementation Notes
- Where to place each JSON-LD block
- Server-rendering requirements
- Testing with Google Rich Results Test and Schema.org Validator© zubair-trabzada, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/geo-schema of zubair-trabzada/geo-seo-claude.
Open the folder on GitHubat commit 989cae0
We found 4 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in zubair-trabzada/geo-seo-claude, which our catalogue first saw on October 7, 2026.
GEO Schema Auditor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| GEO Schema Auditor this skillzubair-trabzada/geo-seo-claude | 11k | 2 repos | ~3.7k | Automated safety check: Notes | MIT | |
| Universal SEO AnalysisAgriciDaniel/claude-seo | 19k | — | ~4.9k | Automated safety check: Pass | MIT | |
| SEO and GEO Auditdageno-agents/seo-geo-audit | 176 | — | ~2k | Automated safety check: Pass | MIT | |
| Openpost SEOgetopenpost/openpost | 663 | — | ~766 | Automated safety check: Pass | AGPL-3.0 | |
| Full Website SEO AuditAgriciDaniel/claude-seo | 19k | — | ~2.6k | Automated safety check: Pass | MIT | |
| Generative Engine Optimizationtech-leads-club/agent-skills | 7k | — | ~2.5k | Automated safety check: Pass | MIT |
AgriciDaniel/claude-seo
Hub for site-wide SEO work: audits, technical checks, schema, content quality, local, hreflang and AI-search readiness, run through slash commands.
dageno-agents/seo-geo-audit
Runs one prioritized audit that combines technical SEO, content quality, trust signals, entity clarity and AI search readiness for a page, site or domain.
getopenpost/openpost
Audit OpenPost marketing and documentation SEO with the pinned claude-seo toolkit.
AgriciDaniel/claude-seo
Runs a full-site SEO audit by crawling the site and delegating to specialist checks, then returns a scored, prioritized report. Meant for site-wide reviews only.
tech-leads-club/agent-skills
Makes a page or site easier for AI answer engines to find, understand, trust and quote, using metadata, structured data, an llms.txt file and clear page structure.
vellum-ai/vellum-assistant
Runs a one-command technical GEO audit on any domain. An agent skill from vellum-ai/vellum-assistant.
zubair-trabzada/geo-seo-claude
Audits a website for AI search visibility across ChatGPT, Claude, Perplexity and Google AI Overviews while checking traditional SEO, schema and E-E-A-T content quality.
zubair-trabzada/geo-seo-claude
Compares a baseline and a current GEO audit for a client, calculates score changes and action item progress, and writes a monthly progress report.
zubair-trabzada/geo-seo-claude
Scores how likely AI assistants are to quote passages from a web page and suggests rewrites that make those passages easier to extract.
zubair-trabzada/geo-seo-claude
Builds a client-ready AI-search-optimization proposal from an existing GEO audit, with pricing tiers, an ROI estimate and a markdown document ready to send.
zubair-trabzada/geo-seo-claude
Scores a page's content against Google's E-E-A-T framework and AI-citability structure, then writes a scored gap-analysis report.
zubair-trabzada/geo-seo-claude
Tracks GEO agency leads and clients through a sales pipeline in a local JSON file, with notes, audit scores, deal values and a pipeline summary.
Works with
Categories
Audits a page's Schema.org structured data for AI discoverability, validates it, generates JSON-LD to fill gaps and writes a GEO-SCHEMA-REPORT.md. py script from the parent geo skill, because WebFetch drops head content and with it the JSON-LD blocks. It then detects JSON-LD, Microdata and RDFa, treating JSON-LD as the preferred format and flagging a migration when a site only uses the other two.
GEO Schema Auditor fits situations like: checking what structured data a page already exposes; fixing invalid or incomplete JSON-LD markup; generating missing JSON-LD suited to a particular business type; replacing Microdata or RDFa with JSON-LD.
Run `npx skills add zubair-trabzada/geo-seo-claude --skill geo-schema -a claude-code`. Or copy the skill folder (skills/geo-schema in zubair-trabzada/geo-seo-claude) into .claude/skills/geo-schema in your project. Claude Code loads it when a task matches its description.
Run `npx skills add zubair-trabzada/geo-seo-claude --skill geo-schema -a codex`. Or copy the skill folder (skills/geo-schema in zubair-trabzada/geo-seo-claude) into .agents/skills/geo-schema in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add zubair-trabzada/geo-seo-claude --skill geo-schema -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/geo-schema, .gemini/skills/geo-schema, .github/skills/geo-schema and .opencode/skills/geo-schema in your project.
Going by SKILL.md and its folder, GEO Schema Auditor needs the command-line tools its instructions call (python3). Our summary lists: Python 3 to run the geo skill's fetch_page.py script; Network access to fetch the target page. Its frontmatter pre-approves these tools: Read, Grep, Glob, Bash, WebFetch, Write.
SKILL.md names 8 domains. In commands or code: schema.org, wikidata.org, linkedin.com, en.wikipedia.org, youtube.com, twitter.com, github.com and crunchbase.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
GEO Schema Auditor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with GEO Schema Auditor: Universal SEO Analysis (AgriciDaniel/claude-seo, 19k stars), SEO and GEO Audit (dageno-agents/seo-geo-audit, 176 stars), Openpost SEO (getopenpost/openpost, 663 stars) and Full Website SEO Audit (AgriciDaniel/claude-seo, 19k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
zubair-trabzada (a GitHub user) maintains it in zubair-trabzada/geo-seo-claude, which has 10,982 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 10, 2026.
Source: zubair-trabzada/geo-seo-claude on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.