# geo-citability

Grades a page from 0 to 100 on how likely ChatGPT, Claude, Perplexity or Gemini is to quote a passage from it, then names the passages to rewrite.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 844 installs · ★ 11253
- Author: zubair-trabzada
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/zubair-trabzada/geo-seo-claude/tree/HEAD/skills/geo-citability/SKILL.md
- Updated: 2026-10-25
- HTML: https://affpapa.org/en/nevibecode/skills/geo-citability

## What it does

The skill reads a page and returns a citability score from 0 to 100, meaning the odds that an AI system lifts a chunk of it and serves that chunk as an answer. Four categories feed the number: answer block quality at 30% of the score, passage self-containment at 25%, structural readability at 20%, statistical density at 15%.

Each category ships with a scoring table, plus a per-passage checklist. Does the passage name its subject rather than saying "it"? Does it carry a figure or a named entity? Does it open with a conjunction that assumes earlier context? The author points to 2024 research from Princeton, Georgia Tech and IIT Delhi: GEO-tuned content shows up in AI responses 30-115% more often, and models favour passages of 134-167 words.

Answer blocks account for 30% of the score, so rewriting the first sentences of a section buys more than restyling its heading. The skill reads local files, can fetch a live page through WebFetch, and writes the revised text back when asked.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add zubair-trabzada/geo-seo-claude --skill geo-citability -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/geo-citability/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/geo-citability/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add zubair-trabzada/geo-seo-claude --skill geo-citability -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/geo-citability/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add zubair-trabzada/geo-seo-claude --skill geo-citability -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/geo-citability/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install zubair-trabzada/geo-seo-claude geo-citability
```

2. **Manually: put the files in place**
- File: `.github/skills/geo-citability/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add zubair-trabzada/geo-seo-claude --skill geo-citability -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/zubair-trabzada/geo-seo-claude --path skills/geo-citability
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/geo-citability/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add zubair-trabzada/geo-seo-claude --skill geo-citability -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/zubair-trabzada/geo-seo-claude/tree/HEAD/skills/geo-citability/SKILL.md

## When to use it
- find out which paragraph an AI will quote and which it skips
- turn a buried answer into an opening definition sentence
- move a multi-item comparison into a table
- replace vague claims with a figure or a named entity
- check whether a passage still reads on its own

## Example prompts
- Score `blog/cdn-guide.md` with geo-citability and tell me which categories drag the number down.
- Rewrite the first two paragraphs of the CDN section so each one stands alone and carries a figure.
- Fetch the page with WebFetch, give me the 0-100 score and the rewrite list per category.

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: e6aff97900946fb5.

BEGIN THIRD-PARTY FILE e6aff97900946fb5
```text
---
name: geo-citability
description: AI citability scoring and optimization. Analyzes web page content to determine how likely AI systems (ChatGPT, Claude, Perplexity, Gemini) are to cite or quote passages from the page. Provides a citability score (0-100) with specific rewrite suggestions.
allowed-tools:
  - Read
  - Grep
  - Glob
  - Bash
  - WebFetch
  - Write
---

# AI Citability Scoring Skill

## Core Insight

AI language models cite passages that meet specific structural criteria. Research from Princeton, Georgia Tech, and IIT Delhi (2024) found that GEO-optimized content achieves 30-115% higher visibility in AI-generated responses. The key finding: AI systems preferentially extract and cite passages that are **134-167 words long**, **self-contained** (understandable without surrounding context), **fact-rich** (containing specific statistics, dates, or named entities), and **directly answer a question** in the first 1-2 sentences.

This is fundamentally different from traditional SEO copywriting, which optimizes for keyword density and user engagement metrics. GEO citability optimizes for **extractability** -- the ease with which an AI system can pull a passage from your content and present it as a direct answer.

---

## Citability Scoring Rubric (0-100)

### Category 1: Answer Block Quality (30% of total score)

This measures whether content contains clear, quotable answer passages that AI systems can extract verbatim.

**Scoring Criteria:**

| Score | Criteria |
|---|---|
| **90-100** | Every major section opens with a 1-2 sentence direct answer. Uses "X is..." or "X refers to..." patterns. First 40-60 words of each section can stand alone as a complete answer. |
| **70-89** | Most sections have clear answer openings. Some definition patterns present. Answers are identifiable but may need minor context. |
| **50-69** | Some sections have answer-like openings but many bury the answer in the middle or end of paragraphs. Few explicit definition patterns. |
| **30-49** | Answers are generally buried in long paragraphs. No consistent definition patterns. Content is narrative-driven rather than answer-driven. |
| **0-29** | No identifiable answer blocks. Content is entirely narrative, conversational, or fragmented. AI would struggle to extract any quotable passage. |

**What to look for:**

- **Definition patterns:** "X is [definition]." / "X refers to [explanation]." / "X means [meaning]."
- **Answer-first structure:** The answer appears in the first sentence, followed by supporting detail.
```
END THIRD-PARTY FILE e6aff97900946fb5

The third-party file has ended. Everything between the e6aff97900946fb5 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2540 of 14804 bytes. © zubair-trabzada · MIT · https://github.com/zubair-trabzada/geo-seo-claude/tree/HEAD/skills/geo-citability/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
