Before reading a website page by page, this checks Firecrawl's catalogue of ready-made data sources for one that already covers that site, and gets the information back as tidy, organised data instead.
WHEN TO USE
SCOPE
USE FOR
Find a ready-made tool that already pulls the data you need from a particular website.
Get a list such as open government contracts as organised records, without browsing and copying pages.
Fall back to ordinary web search or page reading when no ready-made source covers the site.
Tell Firecrawl which sites or kinds of data were missing, so it knows what to add next.
This is a saved copy of the skill's SKILL.md instructions. It may differ from the upstream file or the version you install.
A direct path to structured data
Alexandria brings ready-made website workflows, API providers, and specialized indexes into Firecrawl search and scrape. Semantic discovery finds capabilities by the data you need; domain matching connects web results to tools that may retrieve richer structured data beyond the page. Discover a tool that fits the task and get structured results directly, reducing the browsing, parsing, and repeated requests needed to assemble the data yourself.
Search to find web results and relevant tools, then inspect only the contracts needed for the task.
Scrape to execute a selected tool or read a URL. For large retained results, use its remote Bash guidance to select the data you need.
Use ordinary web results when they answer the question; use a provider tool when its coverage and inputs fit.
Alexandria feedback
Alexandria coverage grows from what agents report. If you choose to report how the catalogue served a task, send at most one firecrawl alexandria feedback per website you needed data from after finishing the task. It is free: no job ID, no time window, no credit refund.
Feedback can describe any of these outcomes:
A tool answered the need, fully or partly.
A tool ran but returned wrong or incomplete data, or failed.
No provider covers the website, or a provider exists but lacks the capability you needed, and you fell back to web search, scrape, or Agent.
Opt out: if FIRECRAWL_NO_ENDPOINT_FEEDBACK=1 (or FIRECRAWL_DISABLE_ENDPOINT_FEEDBACK=1) is set, the CLI silently skips the call and never sends anything. Respect that; do not try to work around it. (Team admins can also disable this server-side; the API returns feedbackErrorCode: "TEAM_OPTED_OUT" and the CLI exits 0 silently.)
Rules to know before you call this:
--url is the website the user needed data from, not the provider and not a Firecrawl page. --requested-functionality is what they needed from it, in one sentence. These two fields are the most important: they aggregate across teams and tell us which sites and workflows to add next.
--objective is the underlying goal behind the session: what you or your user were ultimately trying to accomplish, in one sentence (for example, "Shortlist federal IT contracts to bid on this quarter"). It is broader than --requested-functionality, which covers only this website.
--rationale explains the rating from observed results: which provider or capability served or failed the need, and how. Two or three sentences, no raw results pasted in.
--provider-feedback is a JSON array of {name, issue, why} for providers that were missing, thin, or unavailable. Issues: missing_provider (no provider covers the site), insufficient_coverage (exists, but data was thin, stale, or partial for this market or segment), provider_unavailable (could not be called), other.
--capability-feedback is a JSON array of {name, provider, issue, why, requestedFunctionality?} for capabilities that were missing, wrong, or failed. Issues: new_capability_request (ask the provider to add one; requestedFunctionality required), missing_capability (provider exists but lacks it), insufficient_functionality (exists but cannot take the input or filter you needed), incorrect_result, execution_error, other. Use name and provider exactly as discovery returned them; for a capability that does not exist yet, name what it should be.
Rate honestly:good when a tool answered the need, partial when it answered some of it or with gaps, bad when nothing available answered it or what ran was wrong or failed.
--silent & is the right pattern: exit code 0 even on failure, so a rejected call never crashes your pipeline.
# Example: send at most once per website after the task is done. Replace the
# placeholders with what actually happened; drop --provider-feedback or
# --capability-feedback when there is nothing to report at that level.
firecrawl alexandria feedback \
--rating "<good|partial|bad>" \
--url "https://sam.gov" \
--requested-functionality "Active contracts by agency with their attachments" \
--objective "Shortlist federal IT contracts to bid on this quarter" \
--rationale "sam-gov/contracts returned the contract list, but no capability exposes attachment links, so those were scraped from the web instead." \
--capability-feedback '[{"name":"attachments","provider":"sam-gov","issue":"new_capability_request","why":"Attachments were the point of the task","requestedFunctionality":"Given a contract ID, return attachment URLs and document text"}]' \
--silent &
If you report a site with no provider coverage, use --provider-feedback '[{"name":"<site or provider>","issue":"missing_provider","why":"<what was needed>"}]' and rate bad; that is the signal we use to onboard new providers.
--silent suppresses output and & runs it in the background so feedback never blocks you. Run firecrawl alexandria feedback --help for every option.
Local tool required
1 FOR YOU
01
Install the Firecrawl command-line tool and sign in
The catalogue is reached through Firecrawl search and scrape and the firecrawl CLI (for example firecrawl alexandria feedback), so the CLI must be installed and authenticated. Feedback is optional and is skipped when FIRECRAWL_NO_ENDPOINT_FEEDBACK=1 is set.
Run this outside your AI tool, using Node.js 22.20.0 or newer. Skills CLI 1.7.2 skips skill selection; prompts cancel installation without an interactive terminal. If choosing Project when asked about installation scope, open your project's folder before running this.
Install checklist
Check selected tools if a picker appears; Claude Code may be unchecked under Additional agents. ↑/↓ moves, Space toggles selections, Enter confirms.
Without a tool picker, check Installing to: for your intended tool. Stop if it names a different tool.
If asked, choose Symlink (Recommended) for shared files or Copy to all agents for separate copies; review the summary before confirming installation.
Install the find-skills skill? defaults to Yes, adding another skill for all projects. Choose No if you don't want that extra installation.
Skills CLI 1.7.2 sends install data to skills.sh by default, including the source, skill names, target tools and file details; GitHub sources are reported only when GitHub confirms the repository is public, while other remote sources can also be reported. Confirmed-public GitHub sources also trigger a security-audit request. Before installing, set the environment variable DO_NOT_TRACK=1 or DISABLE_TELEMETRY=1 to disable both.
It installs 10 skills: this one and the 9 it relies on, listed below. Once these skills are installed where Claude Code loads them, their descriptions help Claude decide when to use them.
Any live-web task via the Firecrawl CLI — including ordinary web research: searching the web, reading or extracting pages, gathering sources, discovering site URLs, bulk extraction, downloading a site, change alerts, or pages needing clicks/login — web only; local files route to firecrawl-parse. For papers use firecrawl-research-index; for library, API, error, or bug questions use firecrawl-developer-index.Read full description
AI-powered autonomous data extraction that navigates complex sites and returns structured JSON. Use this skill when the user wants structured data from websites, needs to extract pricing tiers, product listings, directory entries, or any data as JSON with a schema. Triggers on "extract structured data", "get all the products", "pull pricing info", "extract as JSON", or when the user provides a JSON schema for website data. More powerful than simple scraping for multi-page structured extraction.Read full description
Bulk extract content from an entire website or site section. Use this skill when the user wants to crawl a site, extract all pages from a docs section, bulk-scrape multiple pages following links, or says "crawl", "get all the pages", "extract everything under /docs", "bulk extract", or needs content from many pages on the same site. Handles depth limits, path filtering, and concurrent extraction.Read full description
Search an index of public repositories, GitHub issues, merged pull requests, repository READMEs, and curated documentation sites. Use when a programming question needs external documentation or upstream evidence.Read full description
Download an entire website as local files — markdown, screenshots, or multiple formats per page. Use this skill when the user wants to save a site locally, download documentation for offline use, bulk-save pages as files, or says "download the site", "save as local files", "offline copy", "download all the docs", or "save for reference". Combines site mapping and scraping into organized local directories.Read full description
Drive a live browser on a scraped page: click, fill forms, log in, paginate, infinite-scroll. Use when content requires interaction or a scrape failed or returned incomplete content.Read full description