Audit
Skill josezuma/ai-visibility-geo-toolkit/.claude/skills/audit
Full GEO readiness audit of any URL. Score 0-100 across llms.txt, schema.org, EEAT signals, robots.txt, citability. Returns actionable recommendations.From its SKILL.md
npx -y skills add josezuma/ai-visibility-geo-toolkit --skill auditAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.7 KB, 972 tokens by cl100k_base, as published. Nobody here has run it
GEO Readiness Audit
Performs a complete GEO (Generative Engine Optimization) readiness audit on any URL. The agent executes each check using its own tools — no external CLI required.
How to Run
# Option A: Use the CLI
python3 cli/geo-max audit <url>
# Option B: Run the script directly
python3 scripts/audit.py <url>
# Option C: Let the agent do it manually using the instructions below
Agent Instructions (do this manually if no CLI)
When the user asks "audit this URL" and the scripts aren't installed, perform these checks using your own tools:
Check 1: llms.txt (20 pts)
- Fetch
https://<domain>/.well-known/llms.txtandhttps://<domain>/llms.txtusing URL fetch - If either exists, score 20 pts. Note the content quality: does it list important URLs with descriptions?
- Also check
https://<domain>/robots.txt— does it allow GPTBot, ClaudeBot, Google-Extended?
Check 2: Schema.org Structured Data (25 pts)
- Fetch the URL and extract all
application/ld+jsonscript blocks - Validate that
@contextishttps://schema.organd@typeis a valid type - Score breakdown:
- 25 pts: 3+ valid schema types present (Article, FAQPage, Organization, Product, etc.)
- 15 pts: 1-2 valid types
- 5 pts: schema exists but invalid
- 0 pts: no schema
Check 3: EEAT Signals (25 pts)
- Check HTML meta tags:
<meta name="author"> - Check for byline pattern:
by FirstName LastNamein text - Check for publish date:
datePublished,dateModified, ortimeelement - Check for external reference links (links to other domains)
- Check for social/credential links (LinkedIn, Twitter, GitHub)
- Score: 25 for strong author + date + references, 15 for partial, 5 for weak
Check 4: AI Crawler Access (15 pts)
- Fetch robots.txt
- Check if GPTBot, ClaudeBot, Google-Extended, PerplexityBot are explicitly allowed
- Check for any blanket
Disallow: /that blocks crawlers - Score: 15 if all allowed, 10 if some, 5 if restricted, 0 if blocked
Check 5: Content Structure (15 pts)
- Check for clear H1/H2 heading hierarchy
- Check first 500 chars for statistics, data, or concrete claims (cites sources)
- Check word count (1000+ words preferred for AI extraction)
- Score based on depth
Final Score
- 90-100: Excellent — strong AI search presence
- 70-89: Good — minor gaps
- 50-69: Needs work — several missing signals
- 0-49: Poor — invisible in AI search
Output Format
Return results as a formatted markdown report:
## GEO Audit Report for https://example.com
**Score: 68/100 — Needs work**
### 1. llms.txt — 0/20 ❌
No llms.txt found at /.well-known/llms.txt or /llms.txt. Create one listing your key pages.
### 2. Schema.org — 20/25 ✅
Found: Article, Organization, FAQPage (3 types, all valid)
Recommendation: Add Product or HowTo schema for relevant pages.
### 3. EEAT Signals — 15/25 ⚠️
- Author meta tag found: ✓
- Publish date: ✓
- External references: 2 (min 3 recommended)
- Author credentials/social: missing LinkedIn
### 4. AI Crawler Access — 10/15 ⚠️
- GPTBot: ✓ allowed
- ClaudeBot: ✓ allowed
- Google-Extended: not mentioned
- PerplexityBot: not mentioned
### 5. Content — 8/15 ⚠️
~800 words, 1 statistic in first 500 chars. Add more data-backed claims.
Related Checks
- EEAT deep dive:
geo-max audit-eeat <url> - Schema validation:
geo-max audit-schema <url> - Full report: Save to
geo-audit-report.json
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.