geo-schema

geo-schema is a skill for Claude Code from techhorizonlabs/thl-open. It costs 26 tokens per session (3,736 once invoked), scanned A, a copy of geo-schema, MIT.

A tool for checking and creating structured data, which is machine-readable information that describes what a website, business, or other entity is.

In plain words
What is it for?
It detects JSON-LD, Microdata, and RDFa, checks them against Schema.org rules, finds recommended missing types, and generates ready-to-use JSON-LD code.
Why use it?
Missing or invalid structured data can make it harder for search systems and AI tools to understand a page and its connections to other entities.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is python3 scripts/fetch_page.py <url> page.

Part of the thl-open plugin — 17 skills shipped together

Good fit It detects JSON-LD, Microdata, and RDFa, checks them against Schema.org rules, finds recommended missing types, and generates ready-to-use JSON-LD code.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/techhorizonlabs/thl-open
agentmods
npx agentmods add skills/techhorizonlabs/thl-open/geo-schema

Made for: Claude Code.

Or install thl-open, the plugin that ships this one along with the rest of its 17 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for geo-schema

README.md
[![agentmods](https://agentmods.dev/badge/skills/techhorizonlabs/thl-open/geo-schema/github.svg)](https://agentmods.dev/skills/techhorizonlabs/thl-open/geo-schema)
Your own site
<a href="https://agentmods.dev/skills/techhorizonlabs/thl-open/geo-schema"><img src="https://agentmods.dev/badge/skills/techhorizonlabs/thl-open/geo-schema/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for geo-schema

Your own site · 80×15
<a href="https://agentmods.dev/skills/techhorizonlabs/thl-open/geo-schema"><img src="https://agentmods.dev/badge/skills/techhorizonlabs/thl-open/geo-schema.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 26 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,736 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 94% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00026 $0.03736
Opus 5 $0.00013 $0.01868
Sonnet 5 $0.00005 $0.00747
Haiku 4.5 $0.00003 $0.00374

Measured 9d ago against content hash 520e55962f47, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

geo-schema scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

94% identical to geo-schema — 6 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

skills/geo-schema/SKILL.md · 373 lines

How it starts

The opening of the file, as written. The whole thing — 373 lines — stays where its author put it; the contents beside it link to each section on GitHub.

GEO Schema & Structured Data

Purpose

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.

How to Use This Skill

  1. Fetch the target page HTML using fetch_page.py (see note below)
  2. Detect all existing structured data (JSON-LD, Microdata, RDFa)
  3. Validate detected schemas against Schema.org specifications
  4. Identify missing recommended schemas based on business type
  5. Generate ready-to-use JSON-LD code blocks
  6. Output GEO-SCHEMA-REPORT.md

Step 1: Detection

IMPORTANT: WebFetch converts HTML to markdown and strips <head> content, which removes JSON-LD blocks. Use fetch_page.py instead:

python3 scripts/fetch_page.py <url> page

The output includes a structured_data array with all parsed JSON-LD blocks from the page.

Scan for JSON-LD

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.

Scan for Microdata

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.

Scan for RDFa

Look for elements with typeof, property, and vocab attributes. Similar to Microdata — recommend migration to JSON-LD.

Priority Order

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.

Read the full file on GitHub · 373 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 373 lines · 26 tokens per session scan A 520e55962f47

Subscribe to this mod's changes

geo-schema is a skill published in the GitHub repository techhorizonlabs/thl-open (15 stars, last pushed today), licensed MIT. It adds 26 tokens to every session and 3,736 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 94% identical to geo-schema, differing in 6 lines, and is treated as a copy.

Related

Other skills, from other repositories

geo-schema

Schema.org structured data audit and generation optimized for AI discoverability — detect, validate, and generate JSON-LD markup.

asale-ai/seo-geo-skill · 26 tokens

geo-schema

Schema.org structured data audit and generation optimized for AI discoverability — detect, validate, and generate JSON-LD markup.

zubair-trabzada/geo-seo-claude · 26 tokens

geo-schema

Schema.org structured data audit and generation optimized for AI discoverability — detect, validate, and generate JSON-LD markup.

KSfak/Zubair-Trabzada-YouTube · 26 tokens

geo-visibility

Get cited and recommended by AI engines (ChatGPT, AI Overviews and AI Mode, Perplexity, Claude, Gemini). Input: a page or piece of content. Output: passage-level citability fixes (answer-first H2 blocks, self-contained chunks, definitions, sourced stats, comparison tables), a 5-pillar GEO score (0-100), an AI-crawler…

Thibaultbm/claude-seo-geo · 133 tokens

seo-content-collection-page

Optimize e-commerce collection, category, and product listing pages (PLPs) for Google and AI assistants. Input: a collection or category page (Shopify, WooCommerce, Magento, BigCommerce, PrestaShop, or custom). Output: a bottom-of-page SEO text block, faceted-navigation and filter URL control, pagination canonicals…

Thibaultbm/claude-seo-geo · 122 tokens

geo-tracking

Measure AI visibility without paid tools or API keys. Input: your site (GA4 and server logs) and a buyer prompt panel. Output: GA4 AI-traffic reporting (custom channel group plus referrer regex above Referral), monthly brand mention rate, citation rate, and share of voice versus competitors across ChatGPT, Perplexity…

Thibaultbm/claude-seo-geo · 121 tokens