Agent skill

SEO Sxo

by AgriciDaniel in AgriciDaniel/codex-seo

Search Experience Optimization: reads Google SERPs backwards to detect page-type mismatches, derives user stories from search intent signals, and scores pages from multiple persona perspectives.

MITAuto-check passedProduct & Project Management

Install SEO Sxo

skills CLI
$ npx skills add AgriciDaniel/codex-seo --skill seo-sxo -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AgriciDaniel/codex-seo seo-sxo --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/AgriciDaniel/codex-seo.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/seo-sxo .claude/skills/seo-sxo && rm -rf skills-src

Use ~/.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/

Facts

Skill name
seo-sxo
GitHub stars
799
Used in
2 other repos
Token cost
~2.9k tokens
SKILL.md length
1,269 words
Files
5 (incl. references)
Skills in repo
18
Repo updated
First seen
Licence
MIT

At a glance

Search Experience Optimization: reads Google SERPs backwards to detect page-type mismatches, derives user stories from search intent signals, and scores pages from multiple persona perspectives.

  • Works in 7 steps: Target Acquisition → SERP Backwards Analysis → Page-Type Mismatch Detection → …
  • Search experience
  • SKILL.md covers Shared Data Cache, Core Insight, Commands and Execution Pipeline, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

SEO Sxo is an agent skill from AgriciDaniel/codex-seo. Search Experience Optimization: reads Google SERPs backwards to detect page-type mismatches, derives user stories from search intent signals, and scores pages from multiple persona perspectives. Identifies why well-optimized pages fail to rank by analyzing what Google rewards for each keyword. Use when user says "SXO", "search experience", "page type mismatch", "SERP analysis", "user story", "persona scoring", "why isn't my page ranking", "intent mismatch", or "wireframe".

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/page-type-taxonomy.md`, `references/persona-scoring.md` and `references/user-story-framework.md`).

It sits in Product & Project Management, covering User stories, Keyword research and UI design. The repository describes itself as: Codex-first SEO skill suite. 26 workflows, 24 TOML agents, DataForSEO/Gemini/Google/Firecrawl integrations, GEO/AEO, CWV, schema, backlinks, local/maps, and deterministic reports. The licence is MIT.

When your agent uses it

  • Search experience
  • Page type mismatch
  • Persona scoring
  • Why isnt my page ranking

Example prompts

  • “search experience”
  • “page type mismatch”
  • “SERP analysis”
  • “/seo-sxo”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Target Acquisition
  2. SERP Backwards Analysis
  3. Page-Type Mismatch Detection
  4. User Story Derivation
  5. Gap Analysis
  6. Persona-Based Scoring
  7. Wireframe Generation (Optional)

What it can do on your machine

Read from SKILL.md and the folder at commit 9a644f6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    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.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

SEO Sxo loads about 2.9k tokens when it runs, and up to ~9.3k if it reads all its reference files. Until then it costs about 121 tokens; SKILL.md has 1,269 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~121
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~9.3k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from AgriciDaniel/codex-seo at commit 9a644f6, republished under its MIT licence (© AgriciDaniel). 1,269 words, ~2,859 tokens.

Download SKILL.mdSave it as .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.
name
seo-sxo
description
Search Experience Optimization: reads Google SERPs backwards to detect page-type mismatches, derives user stories from search intent signals, and scores pages from multiple persona perspectives. Identifies why well-optimized pages fail to rank by analyzing what Google rewards for each keyword. Use when user says "SXO", "search experience", "page type mismatch", "SERP analysis", "user story", "persona scoring", "why isn't my page ranking", "intent mismatch", or "wireframe".
user-invokable
true
argument-hint
<url> [keyword]
license
MIT
metadata.author
AgriciDaniel
metadata.original_author
Florian Schmitz (Pro Hub Challenge)
metadata.version
1.9.6
metadata.category
seo

Search Experience Optimization (SXO)

Shared Data Cache

Step 0 -- Check shared data cache:

Before gathering, check .seo-cache/ for reusable context from related SEO skills. Reference: ../seo/references/shared-data-cache.md for schemas and dependency map.

Check these cache files when present:

  • .seo-cache/site-meta.json for domain, business type, industry, and crawl context

  • .seo-cache/audit-scores.json for prior full-audit priorities

  • .seo-cache/pages/{url-slug}/page-analysis.json for page-level context when a URL is provided

  • If found: parse and use clearly valid fields (note "Using cached [X] from [date]")

  • If missing, corrupt, or irrelevant: continue with fresh evidence

  • If the user says "refresh" or "re-run": ignore cache reads and overwrite on write

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?"

Core Insight

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.

Commands

CommandPurpose
/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)

Execution Pipeline

Step 1: Target Acquisition
  1. Fetch the target URL via scripts/fetch_page.py (SSRF-safe)
  2. Parse with scripts/parse_html.py to extract: title, H1, meta description, headings hierarchy, word count, schema markup, CTAs, media elements
  3. If no keyword provided, extract primary keyword from title tag + H1 overlap
  4. Validate keyword is non-empty before proceeding
Step 2: SERP Backwards Analysis

Read references/page-type-taxonomy.md for classification rules.

  1. Search Google for the target keyword (WebSearch)
  2. For each of the top 10 organic results, record:
    • URL and domain authority tier (brand / niche authority / unknown)
    • Page type (classify using taxonomy)
    • Content format (long-form, listicle, how-to, comparison, tool, video)
    • Word count estimate (from snippet length and page structure)
    • Schema types present (from SERP features: ratings, FAQ, HowTo)
    • Media signals (video carousel, image pack, thumbnail presence)
  3. Record SERP features present:
    • Featured snippet (paragraph / list / table / video)
    • People Also Ask (extract all visible questions)
    • Ads (top and bottom -- count and analyze ad copy themes)
    • Related searches (extract all)
    • Knowledge panel / local pack / shopping results
    • AI Overview presence and source types
  4. Calculate SERP consensus:
    • Dominant page type (>60% = strong consensus, 40-60% = mixed, <40% = fragmented)
    • Content depth expectations (average word count tier)
    • Schema expectation (most common structured data types)
    • Media expectations (video required? images critical?)
Step 3: Page-Type Mismatch Detection

This is the core SXO insight. Compare target page type against SERP consensus.

Mismatch severity levels:

Target TypeSERP ExpectsSeverityRecommendation
Blog PostProduct PagesCRITICALCreate dedicated product page
Blog PostComparisonHIGHRestructure as comparison with matrix
ProductInformationalHIGHAdd educational content layer
Landing PageTool/CalculatorHIGHBuild interactive tool component
Service PageLocal ResultsMEDIUMAdd location signals + local schema
Any type match-ALIGNEDFocus on content depth and UX

Classification rules:

  • Classify target page using references/page-type-taxonomy.md
  • Classify each SERP result using the same taxonomy
  • Flag mismatch if target type differs from SERP dominant type
  • If SERP is fragmented (no dominant type), note opportunity for differentiation
Step 4: User Story Derivation

Read references/user-story-framework.md for the full framework.

From SERP signals, derive user stories:

  1. PAA questions reveal knowledge gaps and concerns
  2. Ad copy themes reveal commercial triggers and value propositions
  3. Related searches reveal the search journey (what comes before/after)
  4. Featured snippet format reveals the expected answer structure
  5. AI Overview reveals what Google considers the definitive answer

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.

Step 5: Gap Analysis

Compare the target page against SERP expectations across 7 dimensions:

DimensionWhat to CompareScore
Page TypeTarget type vs SERP dominant type0-15
Content DepthWord count, heading depth, topic coverage0-15
UX SignalsCTA clarity, above-fold content, mobile layout0-15
Schema MarkupPresent vs expected structured data types0-15
Media RichnessImages, video, interactive elements vs SERP norm0-15
Authority SignalsE-E-A-T markers, social proof, credentials0-15
FreshnessLast updated, date signals, content recency0-10

Total: 0-100 SXO Gap Score (lower = larger gap, higher = better alignment)

Show full SKILL.md (541 more words)Show less
Step 6: Persona-Based Scoring

Read references/persona-scoring.md for methodology.

  1. Derive 4-7 personas from SERP intent signals:
    • Cluster PAA questions by theme
    • Segment ad copy by target audience
    • Map related searches to journey stages
  2. For each persona, score the target page on 4 dimensions (25 pts each):
    • Relevance: Does the page address this persona's need?
    • Clarity: Can this persona find their answer within 10 seconds?
    • Trust: Are there adequate trust signals for this persona?
    • Action: Is there a clear next step for this persona?
  3. Output persona cards with scores and specific improvement recommendations
  4. Sort recommendations by weakest persona first (biggest opportunity)
Step 7: Wireframe Generation (Optional)

Only execute when /seo sxo wireframe is invoked.

Read references/wireframe-templates.md for templates.

  1. Generate IST (current state) wireframe from parsed page structure
  2. Generate SOLL (target state) wireframe based on:
    • SERP consensus page type
    • Gap analysis findings
    • Persona scoring weaknesses
  3. Use ultra-concrete placeholders:
    • NOT: "Add a CTA here"
    • YES: "Add pricing CTA with annual savings badge below hero, linking to /pricing#enterprise"
  4. Output as semantic HTML section outline with annotations

DataForSEO Integration

If DataForSEO MCP tools are available:

  1. Before any API call, run cost estimate and confirm with user
  2. Use google_organic_serp for precise SERP data (positions, features, snippets)
  3. Use keyword_data for search volume and competition metrics
  4. Fall back to WebSearch if DataForSEO unavailable -- note reduced precision in output

SXO Score vs SEO Health Score

The SXO score is separate from the main SEO Health Score.

  • SEO Health Score = technical compliance (crawlability, speed, schema, etc.)
  • SXO Gap Score = alignment between page and SERP expectations
  • A page can score 95 SEO + 30 SXO = technically perfect but strategically misaligned
  • Both scores should be reported together when both are available

Cross-Skill References

FindingHand 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

Output Format

Full SXO Analysis
## 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 Handling

ErrorAction
URL fetch failsReport error, suggest checking URL accessibility
No keyword provided or detectedAsk user to provide target keyword
WebSearch returns <5 resultsProceed 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-renderedNote limitation, use available HTML content
DataForSEO cost exceeds thresholdFall back to WebSearch, notify user

Quality Checklist

Before delivering results, verify:

  • Target URL was fetched via scripts/fetch_page.py (not raw curl/fetch)
  • Page type classification uses taxonomy from references
  • At least 5 SERP results were analyzed
  • User stories cite specific SERP signals as evidence
  • Persona scores include concrete improvement suggestions
  • SXO score is clearly labeled as separate from SEO Health Score
  • Limitations section is present and honest
  • Cross-skill recommendations are included where relevant

Write to shared data cache

After completing all work, write a concise JSON summary to .seo-cache/ when the workflow produced durable findings. Use the schemas and naming rules in ../seo/references/shared-data-cache.md; include at least cache_type, analyzed_at, source URL/domain, key findings, issues, recommendations, and tool limitations. Add .seo-cache/ to .gitignore if it is missing.

© AgriciDaniel, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (references) in skills/seo-sxo of AgriciDaniel/codex-seo.

  • SKILL.md
  • references/page-type-taxonomy.md
  • references/persona-scoring.md
  • references/user-story-framework.md
  • references/wireframe-templates.md

Open the folder on GitHubat commit 9a644f6

Used in 3 other repositories

We found 4 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in AgriciDaniel/codex-seo, which our catalogue first saw on October 7, 2026.

Compare with similar skills

SEO Sxo 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.

SEO Sxo compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
SEO Sxo this skillAgriciDaniel/codex-seo7992 repos~2.9kAutomated safety check: PassMIT
Super Product Ownersyahiidkamil/Software-Engineer-AI-Agent-Atlas401—~7.9kAutomated safety check: PassNone
Design Critiquemohitagw15856/pm-claude-skills1.4k—~1.5kAutomated safety check: PassMIT
Openprd UI ContextDavidLam-oss/obsidian-wechat-converter335—~899Automated safety check: PassMIT
Amazon Backend Keywordsnexscope-ai/Amazon-Skills744—~4.9kAutomated safety check: PassMIT
Requirement Interviewerceilf6/FrontAgent120—~476Automated safety check: PassMIT

Similar skills

  • Super Product Owner

    syahiidkamil/Software-Engineer-AI-Agent-Atlas

    Complete Product Owner / Product Manager capability — a wiki-style knowledge map of product practice in active software development: the role and its boundaries, strategy cascade (vision → OKRs →…

    401 GitHub stars~7.9k tokensUpdated 3 mo ago
    Product & Project ManagementAuto-check passed
  • Design Critique

    mohitagw15856/pm-claude-skills

    Give structured, constructive feedback on any design using UX frameworks.

    1.4k GitHub stars~1.5k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Openprd UI Context

    DavidLam-oss/obsidian-wechat-converter

    OpenPrd UI Context skill:区分 greenfield、brownfield 与局部修正,基于已确认 PRD、可选 CodeGraph 和本地证据提出专业 UI/UX 方向,并在用户确认后编译 PRODUCT.md、DESIGN.md 和 Impeccable handoff。

    335 GitHub stars~899 tokensUpdated yesterday
    Product & Project ManagementAuto-check passed
  • Amazon Backend Keywords

    nexscope-ai/Amazon-Skills

    Amazon backend search term optimization and strategy. An agent skill from nexscope-ai/Amazon-Skills.

    744 GitHub stars~4.9k tokensUpdated 1 mo ago
    Product & Project ManagementAuto-check passed
  • Requirement Interviewer

    ceilf6/FrontAgent

    Gather missing product, UX, technical, and delivery constraints before planning or coding.

    120 GitHub stars~476 tokensUpdated 11 days ago
    Product & Project ManagementAuto-check passed
  • Harness Plan Brief

    Chachamaru127/claude-code-harness

    Generate a Plan Brief HTML for non-engineer vibecoders before implementation starts.

    3.2k GitHub stars~2.2k tokensUpdated 6 days ago
    Product & Project ManagementAuto-check: notes

More from AgriciDaniel/codex-seo

All 18 skills in this repo
  • SEO Google

    AgriciDaniel/codex-seo

    Google SEO APIs: Search Console (Search Analytics, URL Inspection, Sitemaps), PageSpeed Insights v5, CrUX field data with 25-week history, Indexing API v3, and GA4 organic traffic.

    799 GitHub starsUsed in 2 repos~3.4k tokens
    Auto-check passed
  • SEO Dataforseo

    AgriciDaniel/codex-seo

    Live SEO data via DataForSEO MCP server. An agent skill from AgriciDaniel/codex-seo.

    799 GitHub starsUsed in 2 repos~4.6k tokens
    Auto-check passed
  • SEO Ecommerce

    AgriciDaniel/codex-seo

    E-commerce SEO analysis: Google Shopping visibility, Amazon marketplace intelligence, product schema validation, competitor pricing analysis, and marketplace keyword gaps.

    799 GitHub starsUsed in 2 repos~3k tokens
    Auto-check passed
  • SEO Page

    AgriciDaniel/codex-seo

    Deep single-page SEO analysis covering on-page elements, content quality, technical meta tags, schema, images, and performance.

    799 GitHub starsUsed in 5 repos~1.2k tokens
    Auto-check passed
  • SEO Schema

    AgriciDaniel/codex-seo

    Detect, validate, and generate Schema.org structured data. An agent skill from AgriciDaniel/codex-seo.

    799 GitHub starsUsed in 5 repos~1.6k tokens
    Auto-check passed
  • SEO Drift

    AgriciDaniel/codex-seo

    SEO drift monitoring: capture baselines of SEO-critical elements, detect changes, and track regressions over time.

    799 GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed

Questions about SEO Sxo

What does SEO Sxo do?

Search Experience Optimization: reads Google SERPs backwards to detect page-type mismatches, derives user stories from search intent signals, and scores pages from multiple persona perspectives. SEO Sxo is an agent skill from AgriciDaniel/codex-seo. Search Experience Optimization: reads Google SERPs backwards to detect page-type mismatches, derives user stories from search intent signals, and scores pages from multiple persona perspectives.

When should I use SEO Sxo?

SEO Sxo fits situations like: search experience; page type mismatch; persona scoring; why isnt my page ranking.

How do I install SEO Sxo in Claude Code?

Run `npx skills add AgriciDaniel/codex-seo --skill seo-sxo -a claude-code`. Or copy the skill folder (skills/seo-sxo in AgriciDaniel/codex-seo) into .claude/skills/seo-sxo in your project. Claude Code loads it when a task matches its description.

How do I install SEO Sxo in Codex?

Run `npx skills add AgriciDaniel/codex-seo --skill seo-sxo -a codex`. Or copy the skill folder (skills/seo-sxo in AgriciDaniel/codex-seo) into .agents/skills/seo-sxo in your project. Codex loads it when a task matches its description.

Can I use SEO Sxo in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AgriciDaniel/codex-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.

What does SEO Sxo need to run?

SKILL.md names no scripts, command-line tools or credentials: SEO Sxo is instructions for the agent only.

Does SEO Sxo access the network?

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.

Is SEO Sxo safe to install?

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.

What licence does SEO Sxo use?

SEO Sxo is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does SEO Sxo use?

About 2.9k tokens (SKILL.md is roughly 11k 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.

What are the alternatives to SEO Sxo?

Skills that share tags, products or a category with SEO Sxo: Super Product Owner (syahiidkamil/Software-Engineer-AI-Agent-Atlas, 401 stars), Design Critique (mohitagw15856/pm-claude-skills, 1.4k stars), Openprd UI Context (DavidLam-oss/obsidian-wechat-converter, 335 stars) and Amazon Backend Keywords (nexscope-ai/Amazon-Skills, 744 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains SEO Sxo?

AgriciDaniel (a GitHub user) maintains it in AgriciDaniel/codex-seo, which has 799 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on September 11, 2026.

Source: AgriciDaniel/codex-seo on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.