skills add --all means "ALL skills to all agents" and silently overrides
any --skill filter, so every scoped install (setup core/build/workflows,
setup <skill>, and init's selections) was installing all 33 catalog
skills. Scoped installs now pass --yes instead of --all: same promptless
install to every detected agent, but the --skill list is respected.
Verified: setup developer-index installs 1 skill, setup build installs 5.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
package-lock.json was accidentally committed in #206 (an npm install
artifact — this repo is pnpm-managed). bun prefers it over pnpm-lock.yaml
in release-binaries, and its migration fails under --frozen-lockfile.
Remove it and gitignore it.
setup.ts was formatted by prettier 3.9.6 from that same npm node_modules;
CI pins 3.7.4 via pnpm-lock.yaml. Reformatted with 3.7.4.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
After any setup skill install, check for an API key (env var or stored
credentials). Authenticated users see nothing. Otherwise: --browser runs
the browser login directly, an interactive terminal offers it (default
yes), and non-interactive runs print a one-line hint — never a prompt,
so agents, scripts, and CI are unaffected. The bundle flow defers the
offer until every step has run so it never asks twice.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
firecrawl setup developer-index # firecrawl- prefix optional
firecrawl setup firecrawl-scrape
Group subcommands keep precedence, so `setup build` means the group and
`setup firecrawl-build` reaches the skill.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
One short command per skill family:
firecrawl setup core # primitives + index skills ("skills" stays as alias)
firecrawl setup build # app-integration skills (previously not installable via setup)
firecrawl setup workflows # unchanged
The build family had no install path since init dropped it; BUILD_SKILLS
mirrors the five build skills in the catalog. All groups install from the
catalog by name, so skills.sh counters stay consolidated.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The catalog directory is being renamed from skills/cli/ to skills/core/ —
the family covers the Firecrawl primitives via CLI or MCP, not just the
CLI. Install selection is name-based, so slugs are unaffected.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Review fixes for #203:
- setup's no-npx fallback called installSkillsNative(repo) without the
name filter, installing the entire catalog (build skills included)
instead of the selection every other install path uses
- drop the nonexistent --skills-only CLI flag from the developer-index
skill (skills="only" stays HTTP/MCP-only per cli-argv contract)
- note that the workflow retry hint reinstalls all workflow skills, not
the picked subset
- fix 'sturctural' typo in the research-index skill
They teach the firecrawl research and firecrawl developer CLI commands,
so this repo is their code home. Authored here, mirrored to the catalog
under skills/cli/, and included in the default init/setup CLI set.
The init retry hints point at setup skills/workflows, but those still
installed from the legacy repo list (including build skills init no
longer installs). Share the catalog selections between init and setup
so a retry reinstalls exactly what init attempted. Harden the sync
workflow: least-privilege token, SHA-pinned checkout.
Route all init skill installs through the firecrawl/skills catalog with
name-based --skill selection so install volume accrues to catalog
counters. Interactive init now offers a multi-select of the 16 workflow
skills; build skills are no longer installed (they target SDK
integration, not CLI users, and remain one command away). Promote
npx skills add firecrawl/skills and the contributor routing rule in the
README.
* Add developer-index and research-index as session skills.
They belong with the CLI, not the build skills repo. Developer hits use the live id prefix for kind; search-papers hits are paperId, primaryId, ids, title, abstract, and score.
* Align index session skills with the live wire and shorter trigger descriptions.
* Match developer and research index skills to the prod scrape/map shape.
Quick start, --help instead of option tables, and a Done when line, while keeping the live id-prefix and paperId response shapes.
- Replace cached CLI option tables with 'firecrawl <cmd> --help' pointers,
keeping only options the recipes actually use (all verified against src/)
- Delete 'When to use' sections that restated frontmatter descriptions
- Split firecrawl-monitor: lean recipe in SKILL.md, goal/query authoring in
goals.md, JSON change tracking in json-tracking.md, each behind a one-line
'read when' pointer
- Rewrite never/don't phrasing as positive instructions; keep genuine
opt-out and data guardrails
- Add exactly one 'Done when' completion criterion per skill
skills/**/*.md drops from 1045 to 837 lines (SKILL.md files: 1045 -> 723).
- Router SKILL.md 329 -> 141 lines: pure routing; monitor details,
install/auth, and search-feedback specifics now live only in their
sub-skills, with routing pointers left behind.
- Moved two unique monitor facts into firecrawl-monitor (markdown-only
diff.json parse-diff AST note; goal bullet about user-named noise).
- Resolved keyless contradiction: keyless free tier is real for
search/scrape/interact (src/utils/client.ts isKeylessMode; scrape and
search absent from AUTH_REQUIRED_COMMANDS in src/index.ts). Single
correct statement kept in rules/install.md, including which commands
prompt interactive login.
The developer-search wire carries no type field; the kind is encoded in
the id prefix (doc:, issue:, pull_request:, readme:). The old item.type
read matched nothing and the kind label silently never rendered.
Developer search passages are now shaped server-side (search#843 policy):
the CLI trusts passage_budget_applied responses and keeps a legacy local
cut only for older servers. Removes the short-lived --passage-budget flag
before it ever shipped in a release.
interact sends --code literally to the API with no client-side
prefixing, and the server-side bash environment requires invoking
agent-browser explicitly (per maintainer review). The earlier fix
correctly removed the nonexistent --language flag but wrongly dropped
the prefix, over-generalizing from browser execute's auto-prefix
logic, which never runs for interact.
The collapsed example only sent --missing-content, so substituting
--rating good violated the valuable-sources requirement and the
--silent call swallowed the HTTP 400, silently losing the refund.
Show both --valuable-sources and --missing-content so any rating
substitution satisfies the substantive-content rule.
A live --rating good default anchors copy-paste agents toward
reporting good and skews the feedback signal. Show a
<good|partial|bad> placeholder that cannot run until the agent
chooses, keep the rating-neutral --missing-content field as the
worked example, and let the rules list govern per-rating required
fields. Applied to both mirrored snippets.
Replace the three parallel rating examples (latterly commented
alternates) with a single guarded good-rating call. The rules list
above already defines per-rating field requirements and the
--missing-content section documents payload shapes, so the extra
examples duplicated both. Follows the default-with-escape-hatch
pattern and matches the mirrored firecrawl skill snippet.
All three rating calls were live sequential commands inside the guard,
so a literal copy-paste submitted three conflicting ratings for one
search id. Keep the good-rating call live and show partial/bad as
commented alternates, matching the "send exactly one" prose.
Update the .claude-plugin skill paths missed by the folder rename, and
move the three search-feedback examples inside the guard conditional so
copying any of them cannot bypass the zero-result check.
The installer copies each skill to ~/.agents/skills/<frontmatter-name>/,
and the router skill is named "firecrawl", so ../firecrawl-cli/SKILL.md
links 404ed after install. Rename the folder to skills/firecrawl/ so the
folder and frontmatter agree and cross-skill links resolve both in-repo
and installed.