GEO Schema Structured Data Audit Skill
Detect, validate, and generate Schema.org structured data optimized for AI discoverability, with JSON-LD output and a scored report.
The skill is mostly read-only analysis (Read/Grep/Glob/WebFetch) plus writing a Markdown report; no destructive defaults. Installation uses an isolated venv with version-pinned dependencies; README discloses data storage and uninstall behavior. Deductions: SKILL.md itself declares no confirmation gates or rollback, Bash executes an external script and Write produces files without user confirmation, URL-validity checks hit target sites with no rate/privacy disclosure; publisher identity is unverified (no extra penalty per rules).
The key path depends on fetch_page.py; the repo includes unit tests for its SSR-detection fix (Issue #19), positive evidence. Deductions: static review, nothing executed; tests cover only the SSR heuristic, not schema detection/validation; thin guidance on failure handling for network errors, missing schemas or invalid JSON; static cap 10.
Clear scenario (structured-data audit and JSON-LD generation), explicit trigger (/geo schema <url>), well-defined output format. Deductions: no declared non-fit boundaries (heavy JS sites, anti-bot sites), no Chinese-site/Chinese-search-platform coverage, and core validation depends on overseas services with no mainland-China reachability note.
SKILL.md has name/version/tags/allowed-tools frontmatter; repo includes MIT LICENSE, JSON-LD templates and uninstall scripts; docs are layered with scoring rubric and output template. Deductions: no changelog, author field is a generic 'geo-seo-claude' rather than a traceable maintainer, and a hidden assumption that the shared fetch_page.py script must be installed at a fixed path before Step 1 works.
The core flow for JSON-LD generation and audit reporting is fully described with a usable rubric and output template, giving real marginal value. Deductions: outputs unverified statically; quantitative claims (e.g., citation-probability gains from sameAs) lack sources; heavy marketing data in README and Skool funnel reduce neutrality; cap 7.
A real CI workflow and a concrete test suite for fetch_page (with positive/negative fixtures) are auditable primary material. Deductions: tests do not cover this skill's schema detection/validation/generation paths; no verified representative outputs inside the skill; key efficacy claims lack third-party corroboration; static cap 5.
- SKILL.md declares no user-confirmation or rollback mechanism; Bash script execution and Write output occur without confirmation — be aware before use.
- Prerequisite: the shared script ~/.claude/skills/geo/scripts/fetch_page.py must already be installed; the skill files alone will not work.
- Validation depends on schema.org docs and Google tooling, which may be unreachable from mainland China; the skill discloses neither this limitation nor Chinese-site scenarios.
- Claims tying sameAs to citation-rate gains are unsourced; treat them as author opinion, not verified findings.
- Skill-level paths (schema detection/validation/generation) have no test coverage; review generated reports manually.
What does this skill do, and when should you use it?
This is one sub-skill inside the geo-seo-claude repository (a 16-skill collection), located at skills/geo-schema/SKILL.md, version 1.0.0, MIT licensed. It does one job end to end: fetch a target page, detect JSON-LD, Microdata, and RDFa, validate them against Schema.org specs, generate ready-to-paste JSON-LD for the missing pieces, and output a GEO-SCHEMA-REPORT.md with a 0–100 score. Its framing is GEO (Generative Engine Optimization): structured data exists not just for Google rich results but so AI models can identify and trust your entity, with the sameAs property treated as the single most important entity-recognition signal. Best suited for site owners, SEO consultants, and agencies already using Claude Code who want a systematic schema audit.
Fetches page HTML via fetch_page.py (WebFetch strips head content including JSON-LD); parses all JSON-LD blocks and scans for Microdata (itemscope/itemtype/itemprop) and RDFa (typeof/property/vocab); validates JSON syntax, @type validity, required and recommended properties, sameAs links, URL resolvability, nesting, and server-rendered vs. JS-injected placement (citing Google's December 2025 guidance on delayed processing of JS-injected data); checks business-type-appropriate schemas — Organization, LocalBusiness, Article+Author, Product, FAQPage, SoftwareApplication, WebSite+SearchAction, standalone Person, and speakable; flags deprecated/changed schemas (HowTo, SpecialAnnouncement, etc.); audits sameAs links across 14 platform categories (Wikipedia, Wikidata, LinkedIn, etc.); generates JSON-LD templates using @graph, @id, absolute URLs, and speakable; scores against a 12-criterion rubric (0–100) and writes a GEO-SCHEMA-REPORT.md.
- An SEO consultant auditing a client's structured data who needs a deliverable report with a score and fix-ready code
- A SaaS company checking whether its site has Organization and SoftwareApplication schemas that help AI platforms recognize the entity
- A local business validating that LocalBusiness schema includes address, hours, GeoCoordinates, and sameAs links
- A publisher completing Article author (Person) schemas to strengthen E-E-A-T signals for AI platforms
- An e-commerce team finding Product schema gaps and generating JSON-LD with offers and aggregateRating
- A site migrating from Microdata/RDFa to JSON-LD that needs a prioritized migration list
What are this skill's strengths and limitations?
- Complete methodology covering detection, validation, generation, scoring, and reporting, with a standardized GEO-SCHEMA-REPORT.md on every run
- Distinct GEO perspective: explicitly separates rich-result optimization from AI discoverability, emphasizing sameAs entity graphs, knowsAbout, and speakable — properties most tools ignore
- Transparent 12-criterion, 100-point rubric enabling cross-site comparison and client reporting
- Current with dated specifics: HowTo/FAQPage deprecation status and Google's December 2025 JS-injection guidance
- MIT licensed, free, with dependencies isolated in a dedicated venv
- Hard dependency on the collection's fetch_page.py script and a specific install path — the SKILL.md alone is not usable out of the box
- No test suite or published audit evidence in the source; rubric weights (e.g., sameAs worth 15 points) are the author's standards, not an industry benchmark
- Logic lives in markdown instructions for the model to follow, so real-world output quality depends on model execution
- Empty repo topics and no standalone documentation or case studies beyond the README
- Schema-only scope — it cannot replace a full GEO audit, which requires the collection's other skills
How do you install this skill?
This skill ships only as part of the geo-seo-claude collection. Install the collection: on macOS/Linux run curl -fsSL https://raw.githubusercontent.com/zubair-trabzada/geo-seo-claude/main/install.sh | bash; on Windows use Git Bash with curl -fsSL https://raw.githubusercontent.com/zubair-trabzada/geo-seo-claude/main/install-win.sh | bash; or manually git clone https://github.com/zubair-trabzada/geo-seo-claude.git && cd geo-seo-claude && ./install.sh. Requirements: Python 3.8+ (plus python3-venv on Debian/Ubuntu), Claude Code CLI, Git; optional uv and Playwright. Python dependencies go into an isolated venv at ~/.claude/skills/geo/.venv/.
How do you use this skill?
After installing the collection, open Claude Code and run /geo schema <url> to trigger structured data analysis and generation. The skill's flow: fetch the page → detect existing schemas → validate → identify missing schemas → generate JSON-LD → output GEO-SCHEMA-REPORT.md. Note it internally calls ~/.claude/skills/geo/scripts/fetch_page.py, so the collection must be installed at its default path.
How does this skill compare with similar options?
The source names no specific competitors, but positions itself against traditional SEO schema tools aimed at Google rich results: those optimize for rich-result display, while this skill optimizes for entity recognition and citation probability on AI platforms, covering speakable and sameAs properties traditional tools rarely check.