Skills firecrawl skills

firecrawl-developer-index

Use it when:
A question names a library version, an upgrade, a pasted error, or how to configure or migrate a specific library, API or CLI.
It does:
Searches Firecrawl's index of documentation, READMEs, and issues and pull requests from public repositories, choosing its approach by the kind of question.
You get:
An answer that quotes the matched passages and cites their URLs, telling a merged fix apart from the release that ships it.
Needs:
The Firecrawl CLI, its MCP tools or its HTTP endpoint; the index works without an API key, which only raises rate limits.
Unlike firecrawl-research-index:
That one finds research papers; this one covers developer sources and leaves comparisons and opinions to web search.
Misses:
Private repositories: for those, the agent reads the code directly.

TL;DR

Firecrawl's skill for its developer index of documentation pages, READMEs, and issues and pull requests from public repositories. It aims to answer from the primary source: the issue that reported a bug, the merged pull request that fixed it, or the page that states the contract, not a blog post. There's no fixed recipe. A literal error string is searched in issues and pull requests, then retried without paths and IDs if nothing matches. A how-to question goes to docs and READMEs. A known bug is traced from its issue to the fixing pull request, and to a release containing it before it's called the user's behavior. An API contract is checked in READMEs and docs. Searches start broad and are narrowed by type, repository or documentation source once the hits show where to look. Comparisons, opinions, news and unindexed projects go to Firecrawl's web search and scrape. For documentation questions, a reference file sets the steps: search with the CLI, match the exact version, and cite what was read. An identical copy ships in firecrawl/cli.

Summarizes the skill at 458d9d0.

npx skills add https://github.com/firecrawl/skills --skill firecrawl-developer-index
Total Downloads
9,300 on skills.sh, Nov 9, 2026
Repo stars
152 firecrawl/skills
First seen
Aug 4, 2026 on skills.sh
Weekly Downloads
536
-20% over the 8 weeks to Nov 9
Weekly values
Week toInstalls
Sep 21668
Sep 28705
Oct 5564
Oct 12577
Oct 19705
Oct 26920
Nov 2571
Nov 9536
Category

Drive browsers, scrape pages and search the web.

Find root causes, review code and test what you built.

Everything for building software: planning, coding, debugging, design, frameworks, cloud, agents and skills.

Type

Operates a CLI, API, app or bundled script to get something done.

Effect

Adds no side effects of its own. It shapes how the agent thinks, writes or reviews. Guidelines and routers are always effect:none, even when the task they support edits code.

Needs

A specific command-line tool or desktop app must be installed, such as gh, agent-browser, LibreOffice, Obsidian or a vendor CLI.

Publisher

A verified publisher on skills.sh, or the company or maintainer behind the product the skill operates.

Topics
Stack
Flags

The same publisher ships the skill under two sources, which splits its counts.

SKILL.md

From firecrawl/skills at 458d9d0. Checked daily, last changed Nov 6, 2026.

Frontmatter
name: firecrawl-developer-index
description: Searches current documentation, release notes, API references and public repository issues for libraries, frameworks, SDKs, APIs and CLI tools with `firecrawl developer`. Use before answering when the user names a version, is upgrading, pastes an error from a library or tool, or asks how to use, configure or migrate a specific library or API. Model knowledge stops at a training cutoff and misses new releases, renamed APIs, changed defaults and recent fixes, so when a version, option, error or API is unfamiliar or may have changed, look it up instead of guessing. Also checks whether a bug was fixed and in which release. Not for general programming concepts, code that uses no specific library, or refactoring code the user supplied.

Firecrawl Developer Index

For official documentation, setup, examples, migrations or compatibility, follow official documentation. Continue below for implementation or bug evidence beyond the docs. Reuse adequate evidence when switching approaches.

Answer a developer question from the primary source: the issue where the bug was reported, the merged pull request that fixed it, the README or documentation page that states the contract. A blog post that describes a behaviour is a weaker answer than the passage that defines it, so reach for the index first and the open web second. The repository half of the index covers public repositories only. Private or internal repositories are not in it, so a question about private code needs a different route: read that code directly.

There is no fixed recipe. Read the question, decide what kind it is, and choose the approach below. A literal error string wants a different move than "how do I do X". Don't run machinery a question doesn't call for.

