Firecrawl Site Crawl Extension
AgriciDaniel/claude-seo
Crawls, maps, and scrapes an entire site through the Firecrawl MCP server for broken-link checks and content inventories.
Pull a domain's XML sitemap (and sitemap-of-sitemaps), then compare against the most recent SE Ranking website audit.
$ npx skills add seranking/seo-skills --skill seo-sitemap -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install seranking/seo-skills seo-sitemap --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/seranking/seo-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/seo-sitemap .claude/skills/seo-sitemap && 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-sitemap" agent skill from https://github.com/seranking/seo-skills/tree/main/skills/seo-sitemap into .claude/skills/seo-sitemap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-sitemap", 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/seranking/seo-skills/tree/main/skills/seo-sitemapType 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 seranking/seo-skills --skill seo-sitemap -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install seranking/seo-skills seo-sitemap --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/seranking/seo-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/seo-sitemap .agents/skills/seo-sitemap && 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-sitemap" agent skill from https://github.com/seranking/seo-skills/tree/main/skills/seo-sitemap into .agents/skills/seo-sitemap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-sitemap", 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 seranking/seo-skills --skill seo-sitemap -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install seranking/seo-skills seo-sitemap --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/seranking/seo-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/seo-sitemap .cursor/skills/seo-sitemap && 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-sitemap" agent skill from https://github.com/seranking/seo-skills/tree/main/skills/seo-sitemap into .cursor/skills/seo-sitemap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-sitemap", 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/seranking/seo-skills.git --path skills/seo-sitemap--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 seranking/seo-skills --skill seo-sitemap -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install seranking/seo-skills seo-sitemap --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/seranking/seo-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/seo-sitemap .gemini/skills/seo-sitemap && 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-sitemap" agent skill from https://github.com/seranking/seo-skills/tree/main/skills/seo-sitemap into .gemini/skills/seo-sitemap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-sitemap", 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 seranking/seo-skills seo-sitemapInstalls 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 seranking/seo-skills --skill seo-sitemap -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/seranking/seo-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/seo-sitemap .github/skills/seo-sitemap && 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-sitemap" agent skill from https://github.com/seranking/seo-skills/tree/main/skills/seo-sitemap into .github/skills/seo-sitemap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-sitemap", 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 seranking/seo-skills --skill seo-sitemap -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install seranking/seo-skills seo-sitemap --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/seranking/seo-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/seo-sitemap .opencode/skills/seo-sitemap && 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-sitemap" agent skill from https://github.com/seranking/seo-skills/tree/main/skills/seo-sitemap into .opencode/skills/seo-sitemap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-sitemap", 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-sitemapPull a domain's XML sitemap (and sitemap-of-sitemaps), then compare against the most recent SE Ranking website audit.
SEO Sitemap is an agent skill from seranking/seo-skills. Pull a domain's XML sitemap (and sitemap-of-sitemaps), then compare against the most recent SE Ranking website audit. Surfaces (a) sitemap entries the crawler couldn't find (orphans from the sitemap), (b) audit pages missing from the sitemap (probably an oversight), (c) sitemap entries that are now 404, (d) lastmod inconsistencies. Use when the user asks for "sitemap analysis", "check my sitemap", "sitemap vs audit", "missing pages", "orphan pages", or "sitemap health".
Its SKILL.md is about 2.3k 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 Technical SEO and Web scraping. It works with Model Context Protocol and 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.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit fd6d140. 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 (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
developers.google.comFrom 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 Sitemap loads about 2.3k tokens when it runs. Until then it costs about 122 tokens; SKILL.md has 824 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 seranking/seo-skills at commit fd6d140, republished under its MIT licence (© seranking). 824 words, ~2,270 tokens.
.claude/skills/seo-sitemap/SKILL.md (or your agent's skills folder).Example output: examples/seo-sitemap-notion-so-20260514/SITEMAP.md
Compare a domain's XML sitemap against the most recent SE Ranking website audit. Surface what the sitemap claims vs what the crawler actually found, in both directions.
WebFetch tool available./sitemap.xml (auto-discovery from robots.txt is attempted first).seo-technical-audit (or any prior SE Ranking audit) on this domain. Without an existing audit, this skill has nothing to compare against — chain seo-technical-audit first.Validate target & confirm audit
DATA_listAudits → confirm an audit exists for this domain. If none, surface a clear message: "Run seo-technical-audit first; this skill compares the sitemap to that audit's crawl."done audit by default.mcp__firecrawl-mcp__firecrawl_map is available, Mode-2 (URL discovery via crawl) is offered when the sitemap is missing or suspect. Cost: ~0.5 Firecrawl credits per URL discovered, hard cap 500 URLs (~250 credits). Without Firecrawl, the skill runs Mode-1 only and notes the gap if Mode-2 was needed. User may pass --no-firecrawl to force Mode-1 even when Firecrawl is available (saves credits at the cost of orphan/missing analysis when sitemap is broken).Build URL lists WebFetch (sitemap) + mcp__firecrawl-mcp__firecrawl_map (optional Mode-2)
https://{domain}/sitemap.xml. If 404, fetch /robots.txt and look for Sitemap: directives. For sitemap-of-sitemaps, recursively fetch each child sitemap. Build the canonical URL list from the sitemap.DATA_getCrawledPages count, or (c) the user explicitly requests --discover. Always surface the trigger and the cost estimate to the user before running Mode-2.firecrawl_map(url=domain, limit=500). The response is the URL list Firecrawl could discover from the homepage and internal linking. Use this list as the "sitemap-equivalent" in step 6 — the diffs run identically, just with discovered URLs in place of declared sitemap URLs.SITEMAP.md: Mode-2 (Firecrawl URL discovery) needed but Firecrawl not installed — sitemap-vs-audit diffs run on partial data only.Pull the audit's crawled pages DATA_getCrawledPages
Pull domain pages DATA_getDomainPages
Pull orphan-page issues DATA_getAuditPagesByIssue
Compute the four diffs
DATA_getCrawledPages (status 200, indexable) that don't appear in the sitemap. Probably should be added.DATA_getAuditPagesByIssue orphan flags). The sitemap is the only thing pointing at them — investigate whether they should be linked internally.<lastmod> dates are identical (lazy generation) or (b) <lastmod> is older than the audit's crawl date for the page even though the page changed (stale).Validation
robots.txt.<lastmod> is the only optional tag Google still consumes. Validate it (step 6). <priority> and <changefreq> have been explicitly ignored by Google for years (per Google's sitemap docs — "Google ignores priority and changefreq values"). Don't validate them; if present, flag as low-signal noise the user can strip to shrink the sitemap.Synthesise SITEMAP.md
Create a folder seo-sitemap-{target-slug}-{YYYYMMDD}/ with:
seo-sitemap-{target-slug}-{YYYYMMDD}/
├── SITEMAP.md (synthesised report — primary deliverable)
├── recommended-sitemap-diff.md (proposed changes: add X, remove Y — load-bearing artefact engineering applies to sitemap.xml)
└── evidence/
└── source-data.md (consolidated raw step output: fetched sitemap content, Firecrawl-discovered URLs if Mode-2 ran, audit's crawled-pages list, the four diffs (missing/orphans/broken/lastmod-issues) — preserved for reproducibility)Top-level: SITEMAP.md + recommended-sitemap-diff.md. The seven raw step files (01-sitemap-raw, 01b-firecrawl-discovered, 02-audit-pages, 03-missing-from-sitemap, 04-orphans-from-sitemap, 05-broken-entries, 06-lastmod-issues) are consolidated into a single evidence/source-data.md document with the same per-step section headers — a reader who needs to replay the diff has all raw inputs in one file rather than seven.
SITEMAP.md follows this shape:
# Sitemap Analysis: {domain}
> Sitemap pulled {YYYY-MM-DD} · Audit reference {audit-date}
## Mode
- **Mode-1 (sitemap-vs-audit):** {ran / skipped — no sitemap reachable}
- **Mode-2 (Firecrawl URL discovery):** {ran with {n} URLs / not triggered / triggered but Firecrawl not installed}
## Health summary
| Metric | Value | Status |
|---|---|---|
| Sitemap URLs (Mode-1) | {n} | — |
| Discovered URLs (Mode-2, if ran) | {n} | — |
| Audit crawled URLs (200, indexable) | {n} | — |
| Missing from sitemap (probable adds) | {n} | {🔴 if >5%} |
| Orphans from sitemap (probable cuts or link-ins) | {n} | {🟡 if >5} |
| Broken sitemap entries (non-200) | {n} | {🔴 if >0} |
| Lastmod issues | {n} | {🟡 if uniform; 🔴 if stale} |
## Recommended changes
### Add to sitemap ({n} URLs)
- {URL} — found by crawler at depth {n}, status 200, indexable.
- ...
### Remove from sitemap ({n} URLs)
- {URL} — returns {status code}.
- ...
### Investigate (orphan from sitemap, {n} URLs)
- {URL} — in sitemap but not reachable via internal links. Either link from {suggested parent} or remove from sitemap.
- ...
### Fix lastmod ({n} URLs)
- {URL} — lastmod is {date} but the audit crawled the page on {date} and detected changes since.
- ...
## Validation
- Total URL count: {n} ({✓ under 50k limit | ✗ exceeds — split into sitemap-of-sitemaps})
- Referenced in robots.txt: {✓/✗}
- HTTPS consistency: {✓/✗}
- Encoding: {✓/✗}
## Apply
- See `recommended-sitemap-diff.md` for the proposed sitemap.xml changes.
- After applying, re-run `seo-technical-audit` to refresh the crawl, then re-run this skill to verify.seo-technical-audit first. Without an audit, this skill has nothing to compare.<priority> and <changefreq> are dead signals — Google explicitly ignores both. Don't waste time tuning them; if your sitemap generator emits them, the bytes are pure overhead. <lastmod> is still consumed, so keep that one accurate.seo-drift to track sitemap composition over time (URL count, lastmod patterns).getCrawledPages and getDomainPages calls). Mode-2 adds Firecrawl credits at ~0.5 per discovered URL — surface the estimate before triggering.© seranking, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/seo-sitemap of seranking/seo-skills.
Open the folder on GitHubat commit fd6d140
SEO Sitemap 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 Sitemap this skillseranking/seo-skills | 161 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Firecrawl Site Crawl ExtensionAgriciDaniel/claude-seo | 19k | 1 repos | ~2k | Automated safety check: Pass | MIT | |
| SEO Site Auditspronta/crawlie | 114 | — | ~966 | Automated safety check: Pass | Custom licence | |
| SEO DataforseoAgriciDaniel/codex-seo | 799 | 2 repos | ~4.6k | Automated safety check: Pass | MIT | |
| Competitor Analysisaaron-he-zhu/aaron-marketing-skills | 2.9k | 1 repos | ~2k | Automated safety check: Pass | Apache-2.0 | |
| SEO Checkerhanzili/hanzi-browse | 177 | — | ~1.9k | Automated safety check: Pass | Custom licence |
AgriciDaniel/claude-seo
Crawls, maps, and scrapes an entire site through the Firecrawl MCP server for broken-link checks and content inventories.
spronta/crawlie
Run a complete technical SEO + AI-search audit of a website with crawlie.
AgriciDaniel/codex-seo
Live SEO data via DataForSEO MCP server. An agent skill from AgriciDaniel/codex-seo.
aaron-he-zhu/aaron-marketing-skills
A skill your agent uses when the user asks to "analyze competitors" or "竞品分析"; benchmarks competitor keywords, content, backlinks, AI citations, and traffic share into strengths, weaknesses, and an…
hanzili/hanzi-browse
Audit web pages for SEO issues in a real browser. An agent skill from hanzili/hanzi-browse.
vellum-ai/vellum-assistant
Runs a one-command technical GEO audit on any domain. An agent skill from vellum-ai/vellum-assistant.
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…
seranking/seo-skills
SE Ranking API integration architect. An agent skill from seranking/seo-skills.
seranking/seo-skills
E-E-A-T + CITE quality audit for an EXISTING piece of content.
seranking/seo-skills
Generate a writer-ready SEO content brief from a target domain and topic.
seranking/seo-skills
Capture an SEO baseline snapshot for a domain or URL, then on later runs compare the current state and surface regressions.
seranking/seo-skills
Ad-hoc web scraping, site mapping, and full-site crawling via Firecrawl MCP.
Works with
Categories
Pull a domain's XML sitemap (and sitemap-of-sitemaps), then compare against the most recent SE Ranking website audit. SEO Sitemap is an agent skill from seranking/seo-skills. Pull a domain's XML sitemap (and sitemap-of-sitemaps), then compare against the most recent SE Ranking website audit.
SEO Sitemap fits situations like: the user asks for sitemap analysis; check my sitemap; sitemap vs audit.
Run `npx skills add seranking/seo-skills --skill seo-sitemap -a claude-code`. Or copy the skill folder (skills/seo-sitemap in seranking/seo-skills) into .claude/skills/seo-sitemap in your project. Claude Code loads it when a task matches its description.
Run `npx skills add seranking/seo-skills --skill seo-sitemap -a codex`. Or copy the skill folder (skills/seo-sitemap in seranking/seo-skills) into .agents/skills/seo-sitemap 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 seranking/seo-skills --skill seo-sitemap -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-sitemap, .gemini/skills/seo-sitemap, .github/skills/seo-sitemap and .opencode/skills/seo-sitemap in your project.
SKILL.md names no scripts, command-line tools or credentials: SEO Sitemap is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: developers.google.com. 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 Sitemap is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with SEO Sitemap: Firecrawl Site Crawl Extension (AgriciDaniel/claude-seo, 19k stars), SEO Site Audit (spronta/crawlie, 114 stars), SEO Dataforseo (AgriciDaniel/codex-seo, 799 stars) and Competitor Analysis (aaron-he-zhu/aaron-marketing-skills, 2.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
seranking (a GitHub organization) maintains it in seranking/seo-skills, which has 161 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.