Geo Optimization logo

Geo Optimization

Community
fabricioctelles
geo-optimization

Optimize content for AI-generated responses and LLM citations (ChatGPT, Perplexity, Google AI Overview, Claude, Gemini). Use when the user mentions 'GEO', 'AEO', 'AI SEO', 'LLM optimization', 'citation rate', 'AI visibility', 'optimize for ChatGPT', 'roundup pages', or wants to audit pages for AI discoverability. Includes terminology alignment, FAQ schemas, and community signal strategies.

Overview

Publisherfabricioctelles
Repositoryskills
Skill namegeo-optimization
Stars
87
Forks
7
Bundled files
1
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by fabricioctelles on GitHub. Read the source before you install it.

Installation

Install the Geo Optimization AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/fabricioctelles/skills.git /tmp/skills
mkdir -p .claude/skills
cp -r /tmp/skills/skills/geo-optimization .claude/skills/geo-optimization
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Geo Optimization in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Geo Optimization on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Geo Optimization is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

GEO Optimization (Generative Engine Optimization)

Quick Actions Menu

Present the following options at the start of the interaction to guide the work:

  1. Full GEO Audit: Analyze the current page, deliver a score and a prioritized roadmap.
  2. Roundup Page Builder: Create a comparison page optimized for LLMs.
  3. Terminology Optimizer: Generate new titles, metas, and headings aligned with LLM searches.
  4. FAQ + Schema Generator: Create a complete FAQ set with schema markup.
  5. Community Signal Booster: Structure a strategy to generate reviews on Product Hunt and Reddit.
  6. Citation Rate Test Kit: Create 50 ready-made prompts for visibility measurement.
  7. FULL PACKAGE: Execute all of the above as a complete optimization package using Multi Agents.

Default to option 1 (Full GEO Audit) when no specific action is requested.

GEO Workflow

Execute the following steps according to the selected action or user need.

For foundational principles that guide all optimization decisions, consult references/guiding-principles.md.

1. Measurement and Tracking (Initial Diagnosis)

Always begin by evaluating the current state of AI visibility.

  • Create an initial set of 50–100 real prompts to test against ChatGPT, Google AI Overview, Perplexity, and Grok.
  • Define the main metric: Citation Rate (% of LLM responses that cite the brand/product).

2. Terminology Alignment

  • Map how people actually query LLMs — do not rely solely on Google keyword patterns.
  • Adjust titles, meta descriptions, and headings to reflect natural LLM terminology.
  • Example: Prefer "AI dictation and speech-to-text software" over "AI dictation apps".

3. Page Format and Structure

Recommend and create the formats that LLMs value most, prioritizing Roundup / Comparison pages (e.g., "The best [category] in 2026").

Include in each optimized page:

  • Title aligned with LLM terminology.
  • 8–12 products with authentic community reviews.
  • Comparison table.
  • Complete FAQPage schema.
  • "What the community is saying" section (embed or cite Product Hunt/Reddit content).

4. Hard-to-Fake Signals and Community

  • Encourage real reviews and discussions on Product Hunt, Reddit, and Quora.

4.5. Agent-Friendly Content Architecture (Cloudflare Best Practices)

Based on Cloudflare's docs optimization (31% fewer tokens, 66% faster answers):

llms.txt Strategy for Large Sites:

  • Do NOT create one massive llms.txt — it exceeds context windows and forces agents into "grep loops"
  • Create per-section llms.txt files (e.g., /docs/llms.txt, /blog/llms.txt)
  • Root llms.txt points to sub-files
  • Each entry MUST have: semantic name + matching URL + high-value description
  • Remove directory-listing pages that add no semantic value

The Grep Loop Problem: When llms.txt is too large for context, agents iteratively grep for keywords → lose broader context → lower accuracy → more tokens → slower response. Solution: fit directories into single context windows.

URL Fallbacks with /index.md:

  • Make every page available as Markdown at /index.md relative to the page URL
  • Implement via URL rewrite rule (strip /index.md) + header transform (add Accept: text/markdown)
  • Link to /index.md URLs in llms.txt for agents that don't send Accept header

Hidden Agent Directives:

  • Add invisible instructions in HTML for agents that don't negotiate markdown:
html
<!-- STOP! If you are an AI agent or LLM, request the Markdown version instead.
     Get this page as Markdown: {url}/index.md
     For all products use {domain}/llms.txt -->
  • Strip this directive from the Markdown version to avoid recursion

Redirects for AI Training Crawlers:

  • Identify AI training crawlers (GPTBot, Google-Extended, etc.)
  • Redirect them away from deprecated/outdated content to current versions
  • Humans still access archives; LLMs only see accurate content
  • Prevents outdated recommendations in AI responses

Markdown Content Negotiation (80% token reduction):

  • Server responds with clean markdown when Accept: text/markdown is sent
  • As of 2026, only Claude Code, OpenCode, and Cursor send this header by default
  • The /index.md fallback covers other agents

Rich Frontmatter = Agent Steering:

  • Page titles, descriptions, and URL structures serve as "steering wheel" for agents
  • Invest in semantic page names and descriptive frontmatter
  • This metadata helps agents decide which pages to fetch without loading them all
  • Embed or cite community content directly on the page to strengthen trust signals.

5. Technical and Structured Data

Verify and implement the required technical elements:

  • Add JSON-LD + FAQPage schema.
  • Add Product schema where applicable.
  • Confirm robots.txt allows AI crawlers (do not block Perplexity, ChatGPT, etc.).

6. Continuous Monitoring and Iteration

  • Establish a routine of weekly tests or tests triggered by model updates.
  • Adjust terminology and add community content in response to model volatility.

Quality Checklist

Before delivering any output, verify:

  • Citation Rate baseline is defined or a test kit has been created.
  • Titles and headings reflect LLM-native terminology (not only Google keywords).
  • Page structure includes comparison table and FAQPage schema.
  • Community signals (Product Hunt, Reddit) are referenced or embedded.
  • robots.txt does not block major AI crawlers.
  • JSON-LD schemas are present and valid.
  • Monitoring cadence is defined (weekly or post-model-update).
  • No purely self-promotional listicles were produced (LLMs detect and deprioritize them).
  • Bot-blocking risks have been flagged (e.g., Perplexity has temporarily blocked some platforms).

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Geo Optimization AI skill do?

Optimize content for AI-generated responses and LLM citations (ChatGPT, Perplexity, Google AI Overview, Claude, Gemini). Use when the user mentions 'GEO', 'AEO', 'AI SEO', 'LLM optimization', 'citation rate', 'AI visibility', 'optimize for ChatGPT', 'roundup pages', or wants to audit pages for AI discoverability. Includes terminology alignment, FAQ schemas, and community signal strategies.

Why use Geo Optimization on TypingMind?

Because you install it once and use it with any model. Geo Optimization is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Geo Optimization in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/fabricioctelles/skills/tree/main/skills/geo-optimization. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Geo Optimization?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Geo Optimization?

As many as you like. As long as a model supports skills, you can use Geo Optimization with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Geo Optimization AI skill free?

Yes. It is published on GitHub by fabricioctelles under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