SEO
magnus919/agent-skills
Audit and improve website discoverability across traditional search, answer engines, and generative search.
Runs a one-command technical GEO audit on any domain. An agent skill from vellum-ai/vellum-assistant.
$ npx skills add vellum-ai/vellum-assistant --skill geo-audit -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install vellum-ai/vellum-assistant geo-audit --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/vellum-ai/vellum-assistant.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/geo-audit .claude/skills/geo-audit && 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-audit" agent skill from https://github.com/vellum-ai/vellum-assistant/tree/main/skills/geo-audit into .claude/skills/geo-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geo-audit", 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/vellum-ai/vellum-assistant/tree/main/skills/geo-auditType 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 vellum-ai/vellum-assistant --skill geo-audit -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install vellum-ai/vellum-assistant geo-audit --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vellum-ai/vellum-assistant.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/geo-audit .agents/skills/geo-audit && 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-audit" agent skill from https://github.com/vellum-ai/vellum-assistant/tree/main/skills/geo-audit into .agents/skills/geo-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geo-audit", 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 vellum-ai/vellum-assistant --skill geo-audit -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install vellum-ai/vellum-assistant geo-audit --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vellum-ai/vellum-assistant.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/geo-audit .cursor/skills/geo-audit && 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-audit" agent skill from https://github.com/vellum-ai/vellum-assistant/tree/main/skills/geo-audit into .cursor/skills/geo-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geo-audit", 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/vellum-ai/vellum-assistant.git --path skills/geo-audit--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 vellum-ai/vellum-assistant --skill geo-audit -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install vellum-ai/vellum-assistant geo-audit --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vellum-ai/vellum-assistant.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/geo-audit .gemini/skills/geo-audit && 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-audit" agent skill from https://github.com/vellum-ai/vellum-assistant/tree/main/skills/geo-audit into .gemini/skills/geo-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geo-audit", 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 vellum-ai/vellum-assistant geo-auditInstalls 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 vellum-ai/vellum-assistant --skill geo-audit -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/vellum-ai/vellum-assistant.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/geo-audit .github/skills/geo-audit && 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-audit" agent skill from https://github.com/vellum-ai/vellum-assistant/tree/main/skills/geo-audit into .github/skills/geo-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geo-audit", 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 vellum-ai/vellum-assistant --skill geo-audit -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install vellum-ai/vellum-assistant geo-audit --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vellum-ai/vellum-assistant.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/geo-audit .opencode/skills/geo-audit && 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-audit" agent skill from https://github.com/vellum-ai/vellum-assistant/tree/main/skills/geo-audit into .opencode/skills/geo-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geo-audit", 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-auditRuns a one-command technical GEO audit on any domain. An agent skill from vellum-ai/vellum-assistant.
Geo Audit is an agent skill from vellum-ai/vellum-assistant. Runs a one-command technical GEO audit on any domain. Checks AI crawler access, llms.txt presence, server-side rendering, sitemap, and schema markup. Streams results live and ends with a 0–100 score plus the top 3 prioritized fixes. Built to be both genuinely useful and great to demo on camera.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/audit.py`).
It sits in Marketing & SEO, covering AI search optimization, Web scraping and Schema markup. The repository describes itself as: An AI Assistant that’s easy to setup, does your work 24/7, knows your preferences and gets better over time. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 33cc983. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
vellum.aistripe.comFrom 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.
Geo Audit loads about 2k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 959 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 found no risky patterns in SKILL.md.
Automated 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); the scripts in this folder are not scanned.
The full file from vellum-ai/vellum-assistant at commit 33cc983, republished under its MIT licence (© vellum-ai). 959 words, ~2,013 tokens.
.claude/skills/geo-audit/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.A fast, real technical audit of how AI-ready a website is. Type a domain, get a streaming scorecard back in under 30 seconds, ending with the three things most worth fixing.
This is the operator-side companion to writing content. It tells you whether your site is even legible to AI agents before you spend a quarter producing for them.
Extract the domain from the user's message and run the script without asking clarifying questions first. Stream the terminal output back as it happens. When the HTML report opens, mention that it just popped up in their browser and summarize the score in one sentence.
Use this when someone wants to:
Do not use this skill for writing articles, comparison pages, or topical hubs. Route those to geo-article-writer.
python3 {baseDir}/scripts/audit.py <domain>Examples:
python3 {baseDir}/scripts/audit.py vellum.ai
python3 {baseDir}/scripts/audit.py https://stripe.com
python3 {baseDir}/scripts/audit.py example.com --jsonThe script accepts a bare domain (vellum.ai), a full URL (https://vellum.ai), or anything in between. It normalizes.
If the script runs cleanly → stream the output and summarize (default).
If the domain is unreachable / DNS fails / times out → report the specific failure plainly, suggest the user double-check the domain or bump --timeout, and do not invent a score.
If python3 is unavailable or blocked in this session → say so directly. Do not fabricate a scorecard or paraphrase what the audit "would" find — the numbers only exist if the script ran.
Flags:
--json — emit the report as JSON instead of streaming markdown (for piping into other tools)--no-color — strip ANSI color codes (for logs / CI)--no-html — skip the HTML report (default: writes one to a temp file and auto-opens it in your browser)--no-open — write the HTML report but don't auto-open it--timeout N — per-request timeout in seconds (default: 10)By default the script does two things at once: streams a clean terminal scorecard live as checks complete, and opens a dark-themed HTML report in your browser at the end with a table, prioritized fixes, and a handoff to geo-article-writer. The terminal version is the watchable moment; the HTML is the keepable artifact.
Six checks, each scored. Total: 100 points.
robots.txt (25 pts)Pulls /robots.txt and verifies each of the major AI agents is either explicitly allowed or not actively blocked:
GPTBot, ChatGPT-User, OAI-SearchBot (OpenAI)ClaudeBot, anthropic-ai (Anthropic)PerplexityBot, Perplexity-User (Perplexity)Google-Extended (Gemini / Google AI Overviews — separate from Googlebot)CCBot (Common Crawl, feeds many training sets)A site that blocks Google-Extended is invisible to Gemini and AI Overviews even if it ranks fine in regular Google. This is the most common silent miss.
llms.txt presence and shape (15 pts)Looks for /llms.txt at the domain root. Scores on:
# titlellms.txt is the emerging convention for handing AI crawlers a curated map. It's still optional, but it's a cheap differentiator.
Fetches the homepage without executing JS and checks whether the brand name, primary H1, and primary CTA are present in the initial HTML.
This is the single most under-detected GEO failure. A JS-rendered marketing site can look fine to a human and be completely empty to GPTBot, which generally does not execute JavaScript.
sitemap.xml (10 pts)Confirms a sitemap exists, is referenced from robots.txt, parses as valid XML, and contains a reasonable URL count.
Parses inline JSON-LD on the homepage and scores presence of:
Organization (brand identity for AI)WebSite with SearchAction (helps Google understand site search)Product, SoftwareApplication, or Article — whichever fits)Schema is one of the few signals models read directly without inference. It punches above its weight.
Fetches the homepage and inspects the first 50 internal <a> tags for:
href values (not JS-bound <div onclick> substitutes)If your important pages are reachable only through JS-bound elements, they're invisible to most crawlers.
The script streams a markdown scorecard as checks complete. Each check is one line until done, then resolves to a verdict line. At the end:
GEO Audit — {domain}
✓ AI crawler access ............... 22 / 25
✗ llms.txt ........................ 3 / 15
✓ Server-side rendering ........... 20 / 20
✓ Sitemap ......................... 9 / 10
~ Schema markup ................... 8 / 15
✓ Crawlable internal links ........ 13 / 15
Score: 75 / 100
Top 3 fixes
1. Stand up an llms.txt at the domain root (high impact, low effort)
2. Add Organization + SoftwareApplication JSON-LD to the homepage
3. Unblock CCBot in robots.txt (cheap win for training-set coverage)The "top 3 fixes" are not just the lowest-scored checks — they're sorted by (points missing × impact weight) / effort estimate so the user gets a real prioritized list.
When asked to audit a site, run the script and return the streamed report verbatim. Then add one paragraph of plain-language context: what the score means for this specific site, and which of the top 3 fixes is most worth shipping this week.
⚠️ CRITICAL — at the moment you return the report: do not silently rewrite, round, or "clean up" the report's verdicts. The numbers are the product. If the script didn't run, there is no score — say that, never estimate one.
audit.py ran against the requested domain and exited without error© vellum-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (scripts) in skills/geo-audit of vellum-ai/vellum-assistant.
Open the folder on GitHubat commit 33cc983
Geo Audit 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 |
|---|---|---|---|---|---|---|
| Geo Audit this skillvellum-ai/vellum-assistant | 1.4k | — | ~2k | Automated safety check: Pass | MIT | |
| SEOmagnus919/agent-skills | 115 | — | ~1.9k | Automated safety check: Pass | MIT | |
| SEO Visibility Expertcuriositech/some_claude_skills | 244 | — | ~1.6k | Automated safety check: Notes | MIT | |
| GEO-First SEO Audit Toolzubair-trabzada/geo-seo-claude | 11k | — | ~2.8k | 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 |
magnus919/agent-skills
Audit and improve website discoverability across traditional search, answer engines, and generative search.
curiositech/some_claude_skills
Comprehensive SEO, discoverability, and AI crawler optimization for web projects.
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.
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.
aptos-labs/explorer
Keeps Aptos Explorer discoverable for LLMs, crawlers, and SEO when routes, tabs, or page metadata change.
vellum-ai/vellum-assistant
Create and configure a GitHub App so the assistant can push commits, open PRs, and comment under its own bot identity.
vellum-ai/vellum-assistant
Connect a Discord bot to the assistant via the Discord Gateway with guided application creation and intent configuration
vellum-ai/vellum-assistant
Create and configure a Sentry internal integration so the assistant can manage issues, alerts, and releases under its own identity
vellum-ai/vellum-assistant
Ingest a large dataset into memory as a skimmed map. An agent skill from vellum-ai/vellum-assistant.
vellum-ai/vellum-assistant
A skill your agent uses when the user wants to build, scaffold, ship, or edit a Vellum plugin that bundles multiple surfaces (hooks, tools, skills, and more) into one installable package.
vellum-ai/vellum-assistant
Connect a Slack app to the Vellum Assistant via Socket Mode.
Categories
Runs a one-command technical GEO audit on any domain. An agent skill from vellum-ai/vellum-assistant. Geo Audit is an agent skill from vellum-ai/vellum-assistant. Runs a one-command technical GEO audit on any domain.
Geo Audit fits situations like: tasks that involve AI search optimization; tasks that involve Web scraping; tasks that involve Schema markup.
Run `npx skills add vellum-ai/vellum-assistant --skill geo-audit -a claude-code`. Or copy the skill folder (skills/geo-audit in vellum-ai/vellum-assistant) into .claude/skills/geo-audit in your project. Claude Code loads it when a task matches its description.
Run `npx skills add vellum-ai/vellum-assistant --skill geo-audit -a codex`. Or copy the skill folder (skills/geo-audit in vellum-ai/vellum-assistant) into .agents/skills/geo-audit 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 vellum-ai/vellum-assistant --skill geo-audit -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-audit, .gemini/skills/geo-audit, .github/skills/geo-audit and .opencode/skills/geo-audit in your project.
Going by SKILL.md and its folder, Geo Audit needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.
SKILL.md names 2 domains. In commands or code: vellum.ai and stripe.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Geo Audit is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.1k 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 Geo Audit: SEO (magnus919/agent-skills, 115 stars), SEO Visibility Expert (curiositech/some_claude_skills, 244 stars), GEO-First SEO Audit Tool (zubair-trabzada/geo-seo-claude, 11k stars) and SEO and GEO Audit (dageno-agents/seo-geo-audit, 176 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
vellum-ai (a GitHub organization) maintains it in vellum-ai/vellum-assistant, which has 1,408 GitHub stars. The repository holds 108 skills in this directory. The repository was last updated on October 9, 2026.
Source: vellum-ai/vellum-assistant on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.