SEO Optimizer
ailabs-393/ai-labs-claude-skills
This skill should be used when analyzing HTML/CSS websites for SEO optimization, fixing SEO issues, generating SEO reports, or implementing SEO best practices.
Diagnoses ranking problems caused by intent and page-type mismatch by analyzing the live SERP for a keyword, plus user stories and persona scoring.
$ npx skills add AgriciDaniel/claude-seo --skill seo-sxo -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install AgriciDaniel/claude-seo seo-sxo --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/seo-sxo .claude/skills/seo-sxo && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "seo-sxo" agent skill from https://github.com/AgriciDaniel/claude-seo/tree/main/skills/seo-sxo into .claude/skills/seo-sxo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-sxo", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/AgriciDaniel/claude-seo/tree/main/skills/seo-sxoType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add AgriciDaniel/claude-seo --skill seo-sxo -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install AgriciDaniel/claude-seo seo-sxo --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/seo-sxo .agents/skills/seo-sxo && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "seo-sxo" agent skill from https://github.com/AgriciDaniel/claude-seo/tree/main/skills/seo-sxo into .agents/skills/seo-sxo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-sxo", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add AgriciDaniel/claude-seo --skill seo-sxo -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install AgriciDaniel/claude-seo seo-sxo --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/seo-sxo .cursor/skills/seo-sxo && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "seo-sxo" agent skill from https://github.com/AgriciDaniel/claude-seo/tree/main/skills/seo-sxo into .cursor/skills/seo-sxo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-sxo", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/AgriciDaniel/claude-seo.git --path skills/seo-sxo--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add AgriciDaniel/claude-seo --skill seo-sxo -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install AgriciDaniel/claude-seo seo-sxo --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/seo-sxo .gemini/skills/seo-sxo && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "seo-sxo" agent skill from https://github.com/AgriciDaniel/claude-seo/tree/main/skills/seo-sxo into .gemini/skills/seo-sxo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-sxo", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install AgriciDaniel/claude-seo seo-sxoInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add AgriciDaniel/claude-seo --skill seo-sxo -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/seo-sxo .github/skills/seo-sxo && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "seo-sxo" agent skill from https://github.com/AgriciDaniel/claude-seo/tree/main/skills/seo-sxo into .github/skills/seo-sxo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-sxo", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add AgriciDaniel/claude-seo --skill seo-sxo -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install AgriciDaniel/claude-seo seo-sxo --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/seo-sxo .opencode/skills/seo-sxo && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "seo-sxo" agent skill from https://github.com/AgriciDaniel/claude-seo/tree/main/skills/seo-sxo into .opencode/skills/seo-sxo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-sxo", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
seo-sxoDiagnoses ranking problems caused by intent and page-type mismatch by analyzing the live SERP for a keyword, plus user stories and persona scoring.
Search experience optimization sits between SEO and UX. Instead of asking whether a page is technically healthy, it asks whether the page deserves to rank given what the SERP rewards, since a well-optimized blog post cannot break through where the results are mostly product or comparison pages. Commands are /seo sxo with a URL, with a URL and keyword, a wireframe mode that produces an IST and SOLL wireframe, and a personas mode that scores personas without the SERP analysis.
The pipeline fetches the target page with render_page.py and parses its title, H1, meta description, headings, word count, schema, CTAs and media with parse_html.py, deriving a keyword from the title and H1 if none is given. It then searches Google and records each of the top 10 results by authority tier, page type, content format, estimated word count, schema and media signals, along with SERP features such as featured snippets and People Also Ask. Four reference files cover page types, personas, user stories and wireframes.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4b99de2. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
SEO Search Experience Optimization loads about 2.5k tokens when it runs, and up to ~9k if it reads all its reference files. Until then it costs about 43 tokens; SKILL.md has 1,140 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from AgriciDaniel/claude-seo at commit 4b99de2, republished under its MIT licence (© AgriciDaniel). 1,140 words, ~2,545 tokens.
.claude/skills/seo-sxo/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.SXO bridges the gap between SEO (what Google rewards) and UX (what users need). Traditional SEO audits check technical health. SXO asks: "Does this page deserve to rank for this keyword based on what Google is actually rewarding in the SERP?"
A page can score 95/100 on technical SEO and still fail to rank because it is the wrong page type for the keyword. If Google shows 8 product pages and 2 comparison pages for your keyword, your blog post will never break through -- no matter how well-optimized it is.
| Command | Purpose |
|---|---|
/seo sxo <url> | Full SXO analysis (auto-detect keyword from page) |
/seo sxo <url> <keyword> | Full SXO analysis for a specific keyword |
/seo sxo wireframe <url> | Generate IST/SOLL wireframe with concrete placeholders |
/seo sxo personas <url> | Persona-only scoring (skip SERP analysis) |
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run render_page.py <URL> --mode auto (SPA-aware and SSRF-safe)"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run parse_html.py <URL> to extract: title, H1, meta description,
headings hierarchy, word count, schema markup, CTAs, media elementsRead references/page-type-taxonomy.md for classification rules.
This is the core SXO insight. Compare target page type against SERP consensus.
Mismatch severity levels:
| Target Type | SERP Expects | Severity | Recommendation |
|---|---|---|---|
| Blog Post | Product Pages | CRITICAL | Create dedicated product page |
| Blog Post | Comparison | HIGH | Restructure as comparison with matrix |
| Product | Informational | HIGH | Add educational content layer |
| Landing Page | Tool/Calculator | HIGH | Build interactive tool component |
| Service Page | Local Results | MEDIUM | Add location signals + local schema |
| Any type match | - | ALIGNED | Focus on content depth and UX |
Classification rules:
references/page-type-taxonomy.mdRead references/user-story-framework.md for the full framework.
From SERP signals, derive user stories:
For each signal cluster, generate a user story:
As a [persona derived from signal],
I want to [goal derived from query intent],
because [emotional driver from ad copy / PAA tone],
but I'm blocked by [barrier derived from PAA questions / related searches].Generate 3-5 user stories covering the primary intent angles.
Compare the target page against SERP expectations across 7 dimensions:
| Dimension | What to Compare | Score |
|---|---|---|
| Page Type | Target type vs SERP dominant type | 0-15 |
| Content Depth | Word count, heading depth, topic coverage | 0-15 |
| UX Signals | CTA clarity, above-fold content, mobile layout | 0-15 |
| Schema Markup | Present vs expected structured data types | 0-15 |
| Media Richness | Images, video, interactive elements vs SERP norm | 0-15 |
| Authority Signals | E-E-A-T markers, social proof, credentials | 0-15 |
| Freshness | Last updated, date signals, content recency | 0-10 |
Total: 0-100 SXO Gap Score (lower = larger gap, higher = better alignment)
Read references/persona-scoring.md for methodology.
Only execute when /seo sxo wireframe is invoked.
Read references/wireframe-templates.md for templates.
If DataForSEO MCP tools are available:
serp_organic_live_advanced for precise SERP data (positions, features, snippets)kw_data_google_ads_search_volume for search volume and competition metricsThe SXO score is separate from the main SEO Health Score.
| Finding | Hand Off To |
|---|---|
| E-E-A-T gaps in persona scoring | /seo content for deep E-E-A-T audit |
| Missing schema types | /seo schema for generation |
| Local intent detected in SERP | /seo local for GBP analysis |
| Content depth gaps | /seo page for deep page analysis |
| Technical issues found during fetch | /seo technical for full audit |
| Image/media gaps | /seo images for optimization |
## SXO Analysis: [URL]
### Target Keyword: [keyword]
### 1. SERP Landscape
- Dominant page type: [type] ([confidence]% consensus)
- SERP features: [list]
- Content depth norm: [word count range]
- Schema expectation: [types]
### 2. Page-Type Alignment
- Your page type: [type]
- SERP expects: [type]
- Verdict: [ALIGNED | MISMATCH (severity)]
- Impact: [explanation]
### 3. User Stories (derived from SERP signals)
[3-5 user stories with source signals]
### 4. Gap Analysis (SXO Score: XX/100)
[7-dimension breakdown table]
### 5. Persona Scores
[4-7 persona cards with 4-dimension scores]
### 6. Priority Actions
[Ranked list: fix mismatch first, then weakest persona gaps]
### 7. Limitations
[What could not be assessed, data source notes]| Error | Action |
|---|---|
| URL fetch fails | Report error, suggest checking URL accessibility |
| No keyword provided or detected | Ask user to provide target keyword |
| WebSearch returns <5 results | Proceed with available data, note limited sample |
| SERP has no organic results (all ads) | Note highly commercial SERP, analyze ad copy only |
| Target page is JavaScript-rendered | Note limitation, use available HTML content |
| DataForSEO cost exceeds threshold | Fall back to WebSearch, notify user |
Before delivering results, verify:
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run render_page.py <URL> --mode auto (not raw curl/fetch)© AgriciDaniel, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in skills/seo-sxo of AgriciDaniel/claude-seo.
Open the folder on GitHubat commit 4b99de2
SEO Search Experience Optimization next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| SEO Search Experience Optimization this skillAgriciDaniel/claude-seo | 19k | — | ~2.5k | Automated safety check: Pass | MIT | |
| SEO Optimizerailabs-393/ai-labs-claude-skills | 455 | 1 repos | ~3.2k | Automated safety check: Pass | MIT | |
| GEO Platform Optimizerzubair-trabzada/geo-seo-claude | 11k | 2 repos | ~4.7k | Automated safety check: Notes | MIT | |
| SEO PageAgriciDaniel/codex-seo | 799 | 5 repos | ~1.2k | Automated safety check: Pass | MIT | |
| E2E SEO Assistantirinabuht12-oss/marketing-skills | 4.1k | — | ~1.9k | Automated safety check: Pass | None | |
| SEO Auditandrew-yangy/gru-ai | 155 | — | ~731 | Automated safety check: Pass | MIT |
ailabs-393/ai-labs-claude-skills
This skill should be used when analyzing HTML/CSS websites for SEO optimization, fixing SEO issues, generating SEO reports, or implementing SEO best practices.
zubair-trabzada/geo-seo-claude
Audits a site for AI search visibility one platform at a time, scoring Google AI Overviews, ChatGPT, Perplexity, Gemini and Bing Copilot and listing gaps to fix.
AgriciDaniel/codex-seo
Deep single-page SEO analysis covering on-page elements, content quality, technical meta tags, schema, images, and performance.
irinabuht12-oss/marketing-skills
Full SEO workflow covering technical audits, content gaps, backlink opportunities, on-page fixes, and content briefs.
andrew-yangy/gru-ai
Full website SEO audit with parallel subagent delegation. An agent skill from andrew-yangy/gru-ai.
thedaviddias/Front-End-Checklist
Audits and fixes geo.region, geo.placename and geo.position meta tags on regional pages, noting where they help (Bing) and where they do not (Google).
AgriciDaniel/claude-seo
Audits, validates and generates hreflang tags for multi-language and multi-region sites in HTML, HTTP headers or XML sitemaps, flagging common code and return-tag mistakes.
AgriciDaniel/claude-seo
Pulls real Google data for SEO work: Search Console, PageSpeed Insights, CrUX field data, the Indexing API and GA4 organic traffic, through /seo google commands.
AgriciDaniel/claude-seo
Clusters keywords by how much their search results overlap and designs a hub-and-spoke content plan with an internal link matrix and an interactive cluster map.
AgriciDaniel/claude-seo
Builds research-backed SEO content briefs with competitor scoring, per-section word counts and page-type templates, for new pages or improving existing ones.
AgriciDaniel/claude-seo
Brings the FLOW framework's stage-specific SEO prompts into the agent, from keyword discovery through backlinks, on-page work and conversion to local SEO, loaded on demand.
AgriciDaniel/claude-seo
Generates Open Graph previews, blog hero images, product photos and infographics for SEO use through Gemini image tools and the banana extension.
Categories
Diagnoses ranking problems caused by intent and page-type mismatch by analyzing the live SERP for a keyword, plus user stories and persona scoring. Search experience optimization sits between SEO and UX. Instead of asking whether a page is technically healthy, it asks whether the page deserves to rank given what the SERP rewards, since a well-optimized blog post cannot break through where the results are mostly product or comparison pages.
SEO Search Experience Optimization fits situations like: rankings are weak even though the page is technically healthy; checking whether a page type matches what the SERP rewards for a keyword; scoring a page from the viewpoint of several searcher personas; producing a wireframe that moves a page toward the format the SERP expects.
Run `npx skills add AgriciDaniel/claude-seo --skill seo-sxo -a claude-code`. Or copy the skill folder (skills/seo-sxo in AgriciDaniel/claude-seo) into .claude/skills/seo-sxo in your project. Claude Code loads it when a task matches its description.
Run `npx skills add AgriciDaniel/claude-seo --skill seo-sxo -a codex`. Or copy the skill folder (skills/seo-sxo in AgriciDaniel/claude-seo) into .agents/skills/seo-sxo in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AgriciDaniel/claude-seo --skill seo-sxo -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/seo-sxo, .gemini/skills/seo-sxo, .github/skills/seo-sxo and .opencode/skills/seo-sxo in your project.
SKILL.md names no scripts, command-line tools or credentials: SEO Search Experience Optimization is instructions for the agent only. Our summary lists: The claude-seo plugin scripts render_page.py and parse_html.py; Web search access to read the live SERP.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
SEO Search Experience Optimization is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with SEO Search Experience Optimization: SEO Optimizer (ailabs-393/ai-labs-claude-skills, 455 stars), GEO Platform Optimizer (zubair-trabzada/geo-seo-claude, 11k stars), SEO Page (AgriciDaniel/codex-seo, 799 stars) and E2E SEO Assistant (irinabuht12-oss/marketing-skills, 4.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
AgriciDaniel (a GitHub user) maintains it in AgriciDaniel/claude-seo, which has 18,627 GitHub stars. The repository holds 33 skills in this directory. The repository was last updated on October 4, 2026.
Source: AgriciDaniel/claude-seo on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.