SEO and GEO Audit
dageno-agents/seo-geo-audit
Runs one prioritized audit that combines technical SEO, content quality, trust signals, entity clarity and AI search readiness for a page, site or domain.
Validates an existing llms.txt file or crawls a site to generate a new one, following the format rules for a root-level Markdown file aimed at AI systems.
$ npx skills add zubair-trabzada/geo-seo-claude --skill geo-llmstxt -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install zubair-trabzada/geo-seo-claude geo-llmstxt --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/zubair-trabzada/geo-seo-claude.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/geo-llmstxt .claude/skills/geo-llmstxt && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "geo-llmstxt" agent skill from https://github.com/zubair-trabzada/geo-seo-claude/tree/main/skills/geo-llmstxt into .claude/skills/geo-llmstxt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geo-llmstxt", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/zubair-trabzada/geo-seo-claude/tree/main/skills/geo-llmstxtType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add zubair-trabzada/geo-seo-claude --skill geo-llmstxt -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install zubair-trabzada/geo-seo-claude geo-llmstxt --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zubair-trabzada/geo-seo-claude.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/geo-llmstxt .agents/skills/geo-llmstxt && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "geo-llmstxt" agent skill from https://github.com/zubair-trabzada/geo-seo-claude/tree/main/skills/geo-llmstxt into .agents/skills/geo-llmstxt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geo-llmstxt", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add zubair-trabzada/geo-seo-claude --skill geo-llmstxt -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install zubair-trabzada/geo-seo-claude geo-llmstxt --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zubair-trabzada/geo-seo-claude.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/geo-llmstxt .cursor/skills/geo-llmstxt && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "geo-llmstxt" agent skill from https://github.com/zubair-trabzada/geo-seo-claude/tree/main/skills/geo-llmstxt into .cursor/skills/geo-llmstxt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geo-llmstxt", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/zubair-trabzada/geo-seo-claude.git --path skills/geo-llmstxt--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add zubair-trabzada/geo-seo-claude --skill geo-llmstxt -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install zubair-trabzada/geo-seo-claude geo-llmstxt --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zubair-trabzada/geo-seo-claude.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/geo-llmstxt .gemini/skills/geo-llmstxt && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "geo-llmstxt" agent skill from https://github.com/zubair-trabzada/geo-seo-claude/tree/main/skills/geo-llmstxt into .gemini/skills/geo-llmstxt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geo-llmstxt", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install zubair-trabzada/geo-seo-claude geo-llmstxtInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add zubair-trabzada/geo-seo-claude --skill geo-llmstxt -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/zubair-trabzada/geo-seo-claude.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/geo-llmstxt .github/skills/geo-llmstxt && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "geo-llmstxt" agent skill from https://github.com/zubair-trabzada/geo-seo-claude/tree/main/skills/geo-llmstxt into .github/skills/geo-llmstxt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geo-llmstxt", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add zubair-trabzada/geo-seo-claude --skill geo-llmstxt -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install zubair-trabzada/geo-seo-claude geo-llmstxt --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zubair-trabzada/geo-seo-claude.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/geo-llmstxt .opencode/skills/geo-llmstxt && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "geo-llmstxt" agent skill from https://github.com/zubair-trabzada/geo-seo-claude/tree/main/skills/geo-llmstxt into .opencode/skills/geo-llmstxt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geo-llmstxt", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
geo-llmstxtValidates an existing llms.txt file or crawls a site to generate a new one, following the format rules for a root-level Markdown file aimed at AI systems.
llms.txt is a proposed convention, introduced by Jeremy Howard in September 2024, in which a site publishes a Markdown summary of its purpose and key pages for AI systems. It resembles robots.txt but describes what is most useful instead of what to avoid. This skill handles both directions: auditing a file that already exists and building a new one by crawling the site.
The rules it works from say the file lives at the domain root, opens with the site name as a single H1 heading, and follows it with a short blockquote description under 200 characters that is factual and specific. The allowed tools let the agent read and search local files, fetch web pages and write the result to disk. It belongs to a wider set of generative engine optimization checks for websites.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 989cae0. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadGrepGlobBashWebFetchWriteFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
llms.txt Analyzer and Generator loads about 3.9k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 1,580 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Grep, Glob, Bash, WebFetch, WriteAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from zubair-trabzada/geo-seo-claude at commit 989cae0, republished under its MIT licence (© zubair-trabzada). 1,580 words, ~3,935 tokens.
.claude/skills/geo-llmstxt/SKILL.md (or your agent's skills folder).This skill handles everything related to the llms.txt standard -- an emerging convention (proposed by Jeremy Howard in September 2024, gaining adoption through 2025-2026) that allows websites to provide structured guidance to AI systems about their content, structure, and key information. It is analogous to robots.txt (which tells crawlers what NOT to access) but instead tells AI systems what IS most useful to understand about the site.
AI language models face a fundamental challenge when processing websites: they must determine which pages are most important, what the site is about, and how content is organized -- typically by crawling many pages and inferring structure. llms.txt solves this by providing an explicit, machine-readable (and human-readable) summary.
Benefits of having a well-crafted llms.txt:
The file MUST be located at the root of the domain:
https://example.com/llms.txtThe file uses Markdown formatting with specific conventions:
# [Site Name]
> [One-sentence description of what the site/business does. Keep under 200 characters.]
## Docs
- [Page Title](https://example.com/page-url): Concise description of what this page covers and why it matters.
- [Another Page](https://example.com/another-page): Description of content.
## Optional
- [Less Critical Page](https://example.com/optional-page): Description.1. Title (Required)
# Site Name#).2. Description (Required)
> Brief description of the site/business>).3. Main Sections (Required -- at least one)
Use H2 headings (##) to organize pages by category. Common section names:
| Section Name | Purpose | Example Content |
|---|---|---|
## Docs | Primary documentation or key pages | Product pages, service descriptions, core content |
## Optional | Secondary pages worth knowing about | Blog posts, supplementary resources |
## API | API documentation | API reference, authentication guides |
## Blog | Blog or news content | Recent/popular articles |
## Products | Product catalog | Product pages, pricing |
## Services | Service offerings | Service descriptions, process pages |
## About | Company information | About page, team, mission |
## Resources | Educational/reference content | Guides, tutorials, whitepapers |
## Legal | Legal documents | Terms of service, privacy policy |
## Contact | Contact information | Contact page, support channels |
4. Page Entries (Required)
Each entry follows the format:
- [Page Title](URL): Description of page contentRules for page entries:
5. Key Facts Section (Recommended)
## Key Facts
- Founded in [year] by [founder(s)]
- Headquarters: [City, Country]
- [X] customers/users in [Y] countries
- Key products: [Product A], [Product B], [Product C]
- Industry: [Industry classification]This section provides quick reference data that AI systems frequently need to answer user queries about your business.
6. Contact Section (Recommended)
## Contact
- Website: https://example.com
- Email: hello@example.com
- Support: support@example.com
- Phone: +1-555-123-4567
- Address: 123 Main St, City, State, ZIP, CountryIn addition to llms.txt, sites can provide /llms-full.txt -- an extended version with more detail.
Differences from llms.txt:
| Feature | llms.txt | llms-full.txt |
|---|---|---|
| Length | Concise (50-150 lines) | Comprehensive (150-500+ lines) |
| Page entries | 10-30 key pages | 30-100+ pages |
| Descriptions | 10-30 words per entry | 30-100 words per entry, may include key facts from each page |
| Audience | Quick AI comprehension | Deep AI analysis |
| Sections | 3-6 sections | 8-15 sections |
| Key facts | Business-level facts | Page-level facts and data points |
Both files can coexist. AI systems check for llms.txt first, then may optionally load llms-full.txt for deeper understanding.
When checking an existing llms.txt file:
[domain]/llms.txt.[domain]/llms-full.txt.Check each structural element:
| Element | Check | Severity if Missing |
|---|---|---|
| H1 Title | Present, matches business name | Critical |
| Blockquote description | Present, under 200 chars, factual | High |
| At least one H2 section | Present | Critical |
| Page entries with URLs | At least 5 entries present | High |
| URLs are absolute | All URLs use full https:// paths | High |
| URLs are valid | All URLs return 200 status | Medium |
| Descriptions present | Every entry has a description after the colon | Medium |
| Key Facts section | Present with business information | Medium |
| Contact section | Present with at least email | Low |
| Reasonable length | 30-200 lines | Low |
| No broken Markdown | Proper formatting throughout | Medium |
Rate the llms.txt on these dimensions:
Completeness (0-100):
Accuracy (0-100):
Usefulness (0-100):
Overall llms.txt Score = (Completeness * 0.40) + (Accuracy * 0.35) + (Usefulness * 0.25)
When creating a new llms.txt file from scratch:
<title>, <meta property="og:site_name">, or H1)/sitemap.xml to discover all public pages.Categorize all discovered pages and select the most important ones:
Always Include:
Include if High Quality:
Skip:
For each selected page:
Good description examples:
Explains the three pricing tiers (Free, Pro, Enterprise) with feature comparison and annual/monthly costs.Details the company's founding in 2018, team of 45 employees, and office locations in Austin and London.Covers integration setup for Slack, Salesforce, and HubSpot with step-by-step guides and API endpoints.Bad description examples:
Our amazing pricing page! (marketing language, no specifics)Learn more about our company. (too vague)Click here for details. (not descriptive)Gather key business facts from the site:
Construct the llms.txt following this template:
# [Site Name]
> [One clear sentence: what the business does, who it serves, and its primary value proposition. Under 200 characters.]
## Docs
- [Most Important Page](https://example.com/page): Description covering the key content on this page.
- [Second Page](https://example.com/page-2): Description of this page's content and value.
- [Third Page](https://example.com/page-3): What users and AI systems will find here.
## Products
- [Product A](https://example.com/product-a): Core features, target users, and pricing model for Product A.
- [Product B](https://example.com/product-b): What Product B does and how it differs from Product A.
## Resources
- [Guide Title](https://example.com/guide): Comprehensive guide covering [topic] with [X] sections and practical examples.
- [Blog Post](https://example.com/blog/post): Analysis of [topic] with original data from [source].
## Key Facts
- Founded in [year] by [name(s)]
- Headquartered in [City, Country]
- [Specific metric: e.g., "Serves 10,000+ businesses in 40 countries"]
- [Key differentiator: e.g., "Only platform offering real-time X and Y integration"]
- Industry: [Classification]
## Contact
- Website: https://example.com
- Email: [primary contact email]
- Support: [support URL or email]Before outputting:
Generate GEO-LLMSTXT-ANALYSIS.md:
# llms.txt Analysis: [Domain]
**Analysis Date:** [Date]
**llms.txt Status:** [Found at URL / Not Found / Error]
**llms-full.txt Status:** [Found / Not Found]
---
## Overall llms.txt Score: [X]/100
| Dimension | Score |
|---|---|
| Completeness | [X]/100 |
| Accuracy | [X]/100 |
| Usefulness | [X]/100 |
---
## Format Validation
| Element | Status | Notes |
|---|---|---|
| H1 Title | [Pass/Fail] | [Notes] |
| Description blockquote | [Pass/Fail] | [Notes] |
| H2 Sections | [Pass/Fail] | [X sections found] |
| Page entries | [Pass/Fail] | [X entries found] |
| URL validity | [Pass/Fail] | [X broken URLs] |
| Entry descriptions | [Pass/Fail] | [X missing descriptions] |
| Key Facts | [Pass/Fail] | [Notes] |
| Contact section | [Pass/Fail] | [Notes] |
---
## Missing Pages
These important pages were found on the site but not in llms.txt:
1. [Page Title](URL) -- [Why it should be included]
2. [Page Title](URL) -- [Why it should be included]
## Improvement Recommendations
1. [Specific recommendation]
2. [Specific recommendation]
3. [Specific recommendation]
## Suggested Updated llms.txt
[Complete rewritten llms.txt file if significant improvements are needed]Output the complete llms.txt file content, ready to be saved to the site's root directory. Also output a brief GEO-LLMSTXT-GENERATION.md report explaining:
https:// URL, never relative paths.https://yourdomain.com/llms.txt with no redirects.© zubair-trabzada, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/geo-llmstxt of zubair-trabzada/geo-seo-claude.
Open the folder on GitHubat commit 989cae0
We found 6 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in zubair-trabzada/geo-seo-claude, which our catalogue first saw on October 7, 2026.
llms.txt Analyzer and Generator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| llms.txt Analyzer and Generator this skillzubair-trabzada/geo-seo-claude | 11k | 2 repos | ~3.9k | Automated safety check: Notes | MIT | |
| SEO and GEO Auditdageno-agents/seo-geo-audit | 176 | — | ~2k | Automated safety check: Pass | MIT | |
| Universal SEO AnalysisAgriciDaniel/claude-seo | 19k | — | ~4.9k | Automated safety check: Pass | MIT | |
| SEO AuditAgriciDaniel/codex-seo | 799 | 2 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Full Website SEO AuditAgriciDaniel/claude-seo | 19k | — | ~2.6k | Automated safety check: Pass | MIT | |
| Site Launch Checklistsamber/cc-skills | 227 | — | ~13k | Automated safety check: Notes | MIT |
dageno-agents/seo-geo-audit
Runs one prioritized audit that combines technical SEO, content quality, trust signals, entity clarity and AI search readiness for a page, site or domain.
AgriciDaniel/claude-seo
Hub for site-wide SEO work: audits, technical checks, schema, content quality, local, hreflang and AI-search readiness, run through slash commands.
AgriciDaniel/codex-seo
Full website SEO audit with parallel subagent delegation. An agent skill from AgriciDaniel/codex-seo.
AgriciDaniel/claude-seo
Runs a full-site SEO audit by crawling the site and delegating to specialist checks, then returns a scored, prioritized report. Meant for site-wide reviews only.
samber/cc-skills
Pre-launch checklist for shipping a new website or web app. An agent skill from samber/cc-skills.
tech-leads-club/agent-skills
Makes a page or site easier for AI answer engines to find, understand, trust and quote, using metadata, structured data, an llms.txt file and clear page structure.
zubair-trabzada/geo-seo-claude
Audits a website for AI search visibility across ChatGPT, Claude, Perplexity and Google AI Overviews while checking traditional SEO, schema and E-E-A-T content quality.
zubair-trabzada/geo-seo-claude
Compares a baseline and a current GEO audit for a client, calculates score changes and action item progress, and writes a monthly progress report.
zubair-trabzada/geo-seo-claude
Scores how likely AI assistants are to quote passages from a web page and suggests rewrites that make those passages easier to extract.
zubair-trabzada/geo-seo-claude
Builds a client-ready AI-search-optimization proposal from an existing GEO audit, with pricing tiers, an ROI estimate and a markdown document ready to send.
zubair-trabzada/geo-seo-claude
Scores a page's content against Google's E-E-A-T framework and AI-citability structure, then writes a scored gap-analysis report.
zubair-trabzada/geo-seo-claude
Tracks GEO agency leads and clients through a sales pipeline in a local JSON file, with notes, audit scores, deal values and a pipeline summary.
Categories
Validates an existing llms.txt file or crawls a site to generate a new one, following the format rules for a root-level Markdown file aimed at AI systems. txt is a proposed convention, introduced by Jeremy Howard in September 2024, in which a site publishes a Markdown summary of its purpose and key pages for AI systems.txt but describes what is most useful instead of what to avoid.
llms.txt Analyzer and Generator fits situations like: checking whether a site's llms.txt follows the format rules; generating an llms.txt for a site that has none; preparing a site's key pages so AI systems can find them quickly.
Run `npx skills add zubair-trabzada/geo-seo-claude --skill geo-llmstxt -a claude-code`. Or copy the skill folder (skills/geo-llmstxt in zubair-trabzada/geo-seo-claude) into .claude/skills/geo-llmstxt in your project. Claude Code loads it when a task matches its description.
Run `npx skills add zubair-trabzada/geo-seo-claude --skill geo-llmstxt -a codex`. Or copy the skill folder (skills/geo-llmstxt in zubair-trabzada/geo-seo-claude) into .agents/skills/geo-llmstxt in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add zubair-trabzada/geo-seo-claude --skill geo-llmstxt -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/geo-llmstxt, .gemini/skills/geo-llmstxt, .github/skills/geo-llmstxt and .opencode/skills/geo-llmstxt in your project.
SKILL.md names no scripts, command-line tools or credentials: llms.txt Analyzer and Generator is instructions for the agent only. Our summary lists: Network access to fetch and crawl the target website. Its frontmatter pre-approves these tools: Read, Grep, Glob, Bash, WebFetch, Write.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
llms.txt Analyzer and Generator is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.9k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with llms.txt Analyzer and Generator: SEO and GEO Audit (dageno-agents/seo-geo-audit, 176 stars), Universal SEO Analysis (AgriciDaniel/claude-seo, 19k stars), SEO Audit (AgriciDaniel/codex-seo, 799 stars) and Full Website SEO Audit (AgriciDaniel/claude-seo, 19k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
zubair-trabzada (a GitHub user) maintains it in zubair-trabzada/geo-seo-claude, which has 10,982 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 10, 2026.
Source: zubair-trabzada/geo-seo-claude on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.