Agent skill

SEO Page

by seranking in seranking/seo-skills

URL-level SEO intelligence — which keywords this page ranks for, traffic captured, position history, SERP context, and AI Search citation status.

MITAuto-check passedMarketing & SEO

Install SEO Page

skills CLI
$ npx skills add seranking/seo-skills --skill seo-page -a claude-code

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

GitHub CLI
$ gh skill install seranking/seo-skills seo-page --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/seranking/seo-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/seo-page .claude/skills/seo-page && 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-page
GitHub stars
160
Token cost
~3.6k tokens
SKILL.md length
1,377 words
Files
1
Skills in repo
32
Repo updated
First seen
Licence
MIT

At a glance

URL-level SEO intelligence — which keywords this page ranks for, traffic captured, position history, SERP context, and AI Search citation status.

  • Works in 4 steps: Validate target & preflight. See… → URL-level overview… → Ranking keywords DATA_getDomainKeywords… → …
  • The user asks analyze this page
  • SKILL.md covers Prerequisites, Process, Output format and Tips
  • Calls python3

What it does

SEO Page is an agent skill from seranking/seo-skills. URL-level SEO intelligence — which keywords this page ranks for, traffic captured, position history, SERP context, and AI Search citation status. Produces a keep / refresh / consolidate / kill verdict for one page. Distinct from seo-technical-audit (which checks technical health, not keyword/traffic performance) and from seo-content-brief (which produces a NEW article from a topic). Use when the user asks "analyze this page", "page SEO performance", "what does this URL rank for", "page traffic", "should I refresh…

Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Marketing & SEO, covering On-page SEO, Citation management and AI search optimization. It works with Firecrawl. The repository describes itself as: Claude SEO Skills — production Claude Agent Skills for the SE Ranking MCP server. Content briefs, AI Search share of voice, audits, backlink gaps, keyword clusters, schema… The licence is MIT.

When your agent uses it

  • The user asks analyze this page
  • Page SEO performance
  • What does this URL rank for
  • Should I refresh this page

