Skip to main content
skill CX Codex

geo-content-optimizer · aaron-he-zhu — Claude Code skill: make pages AI-citable

Audits and rewrites a page so ChatGPT, Perplexity, Gemini and AI Overviews are more likely to quote it. Handy when search clicks are sliding.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add aaron-he-zhu/aaron-marketing-skills --skill geo-content-optimizer -a claude-code
Open on GitHub

What geo-content-optimizer does

The skill scores a piece on clear definitions, quotable statements, factual density, source citations, Q&A blocks, tables and lists, freshness and structure. Then it applies fixes and reports a before/after GEO score plus AI Query Coverage.

Five steps run in order: load the CORE-EEAT GEO targets, analyze the current content, apply GEO techniques, generate the output, then run a self-check against the CORE-EEAT matrix. A separate playbook covers AI Overview recovery in four phases, from measurement to monitoring. With ~~AI monitor and ~~SEO tool connected it pulls data from them; otherwise it asks for target queries, engines and competitor examples.

A keyless probe ships with it: python3 "${CLAUDE_PLUGIN_ROOT}/scripts/connectors/tavily.py" search "<target query>" --answer --limit 10. That runs the citability test against a live answer engine with no API key. Read the caveat before promising anything to a client: citability and unprompted surfacing are different signals. The second one waits on crawl and index refresh, so it moves on a week scale, not minutes. When the content names a brand, person or product, the skill consults memory/entities/<slug>.md and flags a stale profile as an open loop.

What it helps with

  • add standalone definitions and quotable lines to a page
  • build Q&A blocks and tables around target queries
  • test whether a live AI engine cites your URL
  • label each metric as measured, user-provided or estimated
  • draft a recovery plan for lost AI Overview clicks

Example prompts for the agent

  • Optimize this content for GEO/AI citations: <content or URL>
  • Make this article more likely to be cited by AI systems
  • Audit this content for GEO readiness and suggest improvements

How to install geo-content-optimizer

1Skills CLI (Vercel)

npx skills add aaron-he-zhu/aaron-marketing-skills --skill geo-content-optimizer -a claude-code

2Manually: put the files in place

~/.claude/skills/geo-content-optimizer/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/geo-content-optimizer/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about geo-content-optimizer

How do I install geo-content-optimizer in Claude?

Run npx skills add aaron-he-zhu/aaron-marketing-skills --skill geo-content-optimizer -a claude-code. The skill file then sits at ~/.claude/skills/geo-content-optimizer/SKILL.md.

What does geo-content-optimizer do?

It improves structure, factual density, quotable statements and source attribution so AI engines can lift your text into answers. You get the edits plus a before/after GEO score.

How is it different from on-page-seo-checker and content-writer?

Structural on-page SEO belongs to on-page-seo-checker. Drafting net-new content belongs to content-writer. This skill only reworks existing material for AI citation.

Source text

SKILL.md · Apache-2.0
---
name: geo-content-optimizer
slug: geo-content-optimizer
displayName: "GEO Content Optimizer · AI引用优化"
summary: "AI引用优化/GEO优化/AI搜索"
description: 'Use when the user asks to "optimize for AI citations"; improves citation readiness for ChatGPT, Perplexity, AI Overviews, Gemini, and Claude. Not for structural on-page SEO — use on-page-seo-checker; not for net-new drafting — use content-writer. AI引用优化/GEO优化/AI搜索'
version: "20.1.0"
license: Apache-2.0
compatibility: "Claude Code and compatible agent-skill hosts"
homepage: "https://github.com/aaron-he-zhu/aaron-marketing-skills"
when_to_use: "Use when optimizing content for AI engines like ChatGPT, Perplexity, AI Overviews, Gemini, Claude, or Copilot. Also for AI citation optimization, generative engine visibility, AI引用优化, AI搜索优化, GEO优化, or 让AI引用我."
argument-hint: "<content URL or text> [target AI engine]"
metadata: {"author": "aaron-he-zhu", "version": "20.1.0", "discipline": "seo-geo", "phase": "implement", "geo-relevance": "high", "hermes": {"tags": ["marketing", "seo-geo", "implement"], "category": "seo-geo"}, "openclaw": {"emoji": "🔍", "homepage": "https://github.com/aaron-he-zhu/aaron-marketing-skills"}}
---

# GEO Content Optimizer

Optimizes content for AI-generated answers and citation surfaces such as ChatGPT, Perplexity, Gemini, Claude, and AI Overviews.

## What This Skill Does

