geo-schema

geo-schema is an agent for Claude Code from zubair-trabzada/geo-seo-claude. It costs 44 tokens per session (3,775 once invoked), scanned A, original, MIT.

An agent for checking and creating structured data on a website, usually in JSON-LD. Structured data is extra information in a page’s code that tells search engines and AI systems what entities such as organizations, people, and articles represent.

In plain words
What is it for?
Use it to inspect a site’s schema markup, validate it against Schema.org and Google requirements, find discoverability gaps, and generate suggested JSON-LD.
Why use it?
It identifies missing or invalid metadata that can make a website harder for search and AI systems to interpret. It also accounts for JSON-LD that ordinary page extraction may miss.

Agent for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: reads .claude/ paths.

Good fit Use it to inspect a site’s schema markup, validate it against Schema.org and Google requirements, find discoverability gaps, and generate suggested JSON-LD.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/zubair-trabzada/geo-seo-claude/geo-schema
About the project

geo-seo-claude is a Claude Code skill for improving how websites appear in AI-powered search while retaining traditional search-engine optimization. It is used by marketers and website practitioners for analysis such as citation scoring, crawler review, authority assessment, structured data, and platform-specific recommendations. The catalogue entries are skills and agents that carry out this optimization workflow.

zubair-trabzada/geo-seo-claude · 10,540 stars · on GitHub · skool.com

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/zubair-trabzada/geo-seo-claude

Made for: Claude Code.

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/agents/zubair-trabzada/geo-seo-claude/geo-schema/github.svg)](https://agentmods.dev/agents/zubair-trabzada/geo-seo-claude/geo-schema)
Your own site
<a href="https://agentmods.dev/agents/zubair-trabzada/geo-seo-claude/geo-schema"><img src="https://agentmods.dev/badge/agents/zubair-trabzada/geo-seo-claude/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/agents/zubair-trabzada/geo-seo-claude/geo-schema"><img src="https://agentmods.dev/badge/agents/zubair-trabzada/geo-seo-claude/geo-schema.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 44 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,775 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 original No closer match found 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.00044 $0.03775
Opus 5 $0.00022 $0.01887
Sonnet 5 $0.00009 $0.00755
Haiku 4.5 $0.00004 $0.00378

Measured 13d ago against content hash a30090dcca6d, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, 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 13d 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

Copies of this mod

2 near-identical copies found in the catalogue:

agents/geo-schema.md · 367 lines

How it starts

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

GEO Schema & Structured Data Agent

You are a schema markup specialist. Your job is to analyze a target URL for existing structured data, validate it against Schema.org specifications and Google's requirements, identify gaps critical for AI discoverability, and generate recommended JSON-LD templates. Structured data is how you explicitly tell search engines and AI models what your content is about. You produce a structured report section with validation results and generated code.

Execution Steps

IMPORTANT: WebFetch converts HTML to markdown and strips <head> content, which removes JSON-LD blocks. For schema detection, use the fetch_page.py script instead:

python3 ~/.claude/skills/geo/scripts/fetch_page.py <url> page

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

Step 1: Detect Existing Structured Data

Fetch the target URL using fetch_page.py (see above) and scan the full HTML source for structured data in all three formats:

JSON-LD (Preferred):

  • Search for <script type="application/ld+json"> tags.
  • Extract and parse the JSON content of each tag.
  • Record the @type(s) found in each block.
  • Note: A page can have multiple JSON-LD blocks.

Microdata:

  • Search for itemscope, itemtype, and itemprop attributes in HTML elements.
  • Record the schema types detected via itemtype URLs.
  • Map the properties found via itemprop attributes.

RDFa:

  • Search for vocab, typeof, and property attributes.
  • Record any RDFa-based structured data.
  • Note: RDFa is rare on modern sites.

Record:

  • Total number of structured data blocks found.
  • Format(s) used (JSON-LD, Microdata, RDFa, or mixed).
  • Complete list of schema types detected.

Step 2: Parse and Validate Detected Schemas

For each detected schema block, validate against Schema.org specifications:

Syntax Validation:

  • Is the JSON well-formed? (JSON-LD only)
  • Is @context set to "https://schema.org" or a valid context?
  • Is @type present and a recognized Schema.org type?
  • Are property names valid for the declared type?
  • Are nested types properly structured?

Read the full file on GitHub · 367 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. 13d ago First seen · 367 lines · 44 tokens per session scan A a30090dcca6d

Subscribe to this mod's changes

geo-schema is an agent published in the GitHub repository zubair-trabzada/geo-seo-claude (10,540 stars, last pushed yesterday), licensed MIT. It adds 44 tokens to every session and 3,775 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other agents, from other repositories