openclaudia/openclaudia-skills/serp-analyzer
Claude Code and agent skill by openclaudia/openclaudia-skills
- community
Checking that the SKILL.md file is still in the repository.
Analyze Google search results (SERP) for any keyword. Use when the user says "analyze the SERP", "what ranks for", "SERP analysis", "competitive analysis for keyword", "content brief", "what's ranking", "search results for", "who ranks for", or asks about ranking content patterns for a keyword.
Install
npx vskill@latest install openclaudia/openclaudia-skills/serp-analyzerSKILL.md
SERP Analyzer Skill
You are an expert SERP analyst. Given a target keyword, analyze what currently ranks in Google, identify content patterns, and produce an actionable content brief for outranking the competition.
Prerequisites
Optional API keys for enriched data (the skill can work without any of them using web search):
SEMRUSH_API_KEY- for keyword and organic results dataSERPAPI_API_KEY- for real-time Google SERP data including SERP featuresDATAFORSEO_LOGINandDATAFORSEO_PASSWORD- for advanced SERP dataSERPINGAPI_API_KEY- for real-time Google SERP data (free tier available)
Analysis Process
Step 1: Collect SERP Data
Use multiple data sources to build a complete SERP picture:
Method A: SemRush API (if available)
Columns: Dn=Domain, Ur=URL, Fk=SERP Features, Fp=Position
Method B: Web Search (always do this) Use the WebSearch tool to search for the exact keyword. This gives you real-time SERP data.
Method C: Fetch top results Use WebFetch on the top 5-10 ranking URLs to analyze actual content.
Method D: SerpAPI (if SERPAPI_API_KEY available)
Real-time Google SERP data with structured SERP features:
The JSON response includes:
organic_results- Array of organic listings withposition,title,link,snippet,displayed_linkrelated_questions- People Also Ask questions withquestion,snippet,title,linkknowledge_graph- Knowledge panel data withtitle,description,entity_type, and attributesshopping_results- Product listings (if present) withtitle,price,link,sourcelocal_results- Local Pack listings (if present) withtitle,address,rating,reviewsinline_images- Image pack resultsanswer_box- Featured snippet content withtype(paragraph, list, table),snippet,titlerelated_searches- Related search queries
Parse example:
SerpAPI is especially useful for mapping SERP features in Step 2, as it returns structured data for every feature type.
Method E: DataForSEO (if DATAFORSEO_LOGIN and DATAFORSEO_PASSWORD available)
Advanced SERP data with detailed item types and ranking metrics:
The response provides:
result[0].items- Array of all SERP items, each with atypefield:"organic"- Standard organic results withurl,title,description,rank_group,rank_absolute"featured_snippet"- Featured snippet withdescription,url,type(paragraph/list/table)"people_also_ask"- PAA questions withitems[].title(the questions)"knowledge_graph"- Knowledge panel data"local_pack"- Local results"shopping"- Shopping results"video"- Video carousel items"images"- Image pack"related_searches"- Related search suggestionsresult[0].item_types- Array listing which SERP feature types are present (useful for Step 2 feature mapping)result[0].se_results_count- Total search results count
Location codes: 2840 = US, 2826 = UK, 2124 = Canada, 2036 = Australia. Change location_code for geo-targeted analysis.
Method F: Serping API (if SERPINGAPI_API_KEY available)
Real-time Google SERP data as Serper-style JSON from a single endpoint. Get a key at https://serpingapi.com (free tier available) and set SERPINGAPI_API_KEY.
The JSON response includes (sections appear only when Google returns them):
organic- Array of organic listings withposition,title,link,snippet(sometimessitelinks,date,rating)peopleAlsoAsk- People Also Ask questions withquestion,snippet,title,linkanswerBox- Featured snippet / direct answerknowledgeGraph- Knowledge panel data withtitle,type,description,attributesrelatedSearches- Related search queries as{ "query": ... }searchParameters- Echo of the parameters the search ran with
Parse example:
Optional parameters: location (e.g. "Seattle, Washington, United States"), page (starting at 1), tbs for a time filter (qdr:d day, qdr:w week, qdr:m month, qdr:y year). Web search only — no ads, shopping, or local pack sections.
Errors come back as {"error": {"code": "...", "message": "..."}}: 401 invalid_api_key means the key is wrong or revoked; 429 quota_exceeded means the monthly quota is used up (resets on the 1st, UTC). In either case tell the user the specific error and fall back to Method B.
Step 2: Map SERP Features
Document every SERP feature present for this keyword:
| Feature | Present? | Who owns it? | Can you win it? | |
|---|---|---|---|---|
| Featured Snippet | Yes/No | {domain} | {assessment} | |
| People Also Ask | Yes/No | {list questions} | - | |
| Knowledge Panel | Yes/No | {entity} | - | |
| Image Pack | Yes/No | {position in SERP} | {assessment} | |
| Video Carousel | Yes/No | {platforms} | {assessment} | |
| Local Pack | Yes/No | - | {assessment} | |
| Shopping Results | Yes/No | - | {assessment} | |
| News Results | Yes/No | {sources} | {assessment} | |
| Sitelinks | Yes/No | {domain} | - | |
| Reviews/Stars | Yes/No | {domains} | {assessment} | |
| FAQ Rich Results | Yes/No | {domains} | {assessment} | |
| Breadcrumbs | Yes/No | {domains} | - |
SERP Intent Signal Analysis:
- Mostly blog posts/guides = Informational intent
- Mostly product/service pages = Transactional intent
- Mix of reviews + product pages = Commercial investigation
- Brand homepage + login pages = Navigational intent
- Featured snippet present = Strong informational component
Step 3: Analyze Top 10 Results
For each of the top 10 organic results, fetch and analyze:
| Factor | What to measure | |
|---|---|---|
| URL | Full URL | |
| Domain | Domain authority/reputation | |
| Title tag | Exact title, length, keyword placement | |
| Meta description | Exact description, length, call-to-action | |
| Content type | Blog post, landing page, tool, directory, video, etc. | |
| Word count | Total content length | |
| Heading structure | H1, number of H2s/H3s, heading keywords | |
| Content format | Listicle, how-to, comparison, guide, definition, etc. | |
| Visuals | Number of images, videos, infographics, tables | |
| Date | Published date, last updated date | |
| Author | Named author, credentials shown | |
| Unique angle | What differentiates this from others | |
| Internal links | Number of internal links | |
| External links | Number of outbound links, sources cited | |
| Schema markup | Types of structured data used | |
| Reading level | Approximate Flesch-Kincaid grade level |
Step 4: Identify Patterns
After analyzing all top 10 results, find commonalities:
Content Pattern Analysis:
Step 5: Find Content Gaps
Identify what the top results are MISSING:
- Topics mentioned by only 1-2 results (opportunity to be comprehensive)
- Outdated information (opportunity for freshness)
- Missing media types (no videos, no infographics, no interactive tools)
- Missing perspectives (no expert quotes, no data, no case studies)
- Unanswered "People Also Ask" questions
- Missing schema markup types
- Poor user experience (slow, no mobile optimization, intrusive ads)
Step 6: Analyze Competitive Positioning
For each top 5 competitor, create a positioning map:
Find your differentiation angle:
- Can you be more comprehensive? (10x content)
- Can you be more actionable? (templates, tools, checklists)
- Can you be more current? (latest data, 2025 updates)
- Can you be more authoritative? (expert interviews, original research)
- Can you serve a different sub-audience? (beginners vs. advanced)
- Can you provide a unique format? (interactive tool vs. blog post)
Step 7: Generate Content Brief
Produce a complete content brief based on the analysis:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/serp-analyzer/SKILL.md
Popularity
- Repository stars
- 426
- Repository forks
- 9
- 7-day trend score
- 30
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 17 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/openclaudia/openclaudia-skills/serp-analyzer)