Improves structure, authority signals, factual density, quotable statements, source attribution, and overall GEO readiness.

## Quick Start

```text
Optimize this content for GEO/AI citations: [content or URL]
Make this article more likely to be cited by AI systems
Write content about [topic] optimized for both SEO and GEO
Audit this content for GEO readiness and suggest improvements
AI Overview is eating clicks on 12 head queries — build a recovery plan
```

See [AI Overview Recovery](references/ai-overview-recovery.md) for the 4-phase playbook (measure → diagnose → rewrite → monitor) tailored to recovery scenarios (as opposed to generic GEO optimization).

## Skill Contract

**Expected output**: a ready-to-use asset or implementation-ready transformation plus a short handoff summary ready for `memory/content/`.

- **Reads**: the brief, target keywords, entity inputs, and quality constraints. **Canonical entity profiles**: if the content mentions a brand / person / product, this skill MUST consult `memory/entities/<slug>.md` (per the [entity-geo handoff schema](../../../references/entity-geo-handoff-schema.md)) to populate `display_name`, `description_short`, `ai_resolution_status` and decide whether disambiguation boilerplate is needed. If the profile is missing or stale (>90 days), declare `DONE_WITH_CONCERNS` and recommend `entity-registry` as an open loop.
- **Writes**: a user-facing content, metadata, or schema deliverable plus a reusable summary that can be stored under `memory/content/`.
- **Promotes**: approved angles, messaging choices, missing evidence, and publish blockers to `memory/hot-cache.md` and `memory/open-loops.md`; propose durable decisions as pending-decision items.
- **Done when**: each target AI query has a standalone, quotable answer block; a before/after GEO score and AI Query Coverage are reported; and the CORE-EEAT GEO self-check (C02, O03, O05, E01) has no unaddressed Fail.
- **Primary next skill**: use the `Next Best Skill` below when the asset is ready for review or deployment.

### Handoff Summary

> Emit the standard shape from [skill-contract.md §Handoff Summary Format](../../../references/skill-contract.md).

## Data Sources

Use `~~AI monitor` and `~~SEO tool` when connected; otherwise ask for target queries, content, engines, competitor examples, and known AI-citation gaps. See [CONNECTORS.md](../../../CONNECTORS.md).

**Measuring whether GEO work paid off:** the changes this skill makes (extractable, quotable, answer-shaped content) move **citability** — testable in minutes by handing a live-fetch engine the URL and asking the target query. That is a *proxy*. Whether an engine then cites you *unprompted* (surfacing) is gated by its crawl/index refresh — week-scale and confounded, not minute-level. Do not conflate the two or promise fast surfacing. The latency of each signal, and why outcome deltas need a control group, are defined in [references/measurement-protocol.md](../../../references/measurement-protocol.md).

**Keyless AI-citation probe (Tavily)**: `python3 "${CLAUDE_PLUGIN_ROOT}/scripts/connectors/tavily.py" search "<target query>" --answer --limit 10` runs that citability test against a real AI answer engine, no key needed — check whether the synthesized answer cites your URL/domain and where the page ranks among the scored sources. This is **Measured** for Tavily's own layer and an **Estimated proxy** for ChatGPT/Perplexity/Google AI Overviews (different indexes, different retrieval). Re-run after shipping changes for a minutes-scale citability read; unprompted surfacing stays week-scale per the paragraph above. See [scripts/connectors/README.md](../../../scripts/connectors/README.md).

## Instructions

When a user requests GEO optimization, run these five steps:

1. **Load CORE-EEAT GEO-First Targets** — prioritize C02, C09, O03, O05, E01, O02 plus engine-specific preferences.
2. **Analyze Current Content** — score clear definitions, quotable statements, factual density, source citations, Q&A format, authority signals, freshness, and structure clarity.
3. **Apply GEO Techniques** — add standalone 25-50 word definitions, sourced quotable statements, expert/source signals, Q&A/tables/lists, specific data, and visible-content-matching FAQ schema.
4. **Generate GEO Output** — report Changes Made, before/after GEO score, and AI Query Coverage.
5. **CORE-EEAT GEO Self-Check** — verify C02, C04, C09, O02, O03, O05, O06, R01, R02, R04, R07, E01, Exp10, Ept08 with Pass/Warn/Fail. Then run the [slop self-check](../../../references/humanizer-slop.md) to strip AI-tell phrasing before the asset ships.

Label every metric **Measured** (tool/export), **User-provided**, or **Estimated** (model inference); never present an estimate as measured; if a required metric is unavailable, mark it N/A — do not invent it.