Example prompts

  • “analyze this page”
  • “page SEO performance”
  • “what does this URL rank for”
  • “/seo-page”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Validate target & preflight. See skills/seo-firecrawl/references/preflight.md for the canonical 3-stage preflight (credit balance…
  2. URL-level overview DATA_getUrlOverviewWorldwide
  3. Ranking keywords DATA_getDomainKeywords (use the url param for exact match — not filter_url)
  4. Page authority DATA_getPageAuthority + DATA_getPageAuthorityHistory

What it can do on your machine

Read from SKILL.md and the folder at commit fd6d140. 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

    Shell commands in SKILL.md call:

    • python3

    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 Page loads about 3.6k tokens when it runs. Until then it costs about 146 tokens; SKILL.md has 1,377 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~146
When it runs · the whole SKILL.md, loaded when a task matches
~3.6k

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 seranking/seo-skills at commit fd6d140, republished under its MIT licence (© seranking). 1,377 words, ~3,603 tokens.

Download SKILL.mdSave it as .claude/skills/seo-page/SKILL.md (or your agent's skills folder).
name
seo-page
description
URL-level SEO intelligence — which keywords this page ranks for, traffic captured, position history, SERP context, and AI Search citation status. Produces a keep / refresh / consolidate / kill verdict for one page. Distinct from `seo-technical-audit` (which checks technical health, not keyword/traffic performance) and from `seo-content-brief` (which produces a NEW article from a topic). Use when the user asks "analyze this page", "page SEO performance", "what does this URL rank for", "page traffic", "should I refresh this page", or provides a single URL for analysis.

Example output: examples/seo-page-notion-keyboard-shortcuts-20260514/PAGE.md

Page Intelligence

Show what a single URL ranks for, what traffic it captures, where its weak and strong points are, and what to do about it. The deliverable is an opinionated verdict — KEEP, REFRESH, CONSOLIDATE, or KILL — anchored in objective signals from SE Ranking's URL-level data.

Prerequisites

  • SE Ranking MCP server connected.
  • Claude's WebFetch tool available (for the page-level HTML sense-check).
  • User provides: (a) a target URL, optionally (b) target market country (default: us), (c) primary topical keyword (auto-inferred from <title> + <h1> if not supplied).

Process

  1. Validate target & preflight. See skills/seo-firecrawl/references/preflight.md for the canonical 3-stage preflight (credit balance, Firecrawl availability, Google APIs). Skill-specific notes:

    • Confirm the URL is fetchable; derive parent domain. If the user supplied a primary keyword, use it; otherwise infer it in step 3.
    • Estimated SE Ranking cost for this skill: ~10–15 credits typical (URL overview, ranking keywords, page authority, SERP context for top 3–5 keywords).
    • Firecrawl: optional with WebFetch fallback, ~1 Firecrawl credit if available. When available, step 6 recovers og:*, twitter:*, canonical, robots meta, JSON-LD types, and hreflang count from raw <head> — WebFetch returns markdown only and strips those fields. Without Firecrawl, the affected lines in PAGE.md emit (skipped — Firecrawl not installed). Pass --no-firecrawl to treat Firecrawl as unavailable even when installed (credit conservation).
    • Google APIs: tier 1 (GSC available) unlocks step 4b (GSC URL performance + URL Inspection) after the page-authority step. See skills/seo-google/references/cross-skill-integration.md § "seo-page" for the full recipe.
  2. URL-level overview DATA_getUrlOverviewWorldwide

    • Pull keyword count, organic traffic estimate, paid keyword count, paid traffic estimate, top regions.
    • Note: traffic estimates are directional — they don't replace Google Search Console.
  3. Ranking keywords DATA_getDomainKeywords (use the url param for exact match — not filter_url)

    • Pull every keyword the URL ranks for in the target country, with positions.
    • Sort by traffic-weighted score: volume × CTR-by-position (use a standard CTR curve: 1=28%, 2=15%, 3=11%, 4=8%, 5=7%, 6=5%, 7=4%, 8=3%, 9=2%, 10=2%, 11+=1%).
    • Take the top 3–5 as the URL's "primary keywords" for SERP work in step 5.
  4. Page authority DATA_getPageAuthority + DATA_getPageAuthorityHistory

    • Current PA score and its 12-month trajectory.
    • Flag any drop > 5 points in the last 90 days.

4b. GSC URL performance + URL Inspection (only if google-api.json is present, tier ≥ 1)

  • Replaces the directional traffic estimate from step 2 with first-party Google data for the exact URL.
  • Pull GSC search analytics for the URL (last 28 days, by query and page): python3 scripts/gsc_query.py --property "{config.default_property}" --url "{target_url}" --days 28 --json
  • Pull URL Inspection (real indexation status, canonical Google sees, last crawl date): python3 scripts/gsc_inspect.py "{target_url}" --site-url "{config.default_property}" --json
  • If the URL's domain isn't a verified GSC property: surface "GSC: {target_domain} not verified — add it in Search Console" and continue with SE Ranking data only.
  • Surface in PAGE.md "## Snapshot": GSC last 28d: {clicks}/{impressions}/{ctr}% CTR / pos {position} and Google sees: {INDEXED|EXCLUDED} · canonical {userCanonical} → {googleCanonical} · last crawled {date}.
  • Feed into the verdict heuristic: INDEXED + impressions > 100 + position 4–10 → harden REFRESH (clear quick-win). EXCLUDED (any reason) → harden KILL or CONSOLIDATE. userCanonical ≠ googleCanonical → flag as critical issue regardless of verdict.
  • See skills/seo-google/references/cross-skill-integration.md § "seo-page" for the full recipe.
  1. SERP context DATA_getSerpResults and DATA_getAiOverview

    • For each of the 3–5 primary keywords:
      • Top 10 organic results (URL, title, snippet).
      • SERP features present (PAA, image carousel, video, shopping, etc.).
      • AIO presence and citations — is this URL cited in the AIO?
  2. HTML sense-check WebFetch (always) + mcp__firecrawl-mcp__firecrawl_scrape (when available)

    • WebFetch first (free, instant): extract <title>, meta description, all <h1..h6>, lang, word count, internal-link count, image count. WebFetch returns markdown so anything in <head> beyond <title> is lost — the next bullet recovers it.
    • Firecrawl second (1 Firecrawl credit; pass formats: ["rawHtml"]) — recovers what WebFetch can't see. Pin the format to rawHtml; the default html is post-processed and silently strips canonical, hreflang, and <script type="application/ld+json"> blocks on many sites. If those head fields come back zero on a site that obviously has them (any major SaaS homepage), you forgot the rawHtml flag — re-run.
      • From metadata: og:title, og:description, og:image, twitter:card, viewport, robots meta, canonical URL.
      • From the returned rawHtml: every <script type="application/ld+json"> block. Parse each as JSON, list detected @types (Article, BreadcrumbList, Organization, Product, etc.). Note any block that fails to parse.
      • hreflang: count <link rel="alternate" hreflang="…"> occurrences in rawHtml.
    • If Firecrawl unavailable: the WebFetch portion still runs; populate Page basics' OG / Twitter / canonical / robots / JSON-LD / hreflang lines as (skipped — Firecrawl not installed). Don't infer from markdown.
    • Sense-check: does the page actually talk about its top-ranking keyword in title and H1? If a page ranks for keywords it doesn't address textually, that's a strong consolidation signal.
  3. Domain context DATA_getDomainOverviewWorldwide (parent domain)

    • Light-weight: parent DA, total keywords, total traffic. Used to contextualise the page's PA against its domain.
  4. Cannibalization check DATA_getDomainPages

    • Pull the parent domain's pages ranked by organic traffic. Cap at the top 50 — that's where the cannibalization risk concentrates.
    • For the candidate URL's top-3 traffic-weighted keywords (from step 3), scan the peer-page list: does any other URL on the same domain rank in the top 20 for any of those keywords?
    • Cannibalization signal: any peer URL ranking ≤ 20 for the candidate's top-3 keywords. Record peer URL, keyword, peer position vs candidate position, peer traffic.
    • Cheaper than the old approach. Previous versions cross-checked via DATA_getDomainKeywords on the parent domain — that endpoint can return tens of thousands of rows on large sites and is unnecessarily heavy for this question. DATA_getDomainPages ranked by traffic surfaces the high-impact peers directly.
    • If no peer URL competes, this signal is "no cannibalization detected" — pass through to step 9.
  5. Synthesise verdict

    • Apply the verdict heuristic (see Tips) to produce KEEP / REFRESH / CONSOLIDATE / KILL.
    • For REFRESH, identify the top 3 specific changes (e.g., "add an H2 on 'alternatives' which 7 of 10 SERP winners use").
    • Write PAGE.md (output spec below).
Show full SKILL.md (429 more words)Show less

Output format

Create a folder seo-page-{target-slug}-{YYYYMMDD}/ with:

seo-page-{target-slug}-{YYYYMMDD}/
├── PAGE.md                       (synthesised verdict + plan — primary deliverable)
├── keywords.csv                  (full keyword list with positions — load-bearing CSV the auditor walks through row-by-row)
├── 04-serp-context.md            (top 10 + AIO for top 3–5 keywords — load-bearing reference for SERP-driven REFRESH discussions)
└── evidence/
    ├── 01-url-overview.md        (raw DATA_getUrlOverviewWorldwide)
    ├── 02-keywords.md             (raw DATA_getDomainKeywords filtered)
    ├── 03-authority.md            (PA + history)
    ├── 05-page-snapshot.md        (HTML extracts)
    └── 06-cannibalization.md      (peer pages on the same domain competing for the top-3 keywords)

Top-level: PAGE.md + keywords.csv + 04-serp-context.md. The other step files preserve raw API/HTML extracts in evidence/ for reproducibility — auditors lean on the CSV and SERP context, not the per-call dumps.

PAGE.md follows this shape:

markdown
# Page Intelligence: {URL}

> Snapshot dated {YYYY-MM-DD} · Country: {country} · Primary keyword: {keyword}

## Snapshot
- Ranking keywords: {n}
- Estimated monthly organic traffic: {n}
- Page authority: {PA} ({↑/↓ trajectory over 90 days})
- Primary topic: {topic}
- AIO citations: {n} of {checked} primary-keyword AIOs cite this URL
- GSC last 28d: {clicks} clicks / {impressions} impressions / {ctr}% CTR / avg position {n}  *(or `not configured` / `property not verified`)*
- Google sees: {INDEXED|EXCLUDED|...} · canonical {userCanonical} {→ googleCanonical if differ} · last crawled {YYYY-MM-DD}

## Page basics
- `<title>`: {value}
- meta description: {value | absent}
- `og:title`: {value | absent | skipped — Firecrawl required}
- `og:description`: {value | absent | skipped}
- `og:image`: {url | absent | skipped}
- `twitter:card`: {summary | summary_large_image | absent | skipped}
- `<link rel="canonical">`: {URL | self-referential | absent | skipped}
- meta robots: {index,follow | noindex,nofollow | absent | skipped}
- JSON-LD types detected: {Article, BreadcrumbList, Organization | none | skipped}
- hreflang variants: {n | skipped}

## What this page wins
- {keyword} — position {n}, ~{volume} monthly searches, ~{traffic} monthly clicks.
- ... (top 3–5)

## Almost-wins (page-2 refresh opportunities)
- {keyword} — position {n}, ~{volume} monthly searches. The top 3 SERP winners all do {pattern} that this page doesn't.
- ... (top 3 examples)

## What this page misses
- {keyword} — competitors {comp1}, {comp2} rank in top 5; this page is absent.
- ...

## Same-domain cannibalization
- {peer URL} — ranks position {n} for "{keyword}" (candidate ranks position {m}). Peer estimated traffic: {n}/mo.
- ... (only list rows where a peer URL ranks ≤ 20 for one of the candidate's top-3 keywords; if none, write "No same-domain cannibalization detected on top-3 keywords.")

## AI Search angle
- {n} of {checked} AIO queries on the URL's keywords cite this page.
- The AIOs that DON'T cite this page tend to cite {pattern} (e.g., comparison tables, step-by-step how-tos).
- Recommended GEO move: {one specific change}.

## Verdict: {KEEP | REFRESH | CONSOLIDATE | KILL}

Reasoning: {1–2 sentences anchored in objective signals from above}.

### If REFRESH — top 3 changes
1. {Specific change}
2. {Specific change}
3. {Specific change}

## Raw data
- keywords.csv — full enriched ranking-keyword list
- 04-serp-context.md — per-keyword SERP top-10 with AIO
- evidence/05-page-snapshot.md — HTML extracts

keywords.csv columns: keyword,volume,kd,position,intent,traffic_estimate,url

Tips

  • Respect SE Ranking Data API rate limit: 10 requests per second. The 3–5 SERP queries in step 5 should be paced sequentially.
  • Call DATA_getCreditBalance before running. ~10–15 credits is typical for one URL.
  • Verdict heuristic:
    • KEEP: PA stable or up; traffic stable or up; top 3 keywords held in their positions; AIO citations present where AIO appears.
    • REFRESH: any of (PA dropped >5 in 90 days; traffic dropped >20%; a top-3 keyword fell to position 11+; AIO citations missing while competitors get cited). Hardens when GSC data (step 4b) shows INDEXED + impressions > 100 + average position 4–10 (clear quick-win territory).
    • CONSOLIDATE: cannibalization detected (step 8) — a peer URL on the same domain ranks ≤ 20 for one or more of the candidate's top-3 keywords. CONSOLIDATE harden when the peer outranks the candidate AND captures higher traffic; otherwise CONSOLIDATE recommendation is "merge into the candidate" rather than "kill the candidate."
    • KILL: PA <10 AND traffic <50/mo AND no top-10 keyword AND no internal links pointing to it. Hardens when JSON-LD schema is also absent (Firecrawl detected zero blocks) — the page has no signals for any crawler, organic or AI. Also hardens when URL Inspection (step 4b) returns EXCLUDED for any reason.
    • GSC canonical mismatch (any verdict): if step 4b detects userCanonical ≠ googleCanonical, flag this as a critical issue in PAGE.md regardless of the verdict — it points at indexing instability that the verdict on its own can't resolve.
  • Don't invent reasons. Anchor every claim in PAGE.md to a number from the raw data files.
  • When between KEEP and REFRESH, default to REFRESH — small refreshes compound.
  • The keywords.csv is the auditable trail. If a stakeholder questions the verdict, walk them through the CSV row by row.
  • For pages with very low data (new pages, <5 ranking keywords), the verdict is unreliable. Flag as "insufficient data — re-run after 60 days" rather than forcing a verdict.
  • DATA_getPageAuthorityHistory all-zeros caveat: if the endpoint returns inlink_rank: 0 (or equivalent) for every date in the history window, treat as "insufficient history" — don't claim a drop or recommend REFRESH based on it. Often happens for very high-authority pages where the metric is saturated, or for URLs that haven't accumulated enough longitudinal data. Cross-check with DATA_getPageAuthority (current value) — if current PA is meaningful but history is flat-zero, flag the gap explicitly in PAGE.md rather than synthesising a trajectory.

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

Files

Just SKILL.md in skills/seo-page of seranking/seo-skills.

Open the folder on GitHubat commit fd6d140

Compare with similar skills

SEO Page 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 Page compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
SEO Page this skillseranking/seo-skills160—~3.6kAutomated safety check: PassMIT
Blog WriteAgriciDaniel/claude-blog2.3k1 repos~5.6kAutomated safety check: PassMIT
Blog BriefAgriciDaniel/claude-blog2.3k—~3.2kAutomated safety check: PassMIT
AI Citability Scorerzubair-trabzada/geo-seo-claude11k2 repos~3.7kAutomated safety check: NotesMIT
GEO Platform Optimizerzubair-trabzada/geo-seo-claude11k2 repos~4.7kAutomated safety check: NotesMIT
Geo Site Diagnoseyaojingang/GEOHub165—~515Automated safety check: PassAGPL-3.0

Similar skills

  • Blog Write

    AgriciDaniel/claude-blog

    Write new blog articles from scratch optimized for Google rankings and AI citations.

    2.3k GitHub starsUsed in 1 repo~5.6k tokens
    Writing & ContentAuto-check passed
  • Blog Brief

    AgriciDaniel/claude-blog

    Generate detailed content briefs for blog posts with target keywords, content outlines, competitive analysis, recommended statistics, image and chart suggestions, word count targets, internal…

    2.3k GitHub stars~3.2k tokensUpdated today
    Writing & ContentAuto-check passed
  • AI Citability Scorer

    zubair-trabzada/geo-seo-claude

    Scores how likely AI assistants are to quote passages from a web page and suggests rewrites that make those passages easier to extract.

    11k GitHub starsUsed in 2 repos~3.7k tokens
    Marketing & SEOAuto-check: notes
  • GEO Platform Optimizer

    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.

    11k GitHub starsUsed in 2 repos~4.7k tokens
    Marketing & SEOAuto-check: notes
  • Geo Site Diagnose

    yaojingang/GEOHub

    Crawl one public website from a supplied URL, select up to ten representative page types, score evidence-lined GEO readiness, and generate a standalone visual HTML report.

    165 GitHub stars~515 tokensUpdated 1 mo ago
    Marketing & SEOAuto-check passed
  • Universal SEO Analysis

    AgriciDaniel/claude-seo

    Hub for site-wide SEO work: audits, technical checks, schema, content quality, local, hreflang and AI-search readiness, run through slash commands.

    19k GitHub stars~4.9k tokensUpdated 4 days ago
    Marketing & SEOAuto-check passed

More from seranking/seo-skills

All 32 skills in this repo
  • SEO Google

    seranking/seo-skills

    Direct access to Google's own SEO data via Search Console (Search Analytics, URL Inspection, Sitemaps), PageSpeed Insights v5, CrUX field data with 25-week history, Indexing API v3, GA4 organic…

    160 GitHub stars~4.8k tokensUpdated 3 mo ago
    Auto-check passed
  • SEO API

    seranking/seo-skills

    SE Ranking API integration architect. An agent skill from seranking/seo-skills.

    160 GitHub stars~4.1k tokensUpdated 3 mo ago
    Auto-check passed
  • SEO Content Audit

    seranking/seo-skills

    E-E-A-T + CITE quality audit for an EXISTING piece of content.

    160 GitHub stars~3k tokensUpdated 3 mo ago
    Auto-check passed
  • SEO Content Brief

    seranking/seo-skills

    Generate a writer-ready SEO content brief from a target domain and topic.

    160 GitHub stars~2.5k tokensUpdated 3 mo ago
    Auto-check passed
  • SEO Drift

    seranking/seo-skills

    Capture an SEO baseline snapshot for a domain or URL, then on later runs compare the current state and surface regressions.

    160 GitHub stars~3.4k tokensUpdated 3 mo ago
    Auto-check passed
  • SEO Firecrawl

    seranking/seo-skills

    Ad-hoc web scraping, site mapping, and full-site crawling via Firecrawl MCP.

    160 GitHub stars~2.3k tokensUpdated 3 mo ago
    Auto-check passed

Works with

Categories

Questions about SEO Page

What does SEO Page do?

URL-level SEO intelligence — which keywords this page ranks for, traffic captured, position history, SERP context, and AI Search citation status. SEO Page is an agent skill from seranking/seo-skills. URL-level SEO intelligence — which keywords this page ranks for, traffic captured, position history, SERP context, and AI Search citation status.

When should I use SEO Page?

SEO Page fits situations like: the user asks analyze this page; page SEO performance; what does this URL rank for; should I refresh this page.

How do I install SEO Page in Claude Code?

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

How do I install SEO Page in Codex?

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

Can I use SEO Page 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 seranking/seo-skills --skill seo-page -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-page, .gemini/skills/seo-page, .github/skills/seo-page and .opencode/skills/seo-page in your project.

What does SEO Page need to run?

Going by SKILL.md and its folder, SEO Page needs the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does SEO Page 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 Page 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 Page use?

SEO Page is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does SEO Page use?

About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to SEO Page?

Skills that share tags, products or a category with SEO Page: Blog Write (AgriciDaniel/claude-blog, 2.3k stars), Blog Brief (AgriciDaniel/claude-blog, 2.3k stars), AI Citability Scorer (zubair-trabzada/geo-seo-claude, 11k stars) and GEO Platform Optimizer (zubair-trabzada/geo-seo-claude, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains SEO Page?

seranking (a GitHub organization) maintains it in seranking/seo-skills, which has 160 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on June 25, 2026.

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