The Problem

AI coding agents (Claude Code, Codex, Cursor, OpenCode) each have their own conventions for where and how skills/instructions are stored. Sharing skills across agents and teams means manually copying files into each agent's config directory, which breaks on updates and doesn't scale across a team. This repo is a CLI that standardizes skill installation across 39+ agents.

What This Does

skills is a TypeScript CLI (entry point: src/cli.ts) that installs agent skills from GitHub, GitLab, or any git URL into the correct location for a given agent. It supports project-scoped installs (.//<agent>/skills/) and global installs (~/<agent>/skills/), with symlink or copy installation methods.

The core logic lives in src/add.ts, src/installer.ts, and src/skills.ts. Provider resolution handles GitHub shorthand (owner/repo), full URLs, and direct paths to specific skills within a repo (src/providers/). The -s/--skill flag filters which skills to install, and -a/--agent targets specific agents. A lockfile (src/skill-lock.ts) tracks installed versions for updates.

How To Use It

Setup: No build step required. The package is published to npm and invoked via npx.

Configuration: No environment variables or config files required. All behavior is flag-driven.

Running it:

Install all skills from a repo

npx skills add vercel-labs/agent-skills

Install specific skills to specific agents, non-interactively npx skills add vercel-labs/agent-skills --skill frontend-design -a claude-code -a opencode -y

List available skills without installing

npx skills add vercel-labs/agent-skills --list

Global install to all agents

npx skills add vercel-labs/agent-skills --all -g

Real-World Use

A team standardizes on a shared skills repo. Each developer runs npx skills add team/skills --all -g once. The CLI symlinks skills from a canonical copy into each agent's global skills directory. When the team updates the skills repo, a re-run refreshes the symlinks. CI can install project-scoped skills non-interactively with -y so every contributor gets the same agent configuration from the repo itself.

Code Health & Issues

Med - Provider abstraction is thin: src/providers/ has separate files for GitHub, GitLab, HuggingFace, and Mintlify, but the registry logic in src/providers/registry.ts may not handle all URL edge cases (e.g., subdirectories, monorepos) gracefully. The tests/full-depth-discovery.test.ts suggests this is a known concern. Low - Telemetry: src/telemetry.ts exists but there's no evidence of an opt-out flag or privacy policy in the README. Worth confirming what data is collected. Low - Test coverage gaps: 21 test files cover core paths, but src/telemetry.ts and src/git.ts have no direct test files. Error handling in git operations is untested. Clean signals: CI is configured (.github/workflows/ci.yml), a license exists (ThirdPartyNoticeText.txt), and the codebase is well-structured TypeScript with a build config (build.config.mjs).

The Bottom Line

A focused, well-executed CLI that solves a real friction point for teams standardizing agent skills. The multi-agent support and non-interactive flags make it practical for CI and team onboarding. Worth adopting if you use multiple AI coding agents and want a single source of truth for skills. For solo users with one agent, the manual copy approach is simpler.