geo-llm-optimization

geo-llm-optimization is a skill for Claude Code, Codex from majdghithan/agent-skills. It costs 129 tokens per session (1,403 once invoked), scanned A, original, MIT.

A guide to Generative Engine Optimization, or GEO: preparing website content so AI assistants can cite or recommend it in their answers. It explains how this differs from SEO, which focuses on ranking in search-engine results.

In plain words
What is it for?
Reviewing and improving website content, crawler access, structured information, and other aspects that affect whether AI assistants use a site as a source.
Why use it?
People increasingly ask AI assistants instead of browsing search results, but a site may be ignored if its content or crawler access is unsuitable. This helps identify changes that improve the chance of being included in AI-generated answers.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Reviewing and improving website content, crawler access, structured information, and other aspects that affect whether AI assistants use a site as a source.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/majdghithan/agent-skills/geo-llm-optimization
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.

Any agent
npx skills add majdghithan/agent-skills --skill geo-llm-optimization
Clone the repo
git clone --depth 1 https://github.com/majdghithan/agent-skills

Made for: Claude Code, Codex.

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-llm-optimization

README.md
[![agentmods](https://agentmods.dev/badge/skills/majdghithan/agent-skills/geo-llm-optimization/github.svg)](https://agentmods.dev/skills/majdghithan/agent-skills/geo-llm-optimization)
Your own site
<a href="https://agentmods.dev/skills/majdghithan/agent-skills/geo-llm-optimization"><img src="https://agentmods.dev/badge/skills/majdghithan/agent-skills/geo-llm-optimization/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-llm-optimization

Your own site · 80×15
<a href="https://agentmods.dev/skills/majdghithan/agent-skills/geo-llm-optimization"><img src="https://agentmods.dev/badge/skills/majdghithan/agent-skills/geo-llm-optimization.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 129 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,403 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.00129 $0.01403
Opus 5 $0.00064 $0.00701
Sonnet 5 $0.00026 $0.00281
Haiku 4.5 $0.00013 $0.00140

Measured 10d ago against content hash 060a878d71f2, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

geo-llm-optimization 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 10d 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.

skills/geo-llm-optimization/SKILL.md · 92 lines

How it starts

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

GEO - Generative Engine Optimization

More and more people skip Google and ask ChatGPT/Claude/Perplexity/Gemini directly. When they do, there is no results page - one synthesized answer. If your content isn't inside that answer, you don't exist for that person: no impression, no click, nothing. GEO is how you get into the answer.

SEO vs GEO: SEO optimizes so a search engine ranks your page and you win a click. GEO optimizes so an AI assistant cites or recommends you inside its answer - you win a mention. They share most fundamentals; the target differs. SEO is not dead - do the shared fundamentals well and you play both games with one codebase.

The five things GEO actually asks (in priority order)

1. Let the AI crawlers in (the #1 thing people get backwards)

AI assistants read the web through their own bots. If robots.txt blocks them, you've opted out of every AI answer on purpose. Allow them:

# robots.txt - allow AI crawlers explicitly (or just Allow: / for User-agent: *)
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Google-Extended        # Gemini / Vertex training + grounding
Allow: /

Sitemap: https://example.com/sitemap.xml

Verify you are not accidentally blocking them at the CDN/WAF layer (Cloudflare "block AI bots" toggles, etc.).

2. Be extractable - LLMs lift claims

Models pull discrete claims out of your text. Make them easy to lift verbatim:

  • Clear, descriptive headings; a direct definition near the top of each section.
  • Short declarative sentences with real numbers and sources ("cut p95 from 800ms to 120ms").
  • Answer the actual question plainly instead of burying it under vague prose - the page that says the thing directly gets quoted; the wall of fluff gets skipped.

3. Give machines structure (JSON-LD + semantic HTML)

Structured data tells both Google and the models exactly what the page is, who wrote it, and when. Use real Article/BlogPosting, WebSite, and Person/Organization types - and a @graph linking author to site:

{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "…",
  "datePublished": "2026-07-28",
  "author": {
    "@type": "Person",
    "name": "Your Name",
    "jobTitle": "…",
    "sameAs": ["https://www.linkedin.com/in/you", "https://github.com/you"]
  },
  "publisher": { "@type": "Organization", "name": "…" }
}

Add a clean sitemap.xml, canonical URLs, and OG/Twitter meta. Do not fake schema (e.g. a FAQPage for Q&As that aren't really on the page) - fabricated structured data is a liability, not a GEO win.

Read the full file on GitHub · 92 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. 10d ago First seen · 92 lines · 129 tokens per session scan A 060a878d71f2

Subscribe to this mod's changes

geo-llm-optimization is a skill published in the GitHub repository majdghithan/agent-skills (7 stars, last pushed 1mo ago), licensed MIT. It adds 129 tokens to every session and 1,403 once invoked, about $0.0006 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-31.

Related

Other skills, from other repositories

olakunlevpn-filament-skills

Use when writing, reviewing, or refactoring Filament PHP v5 code -- resources, forms, tables, infolists, actions, widgets, panels, relation managers, multi-tenancy, testing, or plugin development. Always apply these standards to all Filament work.

olakunlevpn/olakunlevpn-filament-skills · 64 tokens

powergrid-theme

Create or update a PowerGrid v7 theme using the Theme abstract class, per-section token methods (layout/header/table/footer/cols/tabs plus filter/editable/toggleable), config themeoverrides, or ArrayTheme.

Power-Components/livewire-powergrid · 49 tokens

upgrade-theme-v6-to-v7

Migrates a v6 Theme class to the v7 architecture: a tiny struct() plus per-section token methods (layout/header/table/footer/cols/tabs + filter/editable/toggleable) with parentTheme inheritance.

Power-Components/livewire-powergrid · 52 tokens

create-powergrid-plugin

Create a complete PowerGrid plugin from scratch, including PHP class, Column macro, Blade view, Alpine.js component, and registration.

Power-Components/livewire-powergrid · 31 tokens

module:assistant

Add an AI assistant chat panel to any Laravel project — with tool calling, streaming, and MCP support.

escapeboy/ai-prompts · 24 tokens

laravel-spatie-event-sourcing

Use this skill any time a user works with Laravel and event sourcing together — whether setting up spatie/laravel-event-sourcing for the first time, designing a new event-sourced domain (aggregates, events, projectors, reactors), generating code for bounded contexts, or debugging issues with AggregateRoot…

albertoarena/claude-laravel-event-sourcing · 150 tokens