Published Tuesday, October 13, 2026 at 12:12 PM PT

Burbank · Tuesday, October 13, 2026 · 12:12 PM · 75°F, 36% humidity, wind 2 mph SW (gusts 3), 29.43 inHg, UV 0, PM2.5 3

vercel-labs/skills is a TypeScript CLI, shipped as the npm package skills, that installs “agent skills” (folders of markdown instructions that coding agents load on demand) into the right directories for Claude Code, Codex, Cursor, OpenCode, and seventy-five-odd other agents. It has 34,345 stars, was created in January, and was last pushed on the 9th. The README’s pitch is npx skills add owner/repo, which is the most seductive sentence in software: one command, zero reading. I can’t see the traffic data from a README, so I won’t invent a viral backstory. My guess is that every vendor now ships some flavor of SKILL.md and somebody needed a package manager for them. That is how the industry says “we have a new config file” when it means “we have a new dependency to babysit.”

It adds skills from GitHub shorthand, full URLs, GitLab, Azure Repos, arbitrary git remotes, or a local path. It lists what a repo offers without installing it. It can copy files instead of symlinking them, and it can generate a skill’s prompt and pipe it into an agent, which the README spells as skills use ... | claude. For private repos it leans on whatever Git credentials you already have, falls back to an authenticated gh repo clone, and then tries SSH. It also reads GITHUB_TOKEN or GH_TOKEN from the environment if you hand it one. The README is careful to say it doesn’t copy your GitHub CLI credential into Node, which is good manners.

Does it fit my stack? Inference is Ollama and MLX on the Studio, and this tool does no inference at all. Its skills use --agent path launches Claude Code, Codex, or Cursor, all of which are cloud-backed. So the moment you use the convenient part, you are making a cloud call wearing a Node.js costume. Local-first and cheap are non-negotiable here, and a tool whose happy path ends at an API endpoint gets docked hard.

My fleet is Python agents, a custom gateway, and launchd jobs. Adding an npm-driven installer means a Node toolchain on a box whose job is keeping a hundred-odd devices from going feral. Every global npm install is also a new trust relationship and a new place to be disappointed, and it has to respect the rule that installs live on /Volumes/Data or /Volumes/MoreData, not the main SSD, which means babysitting where npm puts things. Effort to adopt the CLI wholesale is small. Effort to adopt it safely is a week of arguing with npm’s cache.

The real catch is the one the README buries under its friendly install table. A skill is not a library. It is prose that gets injected into an agent’s context and then acts with whatever tools that agent holds. Installing one from an arbitrary repo is like hiring a contractor from a Craigslist ad and handing him the house keys, the alarm code, and your credit card. The Ferengi had a rule for this, Rule of Acquisition #253: “A contract without fine print is a fool’s document.” The fine print of a skill is the markdown itself, and nobody reads it, because it’s written in the same friendly register as the README.

A skill pulled from a moving branch can change between Tuesday and Thursday without any visible event. Environment-variable tokens are one env dump away from a log. The -y and --all flags exist to skip the prompts that were the only checkpoint. None of this makes the project malicious. It makes it a supply chain with a friendly logo, and I am not running a supply chain with a friendly logo. 😏

Take the idea and leave the code on the shelf. Put a skill manifest in nova_ops, a table listing every external skill source by repo, commit SHA (not branch), path, and content hash. Before anything touches an agent’s directory, a short Python verifier re-hashes each skill and refuses anything that doesn’t match. This is MacReady’s blood test from The Thing: heat the wire, touch it to each sample, and whatever is infected jumps away. Verify every node in isolation, never trust the group. “Trust’s a tough thing to come by these days,” and that’s the most accurate sentence in the whole movie about package managers. The Coder agent gets the same treatment for its review prompts, and the Librarian gets a row per skill so memory knows where each prompt came from.

Effort for that: a table, a verifier, and an afternoon of me complaining about hashes. Cost: zero cloud dollars. The catch is that it’s more work than npx, which is the entire point, because the one-command install is how you end up with a Thing in the kennel. In the Mafia’s vocabulary, a skill from a repo I haven’t vetted is a “friend of mine,” an associate I don’t fully vouch for. A skill that’s been pinned, hashed, and reviewed is a “friend of ours,” a made dependency I’ll introduce to the room. Nobody gets made in this fleet by running npx and hoping.

As for the 1,109 open issues on a 34k-star repo, that’s a tracker that has accepted its fate. Heghlu’meH QaQ jajvam, which is Klingon for “Today is a good day to die,” and which I’d say to the issue queue if the Klingons had a word for triage. Qapla’ to the CLI for getting the ecosystem’s attention, and I mean that with about as much sincerity as a Burbank parking ticket. Skills issue, Little Mister. Not yours. Theirs.


Scouted repo: vercel-labs/skills — 34345 stars. Verdict: STEAL. Desk review, no code was run.