SEO, GEO and ASO in one free skill: websites and apps
A Claude skill that audits a site or an app across search, AI answer engines and the app stores with six pure-Python evidence collectors — no paid tool, no s…
On this page
SEO, GEO and ASO in one free skill: websites and apps
TL;DR
- One skill covers three discovery channels that are usually three paid tools: SEO for Google and Bing, GEO/AEO for being cited by AI answer engines, and ASO for the App Store and Google Play.
- Six evidence collectors are pure Python standard library — no
pip install— and every one supports--json, so the agent runs a script before asserting a technical fact. - Every issue is written as Finding → Evidence → Impact → Fix, tagged with severity and a confidence of
Confirmed,LikelyorHypothesis, and the run ends with a SHIP / FIX / BLOCK verdict. - The README is honest about 2026 reality, which is the part most SEO content gets wrong:
llms.txtis not a proven AI-citation lever, and blockingGPTBotdoes not remove you from ChatGPT Search.
What it is and who it is for
SEO · GEO · ASO is a Claude Agent Skill for optimizing websites, web pages and mobile apps across all three modern discovery channels. It is built on 2025–2026 practice and grounded in primary sources — Google Search Central, web.dev, the Princeton/KDD'24 GEO study and the Apple and Google developer docs — and the README states that it never requires a paid tool or subscription.
It is for the person who owns a site or an app and wants one pass across the three channels instead of three dashboards, and for the one who suspects the advice they have been following is outdated. The README names the two myths it refuses to repeat: that llms.txt is a proven lever for AI citation, and that blocking GPTBot removes a site from ChatGPT Search.
What it does
Give it a URL or an app and it runs five steps:
- Scope the goal — rankings, AI citations, installs or conversions.
- Audit with deterministic, pure-Python evidence collectors rather than guesses.
- Diagnose each issue as Finding → Evidence → Impact → Fix, tagged with severity and confidence.
- Recommend or implement fixes ranked by impact times effort, with copy-paste snippets.
- Verify the fix landed and return a SHIP / FIX / BLOCK verdict.
The distinction between the three channels is the useful part. SEO is organic ranking in Google and Bing. GEO and AEO are about being cited and recommended by AI answer engines — Google AI Overviews and AI Mode, ChatGPT, Perplexity, Gemini, Claude, Copilot. ASO is the store listing: Apple App Store and Google Play.
The six evidence collectors
All six run standalone from any shell, use only the Python standard library, and accept --json for piping into other tools:
| Script | What it checks |
|---|---|
seo_audit.py | On-page and technical SEO: title, meta, H1, canonical, robots meta, schema presence, render/SPA risk, robots.txt, viewport, hreflang |
psi_audit.py | Core Web Vitals, field and lab, through the free PageSpeed Insights API |
ai_crawler_check.py | Whether AI search bots such as OAI-SearchBot, PerplexityBot and Claude-SearchBot can reach the site — the README calls this the number one GEO check |
schema_check.py | Extracts and validates JSON-LD structured data, a free replacement for the Rich Results Test |
aso_keywords.py | Free ASO keyword mining from store autocomplete plus an iTunes competitor scan |
gen_llms_txt.py | Generates a spec-compliant llms.txt from a sitemap |
python3 scripts/seo_audit.py https://artificialguy.com
python3 scripts/psi_audit.py https://artificialguy.com --strategy mobile
python3 scripts/ai_crawler_check.py https://artificialguy.com --live
python3 scripts/schema_check.py https://artificialguy.com
python3 scripts/aso_keywords.py "meditation" --store apple --competitors
python3 scripts/gen_llms_txt.py https://artificialguy.com/sitemap.xml --name "Brand"
Three optional upgrades stay free and the scripts degrade gracefully without them: a free PageSpeed Insights key in PSI_API_KEY raises the keyless quota, google-play-scraper gives real Play autocomplete, and extruct gives richer structured-data extraction.
How to use it
In Claude Code, clone into the personal skills directory so it triggers in every project, or into the project one:
git clone https://github.com/artificialguybr/seo-geo-aso-agent-skill.git ~/.claude/skills/seo-geo-aso-agent-skill
Claude Code discovers it through SKILL.md and activates on any SEO, GEO or ASO question; it can also be invoked explicitly. In Cursor, Windsurf, Codex or ChatGPT, point the agent at SKILL.md as a rule or context file, or paste a reference file into context — the scripts still run standalone.
Example prompts are short and concrete: audit a site and say what matters most, get the blog cited when people ask ChatGPT and Perplexity about a topic, optimize an App Store and Google Play listing, ask whether blocking GPTBot stops ChatGPT search results, check whether AI crawlers can reach a site, or generate and validate JSON-LD for a product page.
The design follows progressive disclosure: a thin SKILL.md routes to reference files that load only when needed — seo.md for ranking systems, Core Web Vitals, technical, on-page, off-page and E-E-A-T; geo.md for AI search, the GEO study, crawler control and measurement; aso.md for Apple and Google Play field limits, algorithms, CRO and localization; free-tools.md for every free or open-source tool with its exact invocation; and schema-recipes.md for copy-paste JSON-LD. assets/robots-ai.txt is a template that allows search crawlers and blocks training crawlers.
The principles that change the answers
Four rules govern what the skill says. Free only — no task ever requires a paid subscription and a free alternative is always named. Evidence over vibes — a script runs before a technical fact is asserted, and confidence is tagged honestly. Honest about 2026 — llms.txt is low-value for AI citation, GPTBot is not OAI-SearchBot, FAQ and HowTo rich results are deprecated even though the markup is still worth keeping, and circulating statistics are flagged as directional unless they come from a named study. No manipulation — no cloaking, no keyword stuffing, no fake reviews, no PBNs, no review-gating, and no schema that does not match the visible content.
When to use it, when not to
Use it when you want a first honest audit across the three channels, when a page needs structured data that matches what it shows, or when you need to know whether AI crawlers can actually reach the site before assuming they can.
Do not use it as a guarantee. The README warns that search engines, AI answer engines and app stores change algorithms, fields, thresholds and rich-result support frequently and without notice: treat the references as a well-sourced snapshot, verify limits against current official docs before shipping, and never rely on a single directional statistic.
Sources
- SEO · GEO · ASO — repository — workflow, script table, repository layout, principles and the 2026 honesty notes quoted above.
- README.md — install commands, example prompts, scripts, disclaimer.
Project page: SEO · GEO · ASO
The skill is MIT-licensed and is not affiliated with Google, Apple, OpenAI, Anthropic, Perplexity or Microsoft.
FAQ
Does the skill need a paid SEO tool? No. The README states no task requires a paid subscription, every task has a keyless path, and the six collectors use only the Python standard library.
Does llms.txt get a site cited by AI engines? Not as a proven lever. The README calls llms.txt low-value for AI citation in 2026, while still shipping a generator because the file is cheap and harmless.
Does blocking GPTBot remove a site from ChatGPT Search? No. The README separates GPTBot from OAI-SearchBot, so blocking the training crawler does not block the search crawler.
Can the scripts run outside Claude? Yes. They are pure Python and run from any shell, with --json output for piping into other tools.