Fix skill-scoped installs installing the whole catalog

Merged
ER
2mo ago
+20-14

Bug (user-reported): npx -y firecrawl-cli@latest setup developer-index installed all 33 catalog skills instead of one.

Cause: buildSkillsInstallArgs passes --all whenever no --agent is given — but the skills CLI defines --all as "install all skills to all agents without prompts", which silently overrides the --skill filter. Reproduced with the raw skills CLI: --all --skill firecrawl-developer-index → 33 skills; --yes --skill firecrawl-developer-index → 1 skill.

Scope: worse than the new single-skill command — every skill-scoped install had this: setup core (12→33), setup build (5→33), setup workflows (16→33), and init's selections. It went unnoticed because extra skills fail quietly; 1→33 made it obvious.

Fix: skill-scoped installs never pass --all; they pass --yes instead — same promptless install to every detected agent, with the --skill list respected. Whole-repo installs are unchanged.

Verified: built CLI in a fresh $HOME — setup developer-index installs exactly 1 skill, setup build exactly 5; 431/431 tests pass (expectations updated), tsc + prettier clean.

Needs a patch release to ship — see the follow-up release: 1.23.1 PR (merge that after this).

🤖 Generated with Claude Code


Summary by cubic

Fixes skill-scoped installs that were installing the entire catalog by incorrectly passing --all. Skill-scoped installs now pass --yes, which respects the --skill filter; whole-repo installs are unchanged.

  • Updates buildSkillsInstallArgs: detect skill-scoped via presence of --skill; never pass --all for skill-scoped installs; pass --yes for skill-scoped or when explicitly requested; preserve agent handling.
  • Updates tests to expect --yes instead of --all for skill-scoped paths; verified that setup developer-index installs 1 skill and setup build installs 5.
  • Impact: setup core/build/workflows, setup <skill>, and init selections now install only the intended skills. No migration required. Ship as a patch release (1.23.1) for firecrawl-cli.