The tools, and what each is uniquely good at

  • HTTP: GET|POST https://api.firecrawl.dev/v2/search/developer MCP: firecrawl_developer_search(query, k?, skills?) CLI: firecrawl developer <query> [--limit <n>] Ranked results over the whole index. Each carries id (issue:owner/repo#123), url, and the matched passages in markdown, so tables and code blocks survive. The artifact kind is the id prefix: doc:, issue:, pull_request:, or readme:. The default first move for a developer question. It is the only surface that returns the passages, which is what lets you answer instead of pointing at a page. k / --limit is 1–100 and defaults to 10. skills="only" (HTTP/MCP only) restricts the search to agent-skill files. Keyless; send Authorization: Bearer $FIRECRAWL_API_KEY for higher rate limits.

  • MCP: firecrawl_search(query, categories: ["developer"]) CLI: firecrawl search <query> --categories developer Developer hits in a developer group beside web, each with url, title, description (the matched passage), position, and category: "developer" — web results carry no category, so that is the field to key on when merging. Use this when you are already running a web search and want developer sources weighed in the same call. It exposes none of the filters and no passage control.

  • MCP: firecrawl_scrape(url) / firecrawl_search(query) CLI: firecrawl scrape <url> / firecrawl search <query> General web fetch and search, for what no primary source states: a comparison between two libraries, an outage, a migration write-up, a project with no public repository or indexed docs. Also the follow-through when a hit is the right page but you need all of it — scrape the result's url.

Filters, and what each one costs you

Only the HTTP surface takes these. On GET, pass types=issue,pull_request or repeat the parameter; on POST, pass arrays. All are optional.

  • types — which of doc, issue, pull_request, readme to search. Defaults to all four. Narrowing here is the cheapest way to sharpen a query.
  • repos (owner/name) scopes the repository half, meaning issue, pull_request, and readme; sources (documentation source ids, at most 20) scopes the documentation half, meaning doc. Passing both unions the halves rather than intersecting them. Both echo back in the response with indexed: true|false — that is how you tell "not in the index" from "found nothing".
  • A filter that cannot match any requested type is a 400, not an empty list: repos with no repository type in types, or sources without doc.
  • passages (1–5, default 1) is the maximum passages per result, not a guarantee. Raise it when one page is clearly the right page but the first passage is the wrong part of it.
  • language, topic, license, min_stars, max_stars, archived, fork describe a repository. Most documentation pages in the index have no repository behind them, so no repository fact can admit or exclude one. Send any of these without a sources scope and the response holds repository evidence only — issue, pull_request, readme. That is the design, not an index fault: do not retry it and do not report the index broken. To keep documentation, drop the repository filters, or scope the documentation half with sources and read the sources echo to confirm the id is indexed.

Match the approach to the question

  • Literal error message or stack-trace string → search the string itself plus the library name, with types=["issue","pull_request"]. Whoever hit it filed it. If nothing matches, strip the volatile parts (paths, line numbers, ids, addresses) and retry — the invariant middle of the message is what is indexed.
  • Conceptual "how do I do X" → the full question in natural language, all four types. The answer is usually a doc or a readme; raise passages before raising k.
  • Known bug → the issue reports it, the merged pull request fixes it, and the fix is what you want. Search types=["issue","pull_request"], then re-query the issue's own terms scoped to its repo with types=["pull_request"]. A merged PR's passages tell you what changed and in which direction. Before describing it as the user's installed behavior, confirm a release contains it.
  • API contract ("what does X return", "is Y required", "what is the default") → readme and doc are authoritative and a blog post is not. Use types=["readme","doc"]. If the contract looks like it moved, follow up with pull_request for the change that moved it.
  • Version-specific behaviour → an issue's opening report describes the broken version; its resolution supersedes it. Raise passages to see further into the thread, and read the resolution and the linked pull request before answering. Never answer from an opening report alone.
  • Scoped to one library → repos=["owner/name"] when you know the slug, plus sources if you want its docs in the same call. If a scoped search comes back empty, read the echoed indexed flag first: false means nothing from that repo or source can ever match and no rephrasing will help — drop the scope and search the whole index, or go to the web.
  • Ecosystem-wide ("which libraries do X", "who else hit this") → no scope. Use language / topic / min_stars to keep to maintained repositories, accepting that this gives up all doc results.
  • Agent skills and tooling conventions → skills="only" (HTTP/MCP only).
  • Comparison, opinion, news, or an unindexed project → the open web. firecrawl_search, then firecrawl_scrape whatever deserves a full read. Combining is often right: take the contract from the index and the trade-off from the web.

Principles

  • Quote the passage, cite the url. The passages are the evidence; hand them over rather than paraphrasing them into a claim the reader can't check. title is frequently absent on doc results — fall back to url.
  • Distinguish a fix from a release. A merged fix can supersede an earlier issue report about repository code, but it reaches the user's version only once a release contains the merge. Confirm that from the project's release notes, changelog entry or release tag (search for them, or scrape the releases or changelog page when the index lacks them), and cite that evidence.
  • Scope last, not first. Search the whole index, then narrow with types, repos, or sources once you know what the hits look like. Scoping first hides the result that would have told you where to look.
  • Go to the web when the index has nothing to say. Trade-offs, ecosystem opinion, and anything about an unindexed project are web questions. Don't force them through the index, and don't dress a general web page up as a primary source.

See also