Firecrawl Developer Index
FirecrawlOfficialPublished by Firecrawl
- Skill
- Tool integration
- Software development
- ISC
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The Firecrawl Developer Index provides a specialized search interface for technical information regarding libraries, frameworks, SDKs, and CLI tools. It allows agents to retrieve authoritative data from documentation, issue trackers, and pull requests, helping to resolve version-specific questions, identify bug fixes, and clarify API contracts. By prioritizing primary sources like repository issues and official docs over general web results, it ensures answers are grounded in the actual state of the software.
What it does
- Searches documentation, release notes, and public repository issues for specific libraries and tools.
- Retrieves matched passages from technical sources to provide evidence-based answers.
- Supports filtering by content type, such as issues, pull requests, or documentation.
- Allows scoping searches to specific repositories or documentation sources.
- Provides a mechanism to verify if a bug is fixed and in which release version.
- Integrates with Firecrawl's scraping capabilities for deeper analysis of specific URLs.
When to use it
- When a user asks about a specific library, framework, or API version.
- When troubleshooting an error message or stack trace from a known tool.
- When verifying if a reported bug has been addressed in a recent release.
- When needing to clarify API defaults, requirements, or migration steps.
- When official documentation is insufficient and repository-level context is required.
Advantages
- Provides direct access to primary sources like merged pull requests and issue discussions.
- Reduces reliance on outdated model training data for rapidly changing software.
- Returns specific, relevant passages rather than just page links.
- Enables precise filtering to narrow down technical information quickly.
- Helps distinguish between reported bugs and verified, released fixes.
Usage examples
- “How do I handle the 'ConnectionTimeout' error in the latest version of the library?”
- The agent searches the developer index for the error string and library name, identifying relevant issue reports or documentation updates to provide a solution.
- “Has the bug regarding the authentication header in v2.1 been fixed?”
- The agent queries the repository issues and pull requests for the library to find the fix, then checks release notes to confirm if it is included in a stable version.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/firecrawl/firecrawl-developer-index/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip firecrawl-developer-index.zip -d .agents/skills
Documentation by Firecrawl
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/developerMCP:firecrawl_developer_search(query, k?, skills?)CLI:firecrawl developer <query> [--limit <n>]Ranked results over the whole index. Each carriesid(issue:owner/repo#123),url, and the matched passages in markdown, so tables and code blocks survive. The artifact kind is theidprefix:doc:,issue:,pull_request:, orreadme:. 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/--limitis 1–100 and defaults to 10.skills="only"(HTTP/MCP only) restricts the search to agent-skill files. Keyless; sendAuthorization: Bearer $FIRECRAWL_API_KEYfor higher rate limits.MCP:
firecrawl_search(query, categories: ["developer"])CLI:firecrawl search <query> --categories developerDeveloper hits in adevelopergroup besideweb, each withurl,title,description(the matched passage),position, andcategory: "developer"— web results carry nocategory, 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 —scrapethe result'surl.
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 ofdoc,issue,pull_request,readmeto search. Defaults to all four. Narrowing here is the cheapest way to sharpen a query.repos(owner/name) scopes the repository half, meaningissue,pull_request, andreadme;sources(documentation source ids, at most 20) scopes the documentation half, meaningdoc. Passing both unions the halves rather than intersecting them. Both echo back in the response withindexed: true|false— that is how you tell "not in the index" from "found nothing".A filter that cannot match any requested
typeis a400, not an empty list:reposwith no repository type intypes, orsourceswithoutdoc.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,forkdescribe 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 asourcesscope 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 withsourcesand read thesourcesecho 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
docor areadme; raisepassagesbefore raisingk.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 withtypes=["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") →
readmeanddocare authoritative and a blog post is not. Usetypes=["readme","doc"]. If the contract looks like it moved, follow up withpull_requestfor the change that moved it.Version-specific behaviour → an issue's opening report describes the broken version; its resolution supersedes it. Raise
passagesto 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, plussourcesif you want its docs in the same call. If a scoped search comes back empty, read the echoedindexedflag first:falsemeans 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_starsto keep to maintained repositories, accepting that this gives up alldocresults.Agent skills and tooling conventions →
skills="only"(HTTP/MCP only).Comparison, opinion, news, or an unindexed project → the open web.
firecrawl_search, thenfirecrawl_scrapewhatever 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.titleis frequently absent ondocresults — fall back tourl.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, orsourcesonce 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
firecrawl-build-search — building the developer index into an app instead of querying it here
Files
- ATTRIBUTION.mdAdded by AutoGineer878 B
- LICENSELicence file added by AutoGineer735 B
- SKILL.md8.7 KiB
- references/official-documentation.md2.3 KiB
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs an API key
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Firecrawl
- Publisher
- Firecrawl (Official)
- Source
- firecrawl/skills · skills/core/firecrawl-developer-index · commit 458d9d0
- Licence
- ISC License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Firecrawl.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download firecrawl-developer-index.zip