seo-research
Skill107 starsChanged 5 months agoMITView on GitHub
Data-driven SEO research and analysis through the Hyper MCP — keyword research, competitor analysis, content planning, AI search visibility (ChatGPT, Claude, Perplexity, Google AI Overviews), backlink trends, search intent classification, page speed / Core Web Vitals, and full site audits. Use when the user asks for an SEO audit, keyword research, content strategy, competitor benchmarks, brand visibility in AI search, ranking history, or any organic search analysis.
We split this skill into the rules it gives an agent
13 rules. 0 are common, 7 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 31
If hyperseo_search_volume_get is not found, the toolkit to enable is HyperSEO (hyperseo).
- Distinctive: line 35
Every tool in this skill is named by its canonical tool name.
- Very specific: line 43
If a tool is not found: in Hyper chat, find its toolkit id with discover_toolkits and pass it to enable_toolkit.
- Distinctive: line 59
Before running any tools, understand what the user actually needs:
- Very specific: line 63
What is the target market?: Default to US (location code 2840) unless told otherwise.
- Very specific: line 82
Search intent comes first: Every keyword has an intent.
- Very specific: line 122
Default is US (2840). Common alternatives: UK 2826, Canada 2124, Australia 2036, Germany 2276.
- Distinctive: line 143
Never guess metrics: If you don't have data, run the tool first.
- Distinctive: line 144
Research before recommending: Don't suggest keywords without checking volume and difficulty.
- Distinctive: line 145
Ask for the domain: Don't infer URLs from business names.
- Distinctive: line 146
Check both channels: When relevant, compare Google search volume with AI search volume.
- Distinctive: line 147
Be honest about difficulty: If a keyword is realistically unwinnable for the user's domain authority, say so and suggest alternatives.
- Very specific: line 149
Validate against SERPs: Before recommending a content format, check what actually ranks with hyperseo_serp_results_get.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
SEO Research
Data-driven SEO research and analysis. Every recommendation must be backed by real data from the HyperSEO tools exposed by the Hyper MCP. Never guess metrics, never assume rankings, never recommend without evidence.
Out of scope — defer to other skills
| Request | Send them to |
| Google Ads campaign creation | google-ads |
| Meta (Facebook / Instagram) ads | meta-ads |
| Competitor ad research from the Meta Ads Library | meta-ads-library |
| Pinterest Ads campaign | pinterest-ads |
| Write the blog post itself | blog-generation |
| Competitor monitoring, battle cards, non-SEO surfaces | competitor-intel |
| Organic Instagram / TikTok / LinkedIn publishing | instagram, tiktok, linkedin |
Requirements
- Hyper MCP installed and connected. https://app.hyperfx.ai/mcp
- HyperSEO toolkit enabled at https://app.hyperfx.ai/apps — provides the
hyperseo_*tool surface that wraps DataForSEO and AI search query data.
If hyperseo_search_volume_get is not found, the toolkit to enable is HyperSEO (hyperseo).
How to run the tools in this skill
Every tool in this skill is named by its canonical tool name. Run it with the call your surface gives you:
| Surface | Find a tool | Run it |
| Hyper chat | Call the tool by its name; search_tools(queries=["<provider> <action>"]) shows its parameters | <name>(...) |
| MCP client (Claude, Cursor, Codex, ChatGPT) | search("<what you want to do>"), then describe("<name>") | call_read("<name>", {...}), call_write or call_destructive: the one that describe names in call_with |
| Hyper CLI | hyperai search "<what you want to do>", then hyperai describe <name> | hyperai call <name> --json '{...}' |
If a tool is not found: in Hyper chat, find its toolkit id with discover_toolkits and pass it to enable_toolkit. On an MCP client or the CLI, tell the user which integration to connect in Hyper.
Tool surface
| Tool group | Tools |
| Keyword research | hyperseo_search_volume_get, hyperseo_keyword_difficulty_get, hyperseo_keyword_ideas_generate, hyperseo_site_keywords_search, hyperseo_intents_search |
| SERP & Google AI Mode | hyperseo_serp_results_get, hyperseo_ai_overviews_get |
| Competitor analysis | hyperseo_competitors_search, hyperseo_competitor_domains_search, hyperseo_domain_intersections_search, hyperseo_traffic_get_bulk |
| Domain & rankings | hyperseo_domain_overview_get, hyperseo_domain_keywords_get, hyperseo_rank_history_get |
| Backlinks | hyperseo_backlinks_history_get |
| AI search visibility | hyperseo_ai_search_volume_get, hyperseo_mentions_track |
| Technical health | hyperseo_pagespeed_get |
Initial Assessment
Before running any tools, understand what the user actually needs:
- What is the goal? Are they researching keywords, auditing a site, planning content, analyzing competitors, or checking AI visibility?
- What is the domain / business? Get the actual domain. Don't infer it.
- What is the target market? Default to US (location code
2840) unless told otherwise. - What is the current state? Are they starting from scratch or optimizing existing content?
Based on the answers, read the appropriate reference file:
| User need | Reference |
| "Find keywords for…" / "What should I target?" | references/keyword-research.md |
| "Who are my competitors?" / "Analyze [domain]" | references/competitor-analysis.md |
| "What should I write about?" / "Content plan" | references/content-seo-planning.md |
| "Am I visible in AI search?" / "Track my brand in ChatGPT" | references/ai-search-optimization.md |
| "Audit my site" / "How is my domain doing?" | references/site-audit.md |
When the task spans multiple areas (e.g., "help me with SEO for my new site"), each area is its own step: run the site audit with references/site-audit.md first and give its findings. Read the file of the next area, keyword research and then content planning, only when the user goes on to it.
Core SEO Principles
Apply these throughout all analysis.
Search intent comes first. Every keyword has an intent. Use hyperseo_intents_search to classify at scale, then match content format to intent:
- Informational ("what is X") → guides, explainers.
- Commercial ("best X", "X vs Y") → comparison pages, reviews.
- Transactional ("buy X", "X pricing") → product / landing pages.
- Navigational ("X login") → not targetable by others.
E-E-A-T matters. Experience, Expertise, Authoritativeness, Trustworthiness. Google evaluates content quality. Recommend content strategies that demonstrate genuine expertise, not keyword-stuffed filler.
Topic authority over individual keywords. Ranking for one keyword in isolation is hard. Recommend topic clusters: a pillar page supported by related content that builds topical authority.
AI search is a separate channel. Traditional Google search volume and AI-chatbot query volume are different metrics measuring different behavior. Always check both when relevant. A keyword with low Google volume may have high AI query volume, and vice versa.
Prioritize by ROI. Low difficulty + decent volume = do first. High difficulty + high volume = long-term investment. Low volume + high difficulty = skip unless strategically important.
Tool Quick Reference
| Task | Tool | Key output |
| Check search volume and CPC | hyperseo_search_volume_get | Monthly volume, CPC, competition. |
| Assess ranking difficulty | hyperseo_keyword_difficulty_get | Difficulty score 0–100. |
| Generate keyword ideas | hyperseo_keyword_ideas_generate | Related keywords with metrics. |
| Find keywords for a site | hyperseo_site_keywords_search | Keywords a domain could target. |
| See who ranks on Google | hyperseo_serp_results_get | Top positions, URLs, domains. |
| See Google's AI Mode answer | hyperseo_ai_overviews_get | The AI Mode answer and the sources it cites. It does not show whether the normal results page has an AI Overview. |
| See what a domain ranks for | hyperseo_domain_keywords_get | Current rankings and traffic. |
| Find competing domains (by keywords) | hyperseo_competitors_search | Domains ranking for similar keywords. |
| Find competing domains (by domain) | hyperseo_competitor_domains_search | Competitors based on shared organic keywords. |
| Get domain traffic metrics | hyperseo_domain_overview_get | Organic keywords, estimated organic traffic (ETV), traffic cost. For backlinks and rank, use hyperseo_backlinks_history_get. |
| Track backlink trends | hyperseo_backlinks_history_get | New / lost backlinks over time. |
| Check AI chatbot query volume | hyperseo_ai_search_volume_get | Monthly queries to ChatGPT, Claude, etc. |
| Track brand mentions in LLMs | hyperseo_mentions_track | Brand citations across AI models. |
| Compare traffic across domains | hyperseo_traffic_get_bulk | Organic / paid ETV and keyword counts per domain. |
| Track ranking history over time | hyperseo_rank_history_get | Monthly organic traffic and keyword trends. |
| Classify keyword search intent | hyperseo_intents_search | Intent type with confidence scores. |
| Find keyword overlaps between domains | hyperseo_domain_intersections_search | Shared SERP keywords with positions. |
| Check page speed / Core Web Vitals | hyperseo_pagespeed_get | Performance score, FCP, LCP, TBT, CLS. |
Location codes
Default is US (2840). Common alternatives: UK 2826, Canada 2124, Australia 2036, Germany 2276.
Output Standards
Always present keyword data as tables:
| Keyword | Volume | Difficulty | CPC | Priority |
|---------|--------|-----------|-----|----------|Always include the raw numbers alongside interpretation. Don't say "high volume" without showing the number.
Sort recommendations by priority. Quick wins first, long-term bets last.
When comparing domains, use side-by-side tables showing organic keywords and traffic (hyperseo_domain_overview_get), and backlinks, referring domains and domain rank (the latest row of hyperseo_backlinks_history_get).
For content plans, include: target keyword, search volume, difficulty, recommended content format, and priority tier.
Critical Rules
- Never guess metrics. If you don't have data, run the tool first.
- Research before recommending. Don't suggest keywords without checking volume and difficulty.
- Ask for the domain. Don't infer URLs from business names.
- Check both channels. When relevant, compare Google search volume with AI search volume.
- Be honest about difficulty. If a keyword is realistically unwinnable for the user's domain authority, say so and suggest alternatives.
- Think in clusters, not isolated keywords. Group related keywords into topic clusters.
- Validate against SERPs. Before recommending a content format, check what actually ranks with
hyperseo_serp_results_get.
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- oegeyilmaz9/seo-aeo-geo-ultimate★ 3same name
- empowerment-ai/agent-site-kit★ 0same name
- mrieck/seoblog-claude-plugin★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository31 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- ad-creative-generationSkill
- amazon-adsSkill
- analytics-insightsSkill
- blog-generationSkill
- brand-contextSkill
- cold-email-outreachSkill
- competitor-intelSkill
- customer-researchSkill
- email-lifecycleSkill
- gmailSkill
- google-adsSkill
- google-sheetsSkill
- hyper-cliSkill
- image-generationSkill
- instagramSkill
- linkedinSkill
- meta-ads-librarySkill
- meta-adsSkill
- openai-adsSkill
- pinterest-adsSkill
- reddit-adsSkill
- redditSkill
- slackSkill
- snapchat-adsSkill
- tiktok-adsSkill
- tiktokSkill
- twilioSkill
- video-generationSkill
- youtubeSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

