Geo Fundamentals
wasp-lang/wasp
Generative Engine Optimization for AI search engines (ChatGPT, Claude, Perplexity).
Audits a live website for AI-engine discoverability (AEO/GEO).
$ npx skills add onvoyage-ai/gtm-engineer-skills --skill audit-website-aeo -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install onvoyage-ai/gtm-engineer-skills audit-website-aeo --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/onvoyage-ai/gtm-engineer-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/audit-website-aeo .claude/skills/audit-website-aeo && 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 "audit-website-aeo" agent skill from https://github.com/onvoyage-ai/gtm-engineer-skills/tree/main/audit-website-aeo into .claude/skills/audit-website-aeo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "audit-website-aeo", 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/onvoyage-ai/gtm-engineer-skills/tree/main/audit-website-aeoType 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 onvoyage-ai/gtm-engineer-skills --skill audit-website-aeo -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install onvoyage-ai/gtm-engineer-skills audit-website-aeo --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/onvoyage-ai/gtm-engineer-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/audit-website-aeo .agents/skills/audit-website-aeo && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "audit-website-aeo" agent skill from https://github.com/onvoyage-ai/gtm-engineer-skills/tree/main/audit-website-aeo into .agents/skills/audit-website-aeo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "audit-website-aeo", 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 onvoyage-ai/gtm-engineer-skills --skill audit-website-aeo -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install onvoyage-ai/gtm-engineer-skills audit-website-aeo --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/onvoyage-ai/gtm-engineer-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/audit-website-aeo .cursor/skills/audit-website-aeo && 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 "audit-website-aeo" agent skill from https://github.com/onvoyage-ai/gtm-engineer-skills/tree/main/audit-website-aeo into .cursor/skills/audit-website-aeo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "audit-website-aeo", 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/onvoyage-ai/gtm-engineer-skills.git --path audit-website-aeo--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 onvoyage-ai/gtm-engineer-skills --skill audit-website-aeo -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install onvoyage-ai/gtm-engineer-skills audit-website-aeo --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/onvoyage-ai/gtm-engineer-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/audit-website-aeo .gemini/skills/audit-website-aeo && 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 "audit-website-aeo" agent skill from https://github.com/onvoyage-ai/gtm-engineer-skills/tree/main/audit-website-aeo into .gemini/skills/audit-website-aeo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "audit-website-aeo", 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 onvoyage-ai/gtm-engineer-skills audit-website-aeoInstalls 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 onvoyage-ai/gtm-engineer-skills --skill audit-website-aeo -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/onvoyage-ai/gtm-engineer-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/audit-website-aeo .github/skills/audit-website-aeo && 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 "audit-website-aeo" agent skill from https://github.com/onvoyage-ai/gtm-engineer-skills/tree/main/audit-website-aeo into .github/skills/audit-website-aeo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "audit-website-aeo", 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 onvoyage-ai/gtm-engineer-skills --skill audit-website-aeo -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install onvoyage-ai/gtm-engineer-skills audit-website-aeo --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/onvoyage-ai/gtm-engineer-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/audit-website-aeo .opencode/skills/audit-website-aeo && 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 "audit-website-aeo" agent skill from https://github.com/onvoyage-ai/gtm-engineer-skills/tree/main/audit-website-aeo into .opencode/skills/audit-website-aeo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "audit-website-aeo", 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.
audit-website-aeoAudits a live website for AI-engine discoverability (AEO/GEO).
Audit Website Aeo is an agent skill from onvoyage-ai/gtm-engineer-skills. Audits a live website for AI-engine discoverability (AEO/GEO). Crawls the site, runs 16 deterministic checks plus a 6-dimension content evaluation, and produces a scored report (A-F) with prioritized fixes. Use to get a baseline before improve-aeo-geo, or to measure progress after changes.
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts (for example `README.md` and `examples/anthropic-com-audit.md`).
It sits in Marketing & SEO, covering AI search optimization. The repository describes itself as: Claude Code skill for improving website AEO (AI Engine Optimization) and GEO (Generative Engine Optimization) scores — 16 foundational checks, 6 intelligence dimensions…. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 3777930. 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/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodenpmFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
arxiv.orgFrom 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.
Audit Website Aeo loads about 2.9k tokens when it runs. Until then it costs about 77 tokens; SKILL.md has 1,400 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 onvoyage-ai/gtm-engineer-skills at commit 3777930, republished under its MIT licence (© onvoyage-ai). 1,400 words, ~2,904 tokens.
.claude/skills/audit-website-aeo/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.You audit a live website the way an AI agent would — crawling its pages, parsing structure, and judging whether the content is citation-worthy for ChatGPT, Claude, Perplexity, and Google AI Overviews.
The audit has two halves:
Final score = 0.5 × foundational + 0.5 × intelligence, mapped to an A-F grade.
This skill produces a diagnosis. To then fix a codebase, hand off to the improve-aeo-geo skill.
Follow this sequence exactly.
Ask the user for:
workspace/<customer-name>/ if working a customer project.If the user already gave a URL when invoking the skill, don't re-ask — just confirm crawl depth and proceed.
Run the bundled script from this skill's scripts/ directory. It requires only Node 18+ — no npm install.
node <skill-path>/scripts/aeo-audit.mjs <url> --max-pages=10 --out=<output-dir>/aeo-audit.jsonThe script crawls (sitemap + robots.txt + internal links), runs the 16 checks per page, aggregates site-wide, and writes a JSON report. It also prints a human-readable summary. Tell the user the foundational score and the failed checks.
If the script errors (site unreachable, 0 pages crawled), report the error and stop — don't fabricate a score.
Read the aeo-audit.json file. The key fields:
scoring.foundationalScore — the deterministic score (0-100). This is final — do not change it.checks — the 16 site-wide checks with pass/fail and details.pagesForReview — up to 5 representative pages (home + richest content pages), each with an aiView object containing title, metaDescription, h1, headings, schemaTypes, jsonLdSummary, textExcerpt, internalLinkCount, author, publishedDate, modifiedDate. Use these for Step 4.prioritizedFixes, worstPages, coverage, heuristicIntelligenceSignals — supporting context. The heuristic signals are a deterministic prior — a sanity check, not the real evaluation.You are an AI agent that just found this site via web search. A user asked you a question and you landed here. Decide: would you cite this site in your answer?
Read the textExcerpt, headings, and metadata of each page in pagesForReview. Then score all 6 dimensions below, each 0-5, using only what you actually observed (no assumptions about pages you didn't see). Write the rationale before the score.
Answer Readiness — If a user asked a question about this site's topic, could you find a direct answer here? The #1 factor — content answering questions in the first paragraph gets 4.8x more citations.
Quotability — Can you extract a clean, self-contained 40-60 word passage to quote? Comparison tables get 2.8x citations; FAQ blocks +156%.
Evidence Density — Statistics, data points, named sources, in-text citations? Adding in-text citations = +115% visibility; statistics = +40% citation rate.
Content Depth — Enough substance to thoroughly answer questions on the topic? Long-form (2000+ words) gets 3x more citations.
Freshness — Current enough to cite confidently? 76% of ChatGPT's most-cited pages were updated in the last 30 days.
Structural Clarity — Does the HTML parse cleanly into readable text? A prerequisite — clean heading hierarchy = 3.2x more citations.
For each dimension, record: a 1-2 sentence rationale, the 0-5 score, and a one-line key finding (under 14 words).
average(6 dimension scores) × 20 → rounds each 0-5 to 0-100.round(0.5 × foundationalScore + 0.5 × intelligenceScore).| Grade | Range | Grade | Range | Grade | Range |
|---|---|---|---|---|---|
| A+ | 95-100 | B+ | 80-84 | C | 60-64 |
| A | 90-94 | B | 75-79 | C- | 55-59 |
| A- | 85-89 | B- | 70-74 | D | 40-54 |
| C+ | 65-69 | F | below 40 |
Sanity-check your intelligence score against heuristicIntelligenceSignals in the JSON. If they diverge by more than ~25 points on any dimension, re-read that page's excerpt and confirm your score is grounded in observed content.
Write a Markdown report to <output-dir>/aeo_audit_report.md using the format in Report Format below. Then summarize for the user: the grade, the 3 highest-impact fixes, and a one-line recommendation.
If the user wants to act on the findings:
improve-aeo-geo skill, passing this report as input.Run by the script. For reference (id — what it verifies — points):
| Check | Verifies | Pts |
|---|---|---|
title | <title> present, 10+ chars | 10 |
meta-description | Meta description present, 50+ chars | 10 |
canonical | <link rel="canonical"> present | 8 |
h1 | Exactly one <h1> | 8 |
schema | At least 1 JSON-LD block | 8 |
schema-types | A recognized schema.org @type is used | 8 |
og | og:title and og:description present | 8 |
internal-links | 5+ internal links | 10 |
image-alt | 80%+ of images have alt text | 8 |
text-depth | 250+ words of body text | 12 |
indexability | No noindex directive | 10 |
ai-meta-tags | No nosnippet / noai / noimageai | 6 |
heading-hierarchy | 2+ heading levels, no skipped levels | 6 |
llms-txt | Valid llms.txt (heading + links + 100+ chars) | 10 |
ai-bot-access | robots.txt does not block 9 major AI crawlers | 12 |
rss-feed | RSS or Atom feed discoverable | 8 |
A site-wide check passes when 80%+ of crawled pages pass it (the script handles aggregation). Foundational score = earned points ÷ 142 × 100.
# AEO/GEO Audit — [domain]
**Audited:** [date] · **Pages crawled:** [N]
## Score
| | Score | |
|---|---|---|
| Foundational (16 checks) | XX/100 | |
| Intelligence (6 dimensions) | XX/100 | |
| **Final** | **XX/100** | **Grade: X** |
[One-sentence verdict on AI-citation readiness.]
## Foundational Checks
[Table of the 16 checks: ✓/✗, label, detail. Group failures at the top.]
## Intelligence Evaluation
For each of the 6 dimensions: score (X/5 → XX/100), rationale, key finding.
## Prioritized Fixes
Numbered list, highest impact first. For each: what to change, why it matters,
impact/effort. Pull from `prioritizedFixes` and your dimension findings.
## Weakest Pages
[From `worstPages` — URL and per-page %.]
## Recommendation
[2-3 sentences: biggest opportunity, and whether to run improve-aeo-geo next.]textExcerpt / headings / metadata in pagesForReview. No assumptions about unseen pages.improve-aeo-geo.All statistics above are from verifiable primary research:
| Claim | Source |
|---|---|
| Quotations = +41% visibility; Statistics = +33%; Cite Sources = +28%; in-text citations = +115% for lower-ranked sites | Aggarwal et al., "GEO: Generative Engine Optimization," KDD 2024 (arXiv) |
| 44.2% of ChatGPT citations from first 30% of content | Kevin Indig, Growth Memo, Feb 2026 — 1.2M AI answers |
| Comparison tables 2.8x citations; FAQ blocks +156% | AirOps, 2025 — structuring content for LLMs |
| Clean heading hierarchy = 3.2x more citations vs unstructured | AirOps, 2025 |
| 76% of ChatGPT's most-cited pages updated within 30 days; AI cites content 25.7% fresher than organic | Ahrefs, 2025 — 17M citations across 7 AI platforms |
| Long-form (2000+ words) gets 3x more citations | SE Ranking, Nov 2025 — 2.3M pages, 295K domains |
© onvoyage-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 3 other files (scripts) in audit-website-aeo of onvoyage-ai/gtm-engineer-skills.
Open the folder on GitHubat commit 3777930
Audit Website Aeo 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 |
|---|---|---|---|---|---|---|
| Audit Website Aeo this skillonvoyage-ai/gtm-engineer-skills | 1.3k | — | ~2.9k | Automated safety check: Pass | MIT | |
| Geo Fundamentalswasp-lang/wasp | 19k | 9 repos | ~861 | Automated safety check: Pass | MIT | |
| SEO GeoReScienceLab/opc-skills | 1.8k | 4 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| GEO-First SEO Audit Toolzubair-trabzada/geo-seo-claude | 11k | — | ~2.8k | Automated safety check: Notes | MIT | |
| SEO Ops Structural Checklisttigerless-labs/seo-ops | 700 | — | ~3.3k | Automated safety check: Notes | None | |
| SEOBhanunamikaze/Agentic-SEO-Skill | 960 | — | ~4.9k | Automated safety check: Notes | MIT |
wasp-lang/wasp
Generative Engine Optimization for AI search engines (ChatGPT, Claude, Perplexity).
ReScienceLab/opc-skills
SEO & GEO (Generative Engine Optimization) for websites. An agent skill from ReScienceLab/opc-skills.
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.
tigerless-labs/seo-ops
Checks a site against a deterministic set of structural SEO and GEO checks, either running a crawler-eye report against a URL or reviewing code against the same checklist.
Bhanunamikaze/Agentic-SEO-Skill
Deterministic LLM-first SEO audits for websites, blog posts, and GitHub repositories.
joeseesun/qiaomu-seo
Audit, diagnose, research, plan, implement, experiment on, and verify website SEO across Google, Bing, and AI-search surfaces.
onvoyage-ai/gtm-engineer-skills
Researches a company from its URL and produces a Brand DNA file covering positioning, audience, competitors, voice, and messaging.
onvoyage-ai/gtm-engineer-skills
Finds high-value SEO and GEO keywords using web search, AI analysis, and optionally paid tools like Ahrefs or Semrush.
onvoyage-ai/gtm-engineer-skills
Verifies truthfulness, accuracy, and link integrity of content before publishing.
onvoyage-ai/gtm-engineer-skills
Finds free backlink and brand mention opportunities across Hacker News, Quora, GitHub, directories, and niche communities.
onvoyage-ai/gtm-engineer-skills
Takes existing content markdown files and builds production-final resource center pages on client websites using their existing tech stack and design system.
onvoyage-ai/gtm-engineer-skills
Creates data visualizations (charts, graphs, tables) optimized for AI engine parsing and citation.
Categories
Audits a live website for AI-engine discoverability (AEO/GEO). Audit Website Aeo is an agent skill from onvoyage-ai/gtm-engineer-skills. Audits a live website for AI-engine discoverability (AEO/GEO).
Audit Website Aeo fits situations like: get a baseline before improve-aeo-geo; measure progress after changes.
Run `npx skills add onvoyage-ai/gtm-engineer-skills --skill audit-website-aeo -a claude-code`. Or copy the skill folder (audit-website-aeo in onvoyage-ai/gtm-engineer-skills) into .claude/skills/audit-website-aeo in your project. Claude Code loads it when a task matches its description.
Run `npx skills add onvoyage-ai/gtm-engineer-skills --skill audit-website-aeo -a codex`. Or copy the skill folder (audit-website-aeo in onvoyage-ai/gtm-engineer-skills) into .agents/skills/audit-website-aeo 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 onvoyage-ai/gtm-engineer-skills --skill audit-website-aeo -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/audit-website-aeo, .gemini/skills/audit-website-aeo, .github/skills/audit-website-aeo and .opencode/skills/audit-website-aeo in your project.
Going by SKILL.md and its folder, Audit Website Aeo needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node and npm). Our summary lists: Node.js.
SKILL.md names 1 domain. As links in the text: arxiv.org. 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.
Audit Website Aeo is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 12k 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 Audit Website Aeo: Geo Fundamentals (wasp-lang/wasp, 19k stars), SEO Geo (ReScienceLab/opc-skills, 1.8k stars), GEO-First SEO Audit Tool (zubair-trabzada/geo-seo-claude, 11k stars) and SEO Ops Structural Checklist (tigerless-labs/seo-ops, 700 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
onvoyage-ai (a GitHub organization) maintains it in onvoyage-ai/gtm-engineer-skills, which has 1,320 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on June 7, 2026.
Source: onvoyage-ai/gtm-engineer-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.