skills.sh: A Cross-Agent Skill Installer for the Open Agent Ecosystem
The open agent skills tool - npx skills. Supports **OpenCode**, **Claude Code**, **Codex**, **Cursor**, and 70 more.
At a glance
- What is it?
- Vercel Labs' skills CLI standardizes how coding agents consume reusable skill files across OpenCode, Claude Code, Codex, Cursor, and dozens of other tools. It resolves sources from GitHub, GitLab, or local paths, then symlinks or copies the right SKILL.md files into each agent's directory.
- Who is it for?
- Adopt skills if you manage skills across multiple coding agents or want a predictable way to share SKILL.md files with a team. Skip it if you only use one agent and that agent's built-in skill manager already covers your needs.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What the skills CLI Actually Solves
The audience is not the casual user of a single agent. It is the developer, team lead, or platform engineer who standardizes tooling across a group. The CLI also suits people who want to experiment with a skill without committing to an installation, because the use command generates a prompt on the fly. That makes it useful for evaluating a skill from an untrusted repo before you let it touch your project directory.
How Source Resolution and Installation Work
Installation itself has two modes. The default is project scope, which writes to ./<agent>/skills/ and is meant to be committed with the repo. The global flag -g writes to ~/<agent>/skills/ for use across all projects. When installing interactively, you choose between symlink and copy. Symlink is recommended because it creates a single canonical copy and links each agent to it, which makes updates trivial. Copy creates independent files for each agent, which is necessary when symlinks are not supported, for example on some Windows setups or in certain sandboxed environments. Non-interactive use is possible with -y and --all, which is the CI-friendly path.
Getting Started: Commands That Matter
Environment variables matter for downloads. Direct download URLs are tried after well-known discovery. They can point to a SKILL.md file or an archive. The default limits are 10 MiB for downloads, 25 MiB for extracted content, and 1000 files per archive. You can override those with SKILLS_DOWNLOAD_MAX_BYTES, SKILLS_EXTRACT_MAX_BYTES, and SKILLS_EXTRACT_MAX_FILES. Those limits exist to stop a malicious or broken source from filling your disk. The README says to raise them only when you trust the source, which is a reasonable posture for a tool that fetches code from arbitrary repos.
Real Limitations and Wrong-Tool Cases
The tool is also the wrong choice if you need fine-grained control over how a skill is transformed for each agent. The CLI copies or symlinks SKILL.md files as-is. It does not appear to do any templating or per-agent rewriting. If two agents expect different frontmatter or slightly different formats, this tool will not bridge that gap. You would need to maintain separate skill files or use a different mechanism. Finally, the 10 MiB download limit is generous for a text file but restrictive for skill bundles that include images or reference material. If your skill set is heavy, you will hit the limit and need to raise it manually, which requires trusting the source more than the default allows.
How It Compares to a Manual or Native Alternative
The closest alternative is doing it yourself with a shell script or a Makefile target. You write a small script that clones a repo, finds the SKILL.md files, and copies them into each agent's directory. That approach gives you total control over the destination paths and any transformations, but you own the maintenance. Every time a new agent joins the team, you update the script. Every time an agent changes its skill directory layout, you fix the script. The skills CLI centralizes that mapping, and it adds the credential handling for private repos, which a naive script usually gets wrong. The trade-off is that the CLI is a dependency, and its behavior is governed by the project's release cadence. The alternative from within an agent is the native skill manager. Claude Code, for example, has its own way to add skills. That works if you never switch agents. The moment you use two, you are back to duplication. The skills CLI is the layer that sits above those native mechanisms, and that is where its value lies.
Maintenance, Upgrades, and License Considerations
The private repository handling is worth a second look. For GitHub sources, the CLI leans on your existing Git credentials, GitHub CLI, or SSH. It does not handle every corporate authentication scheme. If your Git host uses a custom credential helper or a non-standard SSH port, you may need to test whether the CLI picks it up. The README shows SSH URLs for GitLab and generic hosts, so there is flexibility, but the authentication path for non-GitHub hosts is not detailed. That is a verification point before you rely on it for private work.
Editorial conclusion
Adopt skills if you manage skills across multiple coding agents or want a predictable way to share SKILL.md files with a team. Skip it if you only use one agent and that agent's built-in skill manager already covers your needs. Before adopting, verify how your agent's skill directory is structured and whether symlinks work in your environment, especially on Windows or in containerized CI. Confirm that the skill sources you rely on are reachable through the authentication methods skills supports, and test a private repo install with your existing Git credentials. The CLI is young and MIT-licensed, so check the latest release notes for changes to source resolution or agent support.
Community notes