skills/geo-optimizer/SKILL.md
This skill should be used when the user asks to "audit for AI visibility", "optimize for ChatGPT", "check GEO readiness", "analyze hedge density", "generate agentfacts", "check if my site works with AI search", "test LLM crawlability", "check discovery gap", or mentions Generative Engine Optimization, AI crawlers, Perplexity discoverability, or NANDA protocol.
npx skillsauth add b-open-io/prompts geo-optimizerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generative Engine Optimization (GEO) for AI search visibility.
For background on what GEO is, how it differs from SEO, and the research behind it, see
README.md.
# Run full GEO audit
python3 ${CLAUDE_SKILL_DIR}/scripts/audit-geo.py https://example.com
# Check HTML size and JS dependency
curl -sI https://example.com | grep -i content-length
# Check hedge density of your content
python3 ${CLAUDE_SKILL_DIR}/scripts/check-hedge-density.py --url https://example.com/blog/post
# Or analyze text directly
python3 ${CLAUDE_SKILL_DIR}/scripts/check-hedge-density.py --text "Your content here"
# Generate AgentFacts schema for your domain
python3 ${CLAUDE_SKILL_DIR}/scripts/generate-agentfacts.py \
--domain example.com \
--agent-name "Example Service" \
--capabilities text,image \
--output /.well-known/agent-facts
Measures uncertainty language in content. Target: <0.2%
Hedge words to avoid:
See: references/hedge-density.md
Maximum: 1MB raw HTML. Above this threshold:
Check with: curl -sI URL | grep content-length
See: references/technical-visibility.md
AI crawlers vary in JavaScript rendering:
If your content requires JS to display, you're invisible to ~40% of AI crawlers.
See: references/discovery-strategies.md
The NANDA protocol provides machine-readable metadata for AI agent discovery. Place at /.well-known/agent-facts:
{
"@context": "https://nanda.dev/ns/agent-facts/v1",
"id": "nanda:example.com",
"agent_name": "urn:agent:example:com",
"endpoints": {
"static": ["https://api.example.com/v1/agent"]
},
"capabilities": {
"modalities": ["text"],
"authentication": {
"methods": ["oauth2", "jwt"]
}
},
"trust": {
"certification": "self-attested",
"human_oversight": "true"
}
}
See: references/agentfacts-schema.md
A complete GEO audit covers:
Technical Visibility
Content Authority
Discovery Strategy
Agent Infrastructure
| Script | Purpose |
|--------|---------|
| audit-geo.py | Full GEO audit for a URL |
| check-hedge-density.py | Analyze content confidence |
| generate-agentfacts.py | Create NANDA-compliant schema |
| File | Contents |
|------|----------|
| hedge-density.md | Confidence scoring methodology |
| agentfacts-schema.md | NANDA protocol specification |
| technical-visibility.md | Crawler behavior & limits |
| discovery-strategies.md | Startup vs incumbent approaches |
# Full audit with report
python3 ${CLAUDE_SKILL_DIR}/scripts/audit-geo.py https://mysite.com --output report.md
# Quick hedge check
python3 ${CLAUDE_SKILL_DIR}/scripts/check-hedge-density.py --url https://mysite.com/about
# Generate AgentFacts for SaaS
python3 ${CLAUDE_SKILL_DIR}/scripts/generate-agentfacts.py \
--domain myapp.com \
--agent-name "MyApp AI" \
--capabilities text \
--auth oauth2,apikey
tools
This skill should be used when a Claude Code session needs to keep working after Anthropic usage runs out, or when the user asks to run the Claude Code harness on GPT-5.6 Sol. Trigger phrases include "my Anthropic usage ran out", "I'm out of Claude usage", "usage limit reached, what now", "keep working on another model", "run Claude Code on GPT-5.6 Sol", "use GPT-5.6 Sol as the model", "set up claudex", "claudex isn't working", "route the harness through CLIProxyAPI", or "bill against my ChatGPT/Codex subscription". It stands up a local proxy so the Claude Code CLI runs on OpenAI's Codex backend as an escape hatch, and diagnoses that setup when it drifts. macOS + Homebrew.
testing
This skill should be used when the user asks to "open Visual Wayfinder", "answer a Wayfinder ticket visually", "turn this decision into a configurator", "show Wayfinder choices as a dashboard", "prototype the Wayfinder questionnaire", or wants interactive choice cards, tradeoff controls, rankings, ranges, toggles, and consequence previews for one active Wayfinder decision. It wraps the Wayfinder skill and JSON Render; it never replaces the tracker or resolves more than the active decision.
development
This skill should be used when the user asks to "make a visual proposal", "write this up so I can share it", "present these options visually", "diagram the trade-offs", "turn this plan into something reviewable", or requests a shareable design pitch, architecture proposal, RFC, options comparison, or visual roadmap for work that has not been built. It produces one self-contained, theme-aware HTML page led by grounded diagrams. Use visual-review instead for completed code changes; do not use this skill for internal task tracking.
tools
This skill should be used when the user asks to "add plugin settings", "make a plugin configurable", "store per-project plugin configuration", "use settings.local.json", "create a plugin state file", "expose skill settings in Agent Master", or "add a skill interface". Distinguishes official Claude Code settings from project-owned configuration and documents bOpen Agent Master skill interface discovery.