The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Skillsmith listing page.
Shared skills, safe for production.
Once more than one team is publishing agent skills, the problem stops being finding them and starts being managing them. Which team is this scoped to? Which version is installed where? Has it been flagged by a security scan? What happens to the ones nobody maintains anymore?
Skillsmith is a registry for sharing, scanning, and tracking agent skills across teams. Skills are published to a registry scoped to your team and versioned immutably, so drift across installs is visible instead of silent. Flagged or suspicious skills are quarantined pending security review. Skills that go stale can be deprecated instead of quietly rotting in someone's repo.
Skillsmith is MCP-compatible — pick the snippet for your agent.
SMI-4580: snippets sourced from packages/cli/src/templates/mcp-server.template.snippets.ts so this README and the website docs cannot drift.
~/.claude/settings.jsonRestart Claude Code after editing settings.json.
~/.cursor/mcp.jsonCursor 2.4+ required, Node >=22.22 (Cursor's own bundled Node meets this). SKILLSMITH_CLIENT routes installs to ~/.cursor/skills instead of the default ~/.claude/skills.
Setup: run npm install -g @skillsmith/mcp-server, then run which skillsmith-mcp (macOS/Linux) or where skillsmith-mcp (Windows) and paste that path into command above — Cursor's bundled Node cannot resolve packages via npx (a real ENOENT on a missing Resources/app/resources/lib directory), so pointing directly at the installed binary is the only form confirmed to work inside Cursor. Prefer to try npx first anyway? Replace command with "npx" and add "args": ["-y", "@skillsmith/mcp-server"] — simpler, but may hit the same ENOENT, plus EBADENGINE or ENOTEMPTY on repeated installs. After saving: enable the server in Cursor's Settings → MCP panel and start a new chat — a correctly-configured entry still shows disconnected until toggled on there — then reload the window.
.vscode/mcp.json (workspace)VS Code 1.108+ required. Workspace-scoped (commit to repo if team-shared, or use user settings.json instead).
~/.codeium/windsurf/mcp_config.jsonSupports ${env:VAR} interpolation; export SKILLSMITH_API_KEY in your shell instead of inlining the secret.
~/.codex/config.toml (TOML, not JSON)Codex reads ~/.agents/skills. When installing via CLI, pass --client agents.
~/.agents/mcp.jsonRead by any agent honouring the cross-agent skill convention.
After adding to your MCP client settings and restarting, you can search for skills immediately.
For higher rate limits and usage tracking, authenticate with your API key.
Easiest — CLI login (interactive):
This opens skillsmith.app/account/cli-token in your browser. Generate a key, copy it, and paste it when prompted. The key is stored securely in your OS keyring.
MCP server config — add the key to your settings:
The per-client snippets above already include the env.SKILLSMITH_API_KEY slot — replace the sk_live_... placeholder with the value from skillsmith login.
Get your API key at skillsmith.app/account/cli-token.
| Tier | Rate Limit | Cost |
|---|---|---|
| Trial | 10 total | Free |
| Community | 30/min | Free |
| Individual | 60/min | $9.99/mo |
| Team | 120/min | $25/user/mo |
| Enterprise | 300/min | Custom |
Note: Never paste API keys in chat. Configure via settings.json only.
The CLI is available for local development:
Once more than one team is publishing skills, these are the questions that matter:
skill_diff and skill_outdated report drift for what's installed on the machine you run them from.skill_diff and skill_outdated show what's installed and where it has fallen behind, at the point you check.Skills are scoped to your team's registry. Team owners and admins control who can publish and manage skills; members install and search.
Search, install, and manage skills for yourself, free. When your team needs the same skill, the registry is already there.
| Tool | Description |
|---|---|
search | Search skills with filters (query, category, trust tier, min score) |
get_skill | Get detailed skill information including install command |
install_skill | Install a skill to your local environment |
uninstall_skill | Remove an installed skill |
recommend | Get contextual skill recommendations |
validate | Validate a skill's structure and quality |
compare | Compare multiple skills side-by-side |
Local-first by design. Skillsmith caches the registry in a local SQLite database at ~/.skillsmith/skills.db, shared across the MCP server, the CLI, and the VS Code extension. Search is FTS5 (SQLite's built-in keyword search) by default; semantic search is opt-in (SKILLSMITH_USE_HNSW=true) and runs over local ONNX embeddings (an open ML model format that runs on CPU — no API call). Inside the Local Skill Database walks through the schema, the FTS5 / HNSW search paths, and how sync (a Team+ tier feature) keeps the cache fresh.
Skillsmith uses the Model Context Protocol (MCP):
Once configured, your MCP client can use Skillsmith tools:
Internal documentation is in a private submodule at docs/internal/. Access requires repository membership. Run git submodule update --init after cloning.
Skillsmith uses Docker-first development. All commands run inside Docker to ensure consistent native module support across all platforms.
All npm commands should be run inside the Docker container:
| Command | Docker Command |
|---|---|
| Build | docker exec skillsmith-dev-1 npm run build |
| Test | docker exec skillsmith-dev-1 npm test |
| Lint | docker exec skillsmith-dev-1 npm run lint |
| Typecheck | docker exec skillsmith-dev-1 npm run typecheck |
| Audit | docker exec skillsmith-dev-1 npm run audit:standards |
When you pull changes that modify package.json or package-lock.json:
ERR_DLOPEN_FAILED)Native modules like better-sqlite3 and onnxruntime-node may need rebuilding:
If you see errors about ld-linux-aarch64.so.1 or similar, ensure you're running inside Docker (not locally):
Skillsmith uses native Node.js modules (better-sqlite3, onnxruntime-node) that require glibc. Docker provides a consistent Debian-based environment with glibc, avoiding compatibility issues on systems using musl libc (like Alpine Linux).
For the full technical decision, see ADR-002: Docker with glibc for Native Module Compatibility.
See CLAUDE.md for full development workflow and skill configuration.
Skillsmith is source-available under the Elastic License 2.0.
You CAN:
You CANNOT:
For the full license text, see the LICENSE file.
Smith Horn Group Ltd
Skillsmith is not affiliated with Anthropic. Claude and Claude Code are trademarks of Anthropic.