> **Reference**: See [Instructions Detail](references/instructions-detail.md) for the full CORE-EEAT GEO target tables, AI engine preferences, analysis templates, optimization report template, self-check matrix, and examples.

## Example

**User**: "Optimize this paragraph for GEO: 'Email marketing is a good way to reach customers. It's been around for a while and many businesses use it.'"

**Output** adds a clear definition, dated/source-backed facts, structured list, quotable statements, and a before/after GEO score. See the full pattern in [Instructions Detail — Example](references/instructions-detail.md#example).

## GEO Optimization Checklist

> **Reference**: See the GEO Readiness Checklist in [GEO Optimization Techniques](references/geo-optimization-techniques.md) for the full checklist covering definitions, quotable content, authority, structure, and technical elements.

## Save Results

On user confirmation, save to `memory/content/YYYY-MM-DD-<topic>.md` — see [Skill Contract](../../../references/skill-contract.md) §Save Results Template.

## Reference Materials

- [Instructions Detail](references/instructions-detail.md) - Full 5-step workflow, CORE-EEAT GEO targets, self-check matrix, worked example, tips
- [GEO Optimization Techniques](references/geo-optimization-techniques.md) - Detailed before/after examples, templates, and checklists for each technique
- [AI Citation Patterns](references/ai-citation-patterns.md) - Evidence-bounded discovery, retrieval, and citation controls for Google AI features, ChatGPT Search, Perplexity, Claude, Gemini grounding, Copilot Studio, and Brave Search
- [Quotable Content Examples](references/quotable-content-examples.md) - Before/after examples of content optimized for AI citation
- [Medium / GitHub AI-Citation Surfaces](references/medium-github-surfaces.md) - Off-site surfaces engines cite (Medium articles, GitHub repos/READMEs)
- [Slop Self-Check](../../../references/humanizer-slop.md) - Pre-publish pass to strip AI-tell phrasing before content ships
- [Agent-Readable File Stack (llms.txt / OKF)](../../../references/llms-txt-okf.md) - Machine-readable files so agents and engines can parse your site
- [Grokipedia Tactics](../../../references/platforms/grokipedia.md) - AI-citation tactics for Grok / Grokipedia
- **GEO distribution surfaces** — platform refs engines pull from: [X](../../../references/platforms/x.md), [LinkedIn](../../../references/platforms/linkedin.md), [YouTube](../../../references/platforms/youtube.md), [Reddit](../../../references/platforms/reddit.md)

## Next Best Skill

- **Primary**: [content-quality-auditor](../../tune/content-quality-auditor/SKILL.md) — verify the optimized content is strong enough to ship and cite.

**Termination note**: keep a visited-set this session; if the recommended skill was already invoked, stop and report the chain complete rather than re-running it. Honor a max handoff depth of 3 to avoid loops (per [skill-contract.md §Termination rules](../../../references/skill-contract.md)).

© aaron-he-zhu · Apache-2.0 · aaron-he-zhu/aaron-marketing-skills

Similar skills

Everything for SEO and GEO →

geo-content-optimizer by other authors comes first.

From the same set113

keyword-research A skill that discovers keywords for a topic, scores volume and difficulty, groups them into clusters and returns a content plan. CX Codex +1 1,900installs content-writer Generates search-focused drafts from scratch and audits declining pages to plan content refreshes. Fits blog posts and landing pages. CX Codex +1 1,800installs content-gap-analysis Compares your site coverage with competitors and turns missing topics into a ranked content plan. Use it when you have your domain and competitor domains. CX Codex +1 1,500installs competitor-analysis Benchmarks competitor keywords, backlinks, traffic share, and AI citations. It generates comparison tables and a prioritized SEO action plan. CX Codex +1 1,500installs content-quality-auditor Scores a draft or live page against 80 CORE-EEAT items and returns a SHIP, FIX, BLOCK or UNDECIDED verdict before you publish. CX Codex +1 1,500installs short-video-scripter Builds timestamped 9:16 beat-sheet scripts for TikTok, Reels, Shorts, and Douyin. It helps retain viewers in the opening seconds using structured drop-off gates. CX Codex +1 1,500installs site-structure-optimizer A skill that plans site structure and untangles internal linking: page hierarchy, URLs, hub clusters, orphan pages. It returns a structure score out of 100. CX Codex +1 1,400installs serp-markup-builder Builds the document head: title and description options, an Open Graph and Twitter Card block, and validated JSON-LD for rich results. CX Codex +1 1,400installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor