Repository navigation
Conversation
Standalone release binaries ship without skill-data/, so every skills command failed with "Skills directory not found". The CLI now compiles skill-data/ into the binary and serves it when no skills directory is found on disk. AGENT_BROWSER_SKILLS_DIR, package installs, and ~/.agent-browser still take precedence. `skills path` reports that skills are embedded instead of printing a directory. Fixes vercel-labs#1983 Co-authored-by: usesprocket[bot] <306702232+usesprocket[bot]@users.noreply.github.com>
Contributor
|
@Amronos is attempting to deploy a commit to the Vercel Labs Team on Vercel. A member of the Team first needs to authorize it. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The standalone binaries on GitHub Releases (used by mise/aqua and other direct downloads) ship without
skill-data/, so everyskillscommand fails:Today the only fix is to download the source tarball, extract
skill-data/and pointAGENT_BROWSER_SKILLS_DIRor~/.agent-browser/at it, matching the version by hand. Fixes #1983.Changes
skill-data/is compiled into the binary withrust-embed, which the CLI already uses for the dashboard.skills list,skills get(including--full,--refand--all) and the MCP skills tools serve it when no skills directory is found on disk.AGENT_BROWSER_SKILLS_DIR, the package root (npm installs and source checkouts), then~/.agent-browser/skillsand~/.agent-browser/skill-data. The embedded copy replaces the "Skills directory not found" error.skills pathhas no directory to print for embedded skills. It reports that skills are embedded, and--jsonreturns{"location": "embedded"}(with"paths": []when no name is given). This followsagent-desktop skills path, which returns"location": "embedded"for its compiled-in skills.#[allow_missing = true]keeps builds that cannot see../skill-data, such as the crates.io package or the Docker scripts that mount onlycli/, compiling. Those builds embed nothing and behave as they do today.build.rswatches../skill-dataso added skill files trigger a rebuild.skill-data/), roughly 1% of the 17 to 20 MB release binaries.--help, the skills docs page, and the MCP tool descriptions (plus the catalog snapshot) describe the fallback.Tests
test_embedded_skills_match_skill_datachecks that the embedded skills matchdiscover_skillsonskill-data/: names, descriptions, hidden flags, content and supplementary files.standalone_binary_serves_embedded_skills_through_cli_and_mcpcopies the binary into an empty directory with an emptyHOME, then checks thatskills get coreprintsskill-data/core/SKILL.mdbyte for byte, thatskills listandagent_browser_skills_getserve it, and thatskills path core --jsonreportsembedded. CI runs tests with theciprofile, which inheritsrelease, so this exercises the compiled-in copy and not rust-embed's debug-mode disk reads.~/.agent-browserskills keep taking precedence over the embedded copy.Written by Opus 5.5 (opus-5.5) through Sprocket.