packages/skills/skills/seo-geo/SKILL.md
SEO & GEO (Generative Engine Optimization) for websites. Analyze keywords, generate schema markup, optimize for AI search engines (ChatGPT, Perplexity, Gemini, Copilot, Claude) and traditional search (Google, Bing). Use when user wants to improve search visibility, search optimization, search ranking, AI visibility, ChatGPT ranking, Google AI Overview, indexing, JSON-LD, meta tags, or keyword research.
npx skillsauth add mediar-ai/skillhubz seo-geoInstall 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.
Comprehensive SEO and GEO (Generative Engine Optimization) for websites. Optimize for both traditional search engines (Google, Bing) and AI search engines (ChatGPT, Perplexity, Gemini, Copilot, Claude).
GEO = Generative Engine Optimization - Optimizing content to be cited by AI search engines.
Key Insight: AI search engines don't rank pages - they cite sources. Being cited is the new "ranking #1".
Get the target URL and analyze current SEO/GEO status.
Basic SEO Audit (Free):
python3 scripts/seo_audit.py "https://example.com"
Use this for: Quick technical SEO check (title, meta, H1, robots, sitemap, load time). No API needed.
Check Meta Tags:
curl -sL "https://example.com" | grep -E "<title>|<meta name=\"description\"|<meta property=\"og:|application/ld\+json" | head -20
Use this for: Quick check of essential meta tags and schema markup on any webpage.
Check robots.txt:
curl -s "https://example.com/robots.txt"
Use this for: Verify which bots are allowed/blocked. Critical for ensuring AI search engines can crawl your site.
Check sitemap:
curl -s "https://example.com/sitemap.xml" | head -50
Use this for: Verify sitemap structure and ensure all important pages are included for search engine discovery.
Verify AI Bot Access:
# These bots should be allowed in robots.txt:
- Googlebot (Google)
- Bingbot (Bing/Copilot)
- PerplexityBot (Perplexity)
- ChatGPT-User (ChatGPT with browsing)
- ClaudeBot / anthropic-ai (Claude)
- GPTBot (OpenAI)
Use WebSearch to research target keywords:
WebSearch: "{keyword} keyword difficulty site:ahrefs.com OR site:semrush.com"
WebSearch: "{keyword} search volume 2026"
WebSearch: "site:{competitor.com} {keyword}"
Analyze:
Apply the 9 Princeton GEO Methods (see references/geo-research.md):
| Method | Visibility Boost | How to Apply | |--------|-----------------|--------------| | Cite Sources | +40% | Add authoritative citations and references | | Statistics Addition | +37% | Include specific numbers and data points | | Quotation Addition | +30% | Add expert quotes with attribution | | Authoritative Tone | +25% | Use confident, expert language | | Easy-to-understand | +20% | Simplify complex concepts | | Technical Terms | +18% | Include domain-specific terminology | | Unique Words | +15% | Increase vocabulary diversity | | Fluency Optimization | +15-30% | Improve readability and flow | | ~~Keyword Stuffing~~ | -10% | AVOID - hurts visibility |
Best Combination: Fluency + Statistics = Maximum boost
Generate FAQPage Schema (+40% AI visibility):
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "What is [topic]?",
"acceptedAnswer": {
"@type": "Answer",
"text": "According to [source], [answer with statistics]."
}
}]
}
Optimize Content Structure:
Meta Tags Template:
<title>{Primary Keyword} - {Brand} | {Secondary Keyword}</title>
<meta name="description" content="{Compelling description with keyword, 150-160 chars}">
<meta name="keywords" content="{keyword1}, {keyword2}, {keyword3}">
<!-- Open Graph -->
<meta property="og:title" content="{Title}">
<meta property="og:description" content="{Description}">
<meta property="og:image" content="{Image URL 1200x630}">
<meta property="og:url" content="{Canonical URL}">
<meta property="og:type" content="website">
<!-- Twitter Cards -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="{Title}">
<meta name="twitter:description" content="{Description}">
<meta name="twitter:image" content="{Image URL}">
JSON-LD Schema (see references/schema-templates.md):
Check Content:
rel="noopener noreferrer"Schema Validation:
# Open Google Rich Results Test
open "https://search.google.com/test/rich-results?url={encoded_url}"
# Open Schema.org Validator
open "https://validator.schema.org/?url={encoded_url}"
Check Indexing Status:
# Google (use Search Console API or manual check)
open "https://www.google.com/search?q=site:{domain}"
# Bing
open "https://www.bing.com/search?q=site:{domain}"
Generate Report:
## SEO/GEO Optimization Report
### Current Status
- Meta Tags: ✅/❌
- Schema Markup: ✅/❌
- AI Bot Access: ✅/❌
- Mobile Friendly: ✅/❌
- Page Speed: X seconds
### Recommendations
1. [Priority 1 action]
2. [Priority 2 action]
3. [Priority 3 action]
### GEO Optimizations Applied
- [ ] FAQPage schema added
- [ ] Statistics included
- [ ] Citations added
- [ ] Answer-first structure
See references/platform-algorithms.md for detailed ranking factors.
This skill works best with:
tools
Design web-like user interfaces in the terminal and inside tmux with a cell-grid Canvas, CSS-like box model, flexbox/grid layout, and 15 reusable widgets such as Panel, Table, Card, ProgressBar, Meter, Tabs, Tree, Badge, Banner, and a braille line chart. Use when an agent needs a dashboard, panel, table, status page, TUI layout, tmux dashboard, screenshot-driven CLI/TUI replica, ANSI frame, truecolor render, pyte PNG screenshot smoke test, wide-character alignment, or a new terminal widget.
tools
Drive interactive terminal (TUI) programs — CLIs, REPLs, installers, menu apps, agent CLIs, and editors like vim — through a PTY, reading semantic screen snapshots. A pattern library classifies a screen (REPL, menu, pager, fzf search, confirm dialog, form, spinner, wizard) and drives it with a ready recipe. Use when a program expects a live terminal (arrow-key menus, prompts, spinners, password fields, curses UIs), or when a piped command hangs or prints nothing.
tools
Design and render terminal/CMD visual effects and ASCII art from a one-line request via the pluggable `fx` engine (18 hot-swappable, themeable effects plus scripted shows). Effects include donut, matrix rain, plasma, fire, a spinning 3D ball, Game of Life, wireframe cube, 3D text banners, rainbow/lolcat gradient text, starfield, tunnel, fireworks, image-to-ASCII, and more. Use when the request is for a terminal animation, ANSI/CLI art, or a new console effect. Pure Python stdlib; truecolor.
tools
# X Twitter Scraper Use Xquik for X/Twitter tweet search, user lookup, profile tweets, follower export, media download, monitors, webhooks, posting workflows, and MCP-backed API exploration. ## Prerequisites - A Xquik API key in `XQUIK_API_KEY`. - Internet access to `https://xquik.com/api/v1`, `https://xquik.com/mcp`, and `https://docs.xquik.com`. - A clear user request that identifies the target tweets, users, accounts, keywords, media, monitor, webhook, or write action. ## Source Truth -