Install
$ agentstack add skill-nurdamiron-claude-code-skills-claude-code-skills ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
SEO Analyzer v4.0 — Real Data Only
BEFORE YOU START — Ask if unclear
If the user runs /seo without a URL or command, ask:
What would you like to analyze?
1. Full audit — /seo audit [url]
2. Single page — /seo page [url]
3. LLM readiness — /seo llm [url]
4. Schema fix — /seo schema [url]
5. Content/E-E-A-T — /seo content [url]
6. Action plan — /seo plan [url]
7. Brand AI check — /seo brand [brand-name] [url]
8. Search intent — /seo intent [url]
9. IndexNow check — /seo indexnow [url]
10. Content rewrite — /seo rewrite [url]
11. AI Overviews — /seo aio [keyword] [url]
Which command and URL?
Never simulate, hallucinate, or estimate data you haven't fetched. If a fetch fails — say so. If you can't check something — say so.
Sub-skills (19 total)
/seo audit — full site audit (runs all checks)
/seo page — single page deep analysis
/seo content — E-E-A-T quality scoring
/seo schema — JSON-LD structured data
/seo images — alt text + format audit
/seo sitemap — XML sitemap generation
/seo hreflang — international SEO
/seo local — local business + GBP
/seo geo — AI Overviews / GEO
/seo llm — LLM / AI citation optimization
/seo plan — strategic SEO roadmap
/seo competitor — competitor gap analysis
/seo content-opt — on-page optimization
/seo programmatic — pages at scale
/seo brand — AI brand visibility tracking (NEW)
/seo intent — search intent classification (NEW)
/seo indexnow — IndexNow implementation check (NEW)
/seo rewrite — AutoGEO content rewrite suggestions (NEW)
/seo aio — AI Overviews presence check (NEW)
STEP 1 — Real Data Collection (mandatory before any analysis)
When given a URL, run ALL of these in order. Never skip.
1a — Fetch live pages
WebFetch: [url] → parse HTML: title, meta, H1-H6, canonical,
og tags, JSON-LD blocks, viewport, lang attr
WebFetch: [url]/robots.txt → crawl rules, AI crawler allowances
WebFetch: [url]/sitemap.xml → if 404, check robots.txt for Sitemap: line
WebFetch: [url]/llms.txt → LLM accessibility file (note if missing)
Parse raw HTML directly. Extract all `` blocks. Check for client-side rendering: if HTML body has minimal content + heavy JS = CSR warning (AI crawlers cannot execute JavaScript — CSR content is invisible to them).
1b — Core Web Vitals (PageSpeed Insights API, no key required)
WebFetch: https://www.googleapis.com/pagespeedonline/v5/runPagespeed
?url=[url_encoded]&strategy=mobile
WebFetch: https://www.googleapis.com/pagespeedonline/v5/runPagespeed
?url=[url_encoded]&strategy=desktop
Extract from JSON:
lighthouseResult.audits.largest-contentful-paint.displayValue → LCP
lighthouseResult.audits.interaction-to-next-paint.displayValue → INP
lighthouseResult.audits.total-blocking-time.displayValue → TBT
lighthouseResult.audits.cumulative-layout-shift.displayValue → CLS
lighthouseResult.categories.performance.score × 100 → Perf score
lighthouseResult.categories.seo.score × 100 → Lighthouse SEO
If API returns error or rate limit: state "CWV: fetch failed — check manually at pagespeed.web.dev" and mark CWV score as N/A (do not guess).
1c — HTTP response headers
Bash: curl -sI "[url]" 2>/dev/null | head -40
Check: HTTPS redirect (301 from http://), Strict-Transport-Security, X-Frame-Options, X-Content-Type-Options, Content-Security-Policy, server/framework leakage in Server: header.
1d — Search index presence
WebSearch: site:[domain]
Note approximate indexed page count from snippet text. Do NOT treat this number as exact — it is Google's estimate only.
STEP 2 — What this skill CANNOT measure (always state in report)
Always include this block in the report:
-- DATA LIMITATIONS ──────────────────────────────────────────
Backlinks requires Ahrefs / Semrush / Moz
Full site crawl requires Screaming Frog / Sitebulb
GSC impressions/CTR requires Google Search Console access
Real INP field data requires Chrome UX Report (CrUX)
Holistic CWV score requires GSC Core Web Vitals report
AI citation tracking requires Brandwatch / Mention / manual
──────────────────────────────────────────────────────────────
STEP 3 — Scoring Weights (0-100 total)
Technical SEO 20 pts (crawlability, HTTPS, architecture, CWV)
Content / E-E-A-T 20 pts (depth, authorship, citations, freshness)
On-Page SEO 17 pts (title, meta, headings, URL, internal links)
LLM Readiness 18 pts (llms.txt, crawlers, structure, entity clarity)
Schema Markup 9 pts (JSON-LD types, validity, rich snippet eligibility)
Core Web Vitals 10 pts (LCP, INP, CLS — real PSI data only)
Images 6 pts (alt text, WebP/AVIF, lazy loading, sizing)
Priority: CRITICAL > HIGH > MEDIUM > LOW
STEP 4 — Technical SEO Checks
Crawlability
- robots.txt present, valid syntax, no accidental Disallow: /
- sitemap.xml linked from robots.txt, all URLs return 200
- Canonical tags on all indexable pages (self-referencing + cross-page)
- No noindex on pages that should rank
- No redirect chains longer than 1 hop
Client-Side Rendering (CRITICAL for AI + SEO)
- If HTML has 4.0s poor
INP 500ms poor CLS 0.25 poor
Note: Google March 2026 Core Update introduced holistic CWV scoring —
performance is now evaluated across the entire domain, not per-URL.
43% of sites fail the INP threshold (most common failure in 2026).
---
## STEP 5 — Content Quality (E-E-A-T)
### Experience
- First-hand knowledge signals: personal data, case studies, original research
- "We found that..." / "In our testing..." patterns
- Original statistics or surveys (highest AI citation value)
### Expertise
- Named author on every article (not "Admin" or "Staff Writer")
- Author bio page with: credentials, publication history, social links
- Topic depth: glossary, definitions, comprehensive coverage
### Authoritativeness
- Outbound citations to primary sources (studies, official docs, .gov/.edu)
- Year-tagged data — flag anything older than 2 years
- Numbers > adjectives: "42% faster" beats "much faster"
### Trustworthiness
- About + Contact + Privacy pages present and linked from footer
- Author sameAs links: LinkedIn, Google Scholar, ORCID, Twitter/X
- Organization sameAs: Wikidata, Crunchbase, LinkedIn Company
### Content Freshness (AI prefers recent content)
- 85% of Google AI Overview citations are from content H2 > H3, no skipped levels
- URL: short, lowercase, hyphens only, keyword present, no query params
- Internal linking: 3-5 contextual links per page, descriptive anchors
- Open Graph: og:title, og:description, og:image (1200x630), og:url
- Twitter Card: twitter:card, twitter:title, twitter:image
---
## STEP 7 — LLM Optimization (GEO) — 18 points
### Why LLMs cite some content and not others (2026 research data)
- 44.2% of all LLM citations come from the first 30% of a page's text
- Definition-first openings get significantly higher AI impression scores
- Content depth + readability beat traffic + backlinks for AI citation
- Listicles (21.9%), articles (16.7%), product pages (13.7%) = most cited types
- Structured content (headings, lists, FAQ) = most effective format in AI search
- Perplexity inline citations convert at 11x the rate of traditional organic search
- Top-10 organic ranking strongly correlates with AI citation (Ahrefs/Semrush data)
### AI Platform Market Share (2026)
ChatGPT 55-60% of AI referral traffic Perplexity 18-22% (but 11x conversion vs organic) Gemini ~8.7% Others ~13%
### 7.1 — llms.txt (3 pts)
Community standard (llmstxt.org), NOT yet IETF/W3C official.
Adopted by 600+ sites including Stripe, Cloudflare, Anthropic, Vercel.
Reduces AI hallucinations about your site by 30-70%.
Required format:
```markdown
# [Site Name]
> [One sentence describing what the site is and who it's for]
## Docs
- [Page Title](https://example.com/page): [one sentence description]
- [Page Title](https://example.com/page): [one sentence description]
## API Reference
- [Endpoint](https://example.com/api/v1): [description]
## Optional: pages not for LLMs
- /admin
- /checkout
- /user/settings
Score:
- 3 pts: llms.txt exists, valid format, covers key pages
- 1 pt: llms.txt exists but incomplete
- 0 pts: missing
7.2 — AI Crawler Access in robots.txt (3 pts)
Complete list of AI crawlers to ALLOW (as of 2026):
# OpenAI
User-agent: GPTBot # training data
User-agent: OAI-SearchBot # ChatGPT search
User-agent: ChatGPT-User # ChatGPT browsing (user-triggered)
# Anthropic
User-agent: ClaudeBot # primary crawler
User-agent: Claude-SearchBot # Claude search
User-agent: Claude-User # user-triggered
# Perplexity
User-agent: PerplexityBot # primary crawler
# Note: Perplexity-User IGNORES robots.txt — user-triggered requests
# cannot be blocked via robots.txt. This is a known limitation.
# Google
User-agent: Google-Extended # Gemini / AI Overviews training
User-agent: Google-CloudVertexBot # Vertex AI
# Others
User-agent: Applebot-Extended # Apple AI
User-agent: DeepSeekBot # DeepSeek
User-agent: DuckAssistBot # DuckDuckGo AI
User-agent: Gemini-Deep-Research
User-agent: CCBot # Common Crawl (used by many LLMs)
User-agent: YouBot # You.com
IMPORTANT: Blocking these = invisible to that AI platform. IMPORTANT: Perplexity-User ignores robots.txt by design (user-triggered). Check each explicitly in robots.txt. Blanket Allow: / is NOT enough.
Score:
- 3 pts: all major crawlers explicitly allowed (or no blocks at all)
- 2 pts: main crawlers allowed, some minor ones missing
- 1 pt: partial — some major crawlers blocked
- 0 pts: GPTBot or ClaudeBot blocked
7.3 — Answer-First Content Structure (3 pts)
- First paragraph must directly answer the primary query (inverted pyramid)
- "Definition pattern": "[Topic] is [definition]" in first 150 words
- No preamble: ban "In today's world", "It's important to understand", "Many people"
- First 30% of content carries 44.2% of all citation weight — make it count
- Every H2/H3 should be phrased as the question it answers
Score:
- 3 pts: clear answer in first 150 words, every section heading is a question
- 2 pts: answer present but buried after preamble
- 1 pt: no clear answer structure
- 0 pts: heavy preamble, answer not findable in first 30%
7.4 — Structured Formatting (2 pts)
- H2/H3 headings for each key question
- Bullet/numbered lists for comparisons, features, steps
- Tables for specs, pricing, comparisons (AI extracts tabular data well)
- Bold on key terms at first use
- Code blocks for technical content
7.5 — FAQ / HowTo Schema (2 pts)
- FAQPage schema for question/answer sections
- HowTo schema for step-by-step content
- speakable schema on Article/WebPage for AI Overviews + voice
(target 2-4 speakable sections per page)
7.6 — Entity Clarity (2 pts)
- Consistent entity naming (no ambiguous pronouns for brand/product)
- Organization schema with sameAs to Wikidata, LinkedIn, Crunchbase
- Person schema for all authors with sameAs to professional profiles
- Definitions for all acronyms and industry terms (use ``)
7.7 — Data Density + Citation Worthiness (2 pts)
- Original statistics, surveys, or proprietary research = highest value
- Third-party data cited with direct source links
- Year tagged: "(2025 data)", "(as of March 2026)"
- Flag any stats older than 2 years as needing refresh
7.8 — No Client-Side Rendering (1 pt)
- Server renders full HTML — AI crawlers cannot execute JS
- Test: WebFetch the URL and check if meaningful text is in the raw HTML
- 0 pts if body text
4. **Sitemap ping test** (informational only — cannot verify from outside):
Check if site documentation mentions IndexNow integration.
### Supported search engines (2026)
Bing → indexnow.org endpoint Yandex → yandex.com/indexnow Naver → searchadvisor.naver.com Seznam → seznam.cz DuckDuckGo → via Bing partnership
### Output format
IndexNow Status: ───────────────────────────────────────────────── Key file found: [YES: /abc123.txt / NO] robots.txt hint: [YES / NO] Meta tag: [YES / NO] ───────────────────────────────────────────────── Status: [IMPLEMENTED / NOT IMPLEMENTED]
If NOT IMPLEMENTED — fix:
- Generate a key: openssl rand -hex 32
- Create /[key].txt containing just the key
- Add to robots.txt: IndexNow: [key]
- On content publish: POST to https://api.indexnow.org/indexnow
Body: {"host":"[domain]","key":"[key]","urlList":["[updated-url]"]}
- Bing propagates to DuckDuckGo automatically
---
## STEP 12 — NEW: AutoGEO Content Rewrite (/seo rewrite)
Based on AutoGEO (ICLR 2026) — automatically generate AI-optimized rewrites
of the most citation-critical sections of a page.
### Process
1. **Fetch the page** and extract:
- First 300 words (highest citation weight zone)
- All H2/H3 headings
- First paragraph under each heading
2. **Analyze for AutoGEO failure patterns**:
- Preamble before the answer ("In today's fast-paced world...")
- Passive voice density > 20%
- No definition in first 150 words
- Headings that don't phrase a question
- Missing statistics or data points
- Long sentences > 25 words (LLMs prefer ≤ 20 words)
- Jargon without inline definition
3. **Generate rewrites** for each failing section:
Show original → rewritten side by side:
SECTION: [H2 heading] ───────────────────────────────────────────────────────── ORIGINAL: "[exact original text, first 2-3 sentences]"
REWRITTEN (AutoGEO): "[rewritten version: definition-first, active voice, data added, question-phrased heading, ≤ 20 word sentences]"
Changes made:
- Added definition in sentence 1
- Moved key stat to opening
- Converted heading to question format
- Shortened avg sentence: 31 → 18 words
─────────────────────────────────────────────────────────
### AutoGEO Rewrite Rules (apply in order)
1. **Definition first**: Open with "[Topic] is [definition]" — never with context-setting
2. **Active voice**: "We measured X" not "X was measured"
3. **Stat anchoring**: Include one number in first 2 sentences if topic allows
4. **Question headings**: Every H2/H3 = a question the section answers
5. **Short sentences**: Max 20 words. Split anything longer
6. **Bold key terms**: First use of every important term gets `**bold**`
7. **Inverted pyramid**: Most important → least important (journalism style)
8. **No throat-clearing**: Delete first sentence if it contains "In today's", "It is important", "Many people"
### Output: rewrite-suggestions.md
Write a file with all rewrite suggestions in diff-friendly format.
---
## STEP 13 — NEW: AI Overviews Presence Check (/seo aio)
Google AI Overviews (formerly SGE) appear for ~20% of queries in 2026.
Check whether your content is being cited or excluded.
### Process
1. **Identify target keywords** from the page (if not provided):
- Extract H1, first H2, meta title → derive 3-5 informational queries
2. **Run presence checks via WebSearch**:
WebSearch: [keyword] — note if result snippet looks like an AI Overview summary WebSearch: what is [topic from page] WebSearch: how to [action from page] WebSearch: best [product/service from page] WebSearch: [brand] [core topic]
3. **Analyze SERP signals** from WebSearch results:
- Are results informational or commercial? (AI Overviews favor informational)
- Does the domain appear in any top-3 results?
- Are competitors in results for these queries?
- Is featured snippet present? (correlates strongly with AIO citati
…
## Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- **Author:** [nurdamiron](https://github.com/nurdamiron)
- **Source:** [nurdamiron/claude-code-skills](https://github.com/nurdamiron/claude-code-skills)
- **License:** MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.