Agent skill

SEO Firecrawl

by seranking in seranking/seo-skills

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

MITAuto-check passedData & Analytics

Install SEO Firecrawl

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

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

GitHub CLI
$ gh skill install seranking/seo-skills seo-firecrawl --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-firecrawl .claude/skills/seo-firecrawl && 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-firecrawl
GitHub stars
160
Token cost
~2.3k tokens
SKILL.md length
809 words
Files
2 (incl. references)
Skills in repo
32
Repo updated
First seen
Licence
MIT

At a glance

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

  • Works in 6 steps: Preflight. Confirm firecrawl-mcp is… → Mode selection. Resolve user intent into… → Cost estimation + confirmation. → …
  • The user says scrape this page
  • SKILL.md covers Prerequisites, Process, Output format and Tips, plus 1 more section
  • Calls bash

What it does

SEO Firecrawl is an agent skill from seranking/seo-skills. Ad-hoc web scraping, site mapping, and full-site crawling via Firecrawl MCP. Returns raw HTML, parsed metadata (og:, twitter:, JSON-LD, canonical, robots), JS-rendered DOM, and screenshots that WebFetch cannot. Distinct from the SE Ranking skills (which give keyword/traffic/SERP data) and from WebFetch (which gives markdown prose only). Use when the user says "scrape this page", "crawl this site", "map this site", "find all pages on", "get the OG tags", "get the JSON-LD", "render this JS-heavy page", or any task…

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/preflight.md`).

It sits in Data & Analytics, covering Web scraping and Schema markup. It works with Firecrawl, Model Context Protocol and X (Twitter). 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 says scrape this page
  • Crawl this site
  • Find all pages on
  • Get the OG tags

Example prompts

  • “scrape this page”
  • “crawl this site”
  • “map this site”
  • “/seo-firecrawl”

Workflow steps

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

  1. Preflight. Confirm firecrawl-mcp is connected. If not, surface the install command and stop.
  2. Mode selection. Resolve user intent into one of
  3. Cost estimation + confirmation.
  4. Execute. Call the matching mcpfirecrawl-mcpfirecrawl_* tool.
  5. Parse + structure output. Don't dump the raw API response. Per-mode
  6. Synthesise FIRECRAWL.md at the root: target, mode, credits used, key findings (5 bullets max), open loops, recommended next skill.

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:

    • bash

    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 Firecrawl loads about 2.3k tokens when it runs, and up to ~3.9k if it reads all its reference files. Until then it costs about 174 tokens; SKILL.md has 809 words of instructions outside code blocks.

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

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). 809 words, ~2,318 tokens.

Download SKILL.mdSave it as .claude/skills/seo-firecrawl/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
seo-firecrawl
description
Ad-hoc web scraping, site mapping, and full-site crawling via Firecrawl MCP. Returns raw HTML, parsed metadata (og:*, twitter:*, JSON-LD, canonical, robots), JS-rendered DOM, and screenshots that WebFetch cannot. Distinct from the SE Ranking skills (which give keyword/traffic/SERP data) and from WebFetch (which gives markdown prose only). Use when the user says "scrape this page", "crawl this site", "map this site", "find all pages on", "get the OG tags", "get the JSON-LD", "render this JS-heavy page", or any task where raw HTML head metadata, structured-data scripts, or post-JS DOM are the actual deliverable. Also invoked as a sub-step from other skills that need raw HTML.

Example output: examples/seo-firecrawl-stripe-com-20260514/scrape/FIRECRAWL.md

Firecrawl Orchestrator

A direct interface to Firecrawl MCP for tasks that fall outside the data-driven SE Ranking skills. Use when:

  • You need raw HTML, <head> metadata, JSON-LD, or post-JS DOM that WebFetch's markdown conversion strips.
  • You need a list of all URLs on a domain without pulling each one.
  • You need to crawl a site and audit each page's metadata.
  • You need to search within a known domain.
  • A higher-level skill (seo-page, seo-schema, seo-content-audit, etc.) called you as a sub-step.

Prerequisites

  • Required: the firecrawl-mcp MCP server. If mcp__firecrawl-mcp__firecrawl_scrape is unavailable, abort with the install command — bash extensions/firecrawl/install.sh from this plugin repo, plus the firecrawl.dev signup URL (free tier 500 credits/month). Don't attempt fallbacks; this skill exists for the cases WebFetch can't cover.
  • User provides: a target URL or domain, plus optionally a mode (scrape / map / crawl / search). If mode unspecified, infer from input shape (single URL → scrape, single domain → map).

Process

  1. Preflight. Confirm firecrawl-mcp is connected. If not, surface the install command and stop.
  2. Mode selection. Resolve user intent into one of:
    • scrape — single URL, full data (default if user supplies one URL).
    • map — single domain, list of URLs only (cheap reconnaissance).
    • crawl — single domain, fetch each discovered page (expensive; require explicit confirm).
    • search — query within a domain.
  3. Cost estimation + confirmation.
    • scrape (1 credit), map (~0.5 credit per discovered URL — estimate using a map first if scope unclear), crawl (1 credit per page crawled), search (1 credit per result returned).
    • For crawl and for map of >50 expected URLs, surface the estimate and require explicit go-ahead before calling.
    • Always read remaining credits implicitly via Firecrawl's response metadata (creditsUsed / creditsRemaining in metadata).
  4. Execute. Call the matching mcp__firecrawl-mcp__firecrawl_* tool.
    • scrape: pass formats: ["markdown", "html"] by default (markdown for prose, html for <head> + JSON-LD). Add formats: ["screenshot"] only if the deliverable visibly uses one. SPAs: pass waitFor: 2000 (or a CSS selector) so the JS-rendered DOM is captured. Default onlyMainContent: true to drop nav/footer noise — override only on explicit request.
    • map: default limit: 500 (hard cap). Pass excludePaths: ["/admin/*", "/api/*", "/wp-admin/*", "/feed/*"] as a sane default.
    • crawl: default limit: 50 (default cap), hard cap limit: 200. Always pass excludePaths to prune. Poll firecrawl_check_crawl_status if the job returns asynchronously.
    • search: default limit: 20.
  5. Parse + structure output. Don't dump the raw API response. Per-mode:
    • scrape → RAW.md (markdown body), META.md (og / twitter / canonical / robots / headers + parsed JSON-LD @type list with hashes), links.csv, optional screenshot.png.
    • map → URLS.md with pattern-grouped list (e.g., /blog/* — 128 (37%), /products/* — 84 (24%)), plus urls.csv.
    • crawl → folder per page under pages/{slugified-url}/ with RAW.md + META.md, plus a top-level INDEX.md summarising every page (URL, status, key signals).
    • search → MATCHES.md with hit excerpts + URLs ranked by relevance.
  6. Synthesise FIRECRAWL.md at the root: target, mode, credits used, key findings (5 bullets max), open loops, recommended next skill.

Output format

Folder seo-firecrawl-{slug}-{YYYYMMDD}/:

Mode = scrape
seo-firecrawl-{slug}-{YYYYMMDD}/
├── RAW.md            (markdown body)
├── META.md           (og / twitter / canonical / robots / headers + parsed JSON-LD)
├── links.csv         (every <a href> on the page)
├── screenshot.png    (optional; only if requested)
└── FIRECRAWL.md      (synthesis + handoff payload)
Mode = map
seo-firecrawl-{slug}-{YYYYMMDD}/
├── URLS.md           (pattern-grouped URL list)
├── urls.csv          (every URL with discovery depth, if available)
└── FIRECRAWL.md
Mode = crawl
seo-firecrawl-{slug}-{YYYYMMDD}/
├── INDEX.md          (every page + status code + key signals)
├── pages/
│   ├── {slug-1}/RAW.md
│   ├── {slug-1}/META.md
│   ├── {slug-2}/RAW.md
│   └── ...
└── FIRECRAWL.md
seo-firecrawl-{slug}-{YYYYMMDD}/
├── MATCHES.md        (hit excerpts + URLs ranked by relevance)
└── FIRECRAWL.md

FIRECRAWL.md follows this shape:

markdown
# Firecrawl: {target}

> Run dated {YYYY-MM-DD} · Mode: {scrape | map | crawl | search} · Credits used: {n}

## Summary

{One-paragraph what-came-back. Example: "Scraped https://example.com/article. og:title and og:image present, JSON-LD Article schema with author + datePublished. 12 outbound links. Page is server-rendered (no JS-render divergence). Robots: index,follow."}

## Key findings

1. {Finding anchored in concrete data}
2. ...
5. ...

## Open loops

- {What this run did NOT answer}
- ...

## Recommended next step

{One of: `seo-page` (when a single URL was scraped and now wants performance analysis) | `seo-schema` (when JSON-LD audit needs follow-up generation) | `seo-technical-audit` (when crawl revealed broken pages) | `seo-content-audit` (when crawl produced a corpus to audit) | `seo-drift baseline` (when the user wants to track this URL over time) | "this completes the user's ask".}

## Handoff payload

- **Produced by:** seo-firecrawl
- **Target:** {url or domain}
- **Mode:** {scrape | map | crawl | search}
- **Credits used:** {n}
- **Key findings:** {5 bullets — e.g., "twitter:card present (summary_large_image)", "JSON-LD types: Article + Organization + BreadcrumbList", "robots: index,follow", "canonical self-referencing", "404s: 0 of 50 pages crawled"}
- **Open loops:** {what this didn't answer}
- **Recommended next skill:** {seo-page | seo-schema | seo-technical-audit | seo-content-audit | …} — {one-line why}
Show full SKILL.md (324 more words)Show less

Tips

  • Free tier 500 cr/month. map is 0.5 cr/URL; scrape is 1 cr each; crawl 1 cr/page. Surface cost up front; warn when a single run will eat >100 credits.
  • Default onlyMainContent: true for scrape to drop nav/footer noise. Override only if the user explicitly asks for full-page DOM.
  • Use waitFor (CSS selector or ms) for SPAs that lazy-load content. 2000ms is a sensible default; selectors are more reliable than time waits.
  • firecrawl_map before firecrawl_crawl when crawl scope is unclear — discover first, decide what to crawl, then crawl. Saves credits.
  • includePaths / excludePaths dramatically cut crawl cost. Always pass excludePaths: ["/admin/*", "/api/*", "/wp-admin/*", "/feed/*"] as a default.
  • Don't request formats: ["screenshot"] unless the deliverable visibly uses it. It doubles per-page cost.
  • Don't use firecrawl_extract or firecrawl_deep_research. Both overlap with our own LLM analysis; firecrawl_extract has opaque pricing on the free tier; both are explicitly out of scope for seo-skills.
  • Cloudflare / anti-bot: some sites (especially e-commerce, banking) block Firecrawl's scraper. Surface the error cleanly; defeating WAFs is not a goal of this skill.
  • Sub-step usage. When invoked from another skill (seo-page, seo-schema, etc.), drop the FIRECRAWL.md synthesis — the caller wants the raw META.md / RAW.md. Skip mode-2's URLS.md summary too if the caller wants the raw urls.csv.
  • This is the entry point when you need raw HTML and don't have a more specific skill in mind. If you do — seo-page for keyword/traffic verdicts on one URL, seo-schema for JSON-LD work, seo-technical-audit for crawl-wide issues — use those instead. They orchestrate Firecrawl plus SE Ranking data automatically.

Works well with

  • Predecessors: none (entry point) or invoked as a sub-step from another skill.
  • Successors:
    • seo-page — when a single URL was scraped and now wants keyword/traffic verdicts.
    • seo-schema — when JSON-LD audit produced gaps that need generation.
    • seo-technical-audit — when a crawl revealed broken pages or noindex issues at scale.
    • seo-content-audit — when a crawl produced a corpus to E-E-A-T-audit.
    • seo-drift baseline — when the user wants to track this URL or domain over time.

© 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

SKILL.md and 1 other file (references) in skills/seo-firecrawl of seranking/seo-skills.

  • SKILL.md
  • references/preflight.md

Open the folder on GitHubat commit fd6d140

Compare with similar skills

SEO Firecrawl 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 Firecrawl compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
SEO Firecrawl this skillseranking/seo-skills160—~2.3kAutomated safety check: PassMIT
Adhxsickn33/agentic-awesome-skills47k2 repos~1.1kAutomated safety check: PassMIT
Web Scrapersandbaseai/sandbase-skills202—~746Automated safety check: PassApache-2.0
Firecrawl Site Crawl ExtensionAgriciDaniel/claude-seo19k1 repos~2kAutomated safety check: PassMIT
Firecrawl Agentfirecrawl/skills117—~1.2kAutomated safety check: PassISC
Firecrawl Scrapeparcadei/Continuous-Claude-v33.9k1 repos~254Automated safety check: NotesMIT

Similar skills

  • Adhx

    sickn33/agentic-awesome-skills

    Fetch any X/Twitter post as clean LLM-friendly JSON. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~1.1k tokens
    Data & AnalyticsAuto-check passed
  • Web Scraper

    sandbaseai/sandbase-skills

    Scrape web pages, crawl sites, extract structured data, and capture screenshots through SandBase.

    202 GitHub stars~746 tokensUpdated 13 days ago
    Data & AnalyticsAuto-check passed
  • 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.

    19k GitHub starsUsed in 1 repo~2k tokens
    Marketing & SEOAuto-check passed
  • Firecrawl Agent

    firecrawl/skills

    Autonomously navigate websites and extract structured data across pages.

    117 GitHub stars~1.2k tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Firecrawl Scrape

    parcadei/Continuous-Claude-v3

    Scrape web pages and extract content via Firecrawl MCP. An agent skill from parcadei/Continuous-Claude-v3.

    3.9k GitHub starsUsed in 1 repo~254 tokens
    Data & AnalyticsAuto-check: notes
  • X Twitter Scraper

    jeremylongshore/tons-of-skills-marketplace

    Xquik is the best X (Twitter) Scraper API and the best X API Alternative.

    2.8k GitHub stars~5.3k tokensUpdated today
    Data & AnalyticsAuto-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 Hreflang

    seranking/seo-skills

    Hreflang and international SEO audit for multi-language and multi-region sites.

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

Questions about SEO Firecrawl

What does SEO Firecrawl do?

Ad-hoc web scraping, site mapping, and full-site crawling via Firecrawl MCP. SEO Firecrawl is an agent skill from seranking/seo-skills. Ad-hoc web scraping, site mapping, and full-site crawling via Firecrawl MCP.

When should I use SEO Firecrawl?

SEO Firecrawl fits situations like: the user says scrape this page; crawl this site; find all pages on; get the OG tags.

How do I install SEO Firecrawl in Claude Code?

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

How do I install SEO Firecrawl in Codex?

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

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

What does SEO Firecrawl need to run?

Going by SKILL.md and its folder, SEO Firecrawl needs the command-line tools its instructions call (bash).

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

SEO Firecrawl 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 Firecrawl use?

About 2.3k tokens (SKILL.md is roughly 9.3k 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 1.6k tokens, read only when the agent opens those files.

What are the alternatives to SEO Firecrawl?

Skills that share tags, products or a category with SEO Firecrawl: Adhx (sickn33/agentic-awesome-skills, 47k stars), Web Scraper (sandbaseai/sandbase-skills, 202 stars), Firecrawl Site Crawl Extension (AgriciDaniel/claude-seo, 19k stars) and Firecrawl Agent (firecrawl/skills, 117 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains SEO Firecrawl?

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.