Skip to content
FunCoding

skillmd

Listed in the official MCP Registry

Search, fetch, lint, and install Agent Skills (SKILL.md) from the SkillMD registry.

Star
133
Version
v1.2.0
License
MIT
Last commit
Oct 9, 2026

SkillMD — the open registry of Agent Skills

SkillMD

The registry that lints.
Search, install, lint and publish Agent Skills (SKILL.md) for Claude Code, Cursor, Codex and 60+ other agents.
This repo is the open-source toolchain behind skillmd.com: the CLI, the MCP server, the GitHub Action and the SKILL.md engine they share.

skillmds on npm @skillmds/core on npm npm downloads CI MIT license

Browse skills · Categories · Publishers · Install guides · Docs · Blog · Stats


What this is

An Agent Skill is a folder with a SKILL.md file: YAML frontmatter (name, description) plus Markdown instructions an agent loads on demand. Claude Code, Cursor, Codex, Gemini CLI, GitHub Copilot, Windsurf and dozens of other agents read the same format, which is what makes a shared registry worth having. If the format is new to you, start with What is an Agent Skill? and the anatomy of a SKILL.md file.

skillmd.com is the open registry of those skills: 1,000,000+ skills from 30,000+ publishers, every one of them linted against the format, security-scanned for what it can do, and pinned to a commit. Verdicts, capability flags and independent scanner results sit on every skill page. Installing writes files and does nothing else.

This repository is everything that runs on your machine or in your CI, MIT-licensed:

PackageWhat it isInstall
skillmdsOne npm package, two binaries: the skillmd CLI and the skillmds MCP servernpm i -g skillmds
@skillmds/coreThe SKILL.md engine: parser, lint rules, security scanner, quality score, SARIF / JSON / GitHub formattersnpm i @skillmds/core
skillmds/skillmd/actionGitHub Action: lint every skill in a repo, results in GitHub Code Scanninguses: skillmds/skillmd/action@v1

The registry applies the same engine, so a skill that passes locally passes on publish.

Quick start

# Search the registry and install a skill into every agent on your machine
npx skillmds search "pdf"
npx skillmds add anthropic/pdf

# Lint your own skill before you share it
npx skillmds lint ./my-skill

Plugins

A plugin is a bundle of skills that installs as one unit. In Claude Code it becomes a real plugin — /plugin lists it, and enable, disable and uninstall work on the whole set — and on every other agent the skills are installed individually.

npx skillmds add plugin:skillmd/design

To browse them inside Claude Code's Plugins tab instead, add this repository as a marketplace: skillmds/skillmd. It carries the flagship plugins as real directories under plugins/, listed in .claude-plugin/marketplace.json and refreshed weekly. The tab only understands plugins that live in git, which is why the whole registry is not in there — every other plugin installs with the command above.

No account needed for any of the above. Skills land in each detected agent's own directory (.claude/skills/, .cursor/skills/, .agents/skills/, …). Per-agent walkthroughs: Claude Code · Cursor · Codex · Gemini CLI · GitHub Copilot · Windsurf · all agents.

The CLI: skillmd

npm i -g skillmds
CommandWhat it does
skillmd lint [path]Validate SKILL.md files. Diagnostics, a 0–100 quality score, --fix for the mechanical ones.
skillmd scan [path]What would this skill do? Reports scripts, network calls and secret access.
skillmd rules [id]List the lint rules, or explain one.
skillmd init [name]Scaffold a new skill from a template.
skillmd search <query>Search the registry from the terminal.
skillmd add <source>Install from a registry slug, a GitHub repo or a local path. Lints first, never executes scripts.
skillmd list / remove / updateManage installed skills across agents.
skillmd publish [path]Publish to skillmd.com. Blocked on lint errors.
skillmd lint . --format sarif > skillmd.sarif   # GitHub Code Scanning
skillmd lint . --strict                          # warnings fail too
skillmd add owner/repo -a claude-code -g         # one agent, global scope
skillmd add some/skill --deny executes_scripts   # refuse skills that run code

skillmd add detects 68 agents by their config directories: Claude Code, Cursor, Codex, Windsurf, OpenCode, Gemini CLI, Antigravity, Kiro, Warp, GitHub Copilot, Cline, Roo Code, Goose, Trae, Qwen Code, Amp, Zed, Continue, Devin, OpenHands, Replit and more. Agents that share the .agents/skills convention are written once. Running plain skillmd opens a guided menu.

Full reference: docs/cli.md · CLI docs on skillmd.com · How one SKILL.md works in every agent

The MCP server: skillmds

Give any MCP-capable agent the whole registry. It can search, inspect, lint and install skills mid-conversation.

# Claude Code
claude mcp add skillmd -- npx -y skillmds
// Claude Desktop, Cursor, VS Code, Windsurf, … (examples/mcp/ has per-client files)
{ "mcpServers": { "skillmd": { "command": "npx", "args": ["-y", "skillmds"] } } }

Or use the hosted remote server, zero install, streamable HTTP:

https://api.skillmd.com/mcp
ToolWhat the agent gets
skillmd_searchRegistry search with categories, ratings and install snippets
skillmd_getFull skill detail: body, provenance, license, security flags
skillmd_installSafe install: validated, SHA-256-verified, zip-slip-guarded, never executes scripts
skillmd_trending / skillmd_recommendLeaderboard and similar-skill suggestions
skillmd_list_savedYour saved skills (with SKILLMD_TOKEN)
skillmd_lintValidate any SKILL.md content on the spot

Full reference: docs/mcp.md · MCP docs on skillmd.com · Using SkillMD over MCP · MCP registry entry: com.skillmd/skillmd

The engine: @skillmds/core

npm i @skillmds/core
import { lint } from "@skillmds/core";

const { ok, score, diagnostics, security } = lint(rawSkillMd, { slug: "my-skill" });

Nine lint rules, a line-aware security scanner, a 0–100 quality score and SARIF / JSON / GitHub-annotation formatters. ESM, typed, no runtime dependency beyond yaml, runs in Node, browsers and edge runtimes.

The scanner classifies every skill into capability flags you can filter or deny on install:

FlagMeaning
docs_onlyNothing executable found. Pure instructions.
network_callsFetches, curls or otherwise talks to the network.
executes_scriptsRuns commands or bundled scripts.
reads_secretsTouches env vars, tokens or credential files.
untrusted_installFetch-and-execute from a non-standard source.

Rules and scoring: docs/rules.md · Debugging skills: lint, scan, score · Common SKILL.md mistakes

CI for your skills

- uses: skillmds/skillmd/action@v1
  with:
    path: .

Lints every skill in the repo and uploads SARIF to GitHub Code Scanning, so findings show up in pull requests. Full example: examples/github-action.yml · action/README.md

Publishing a skill

skillmd login                   # token from your skillmd.com account
skillmd publish ./my-skill      # blocked on lint errors
skillmd publish ./my-skill --dry-run

Published skills get a page at skillmd.com/skills/<you>/<name>, a safety verdict, an install command for every agent, and a live README badge:

[![SkillMD](https://skillmd.com/badge/<you>/<name>.svg)](https://skillmd.com/skills/<you>/<name>)

Guides: Publishing a skill to the registry · Writing skills that get used · What a verified badge means · Skill packs

The registry API

Everything here is a thin client over the public API at api.skillmd.com (GET /v1/search?q=…, GET /v1/skills/<owner>/<name>, …). Described by docs/registry-api.md, skillmd.com/openapi.json and, for AI systems, skillmd.com/llms.txt. Every skill page also has a Markdown twin at …/<name>.md.

What's in the registry

Browse by category: Coding & Dev Tools · AI & ML · DevOps & Infra · Integrations & APIs · Security · Data & Analytics · Web & Frontend · Productivity · Docs & Writing · Design & Media

Or by publisher, official skills from verified publishers, the leaderboard, or what's new. Live counts: skillmd.com/stats.

Security model

Installing a skill writes files and does nothing else. No script execution, strict path containment (slug validation plus zip-slip guards), SHA-256 integrity verification against the registry's content-addressed store, and companion files pinned to GitHub raw hosts. Publishing runs the same lint and scan the CLI does, and every listed skill shows its verdict, capability flags and independent scanner results.

Details in SECURITY.md. Report vulnerabilities to [email protected].

Learn more

Development

npm ci
npm run build      # @skillmds/core, then skillmds
npm test           # vitest across both packages, incl. an MCP stdio smoke test
npm run typecheck  # strict tsc

See CONTRIBUTING.md for layout, PR guidelines and the release process, and CODE_OF_CONDUCT.md.

License

MIT © SkillMD · skillmd.com · [email protected]

Similar MCP servers

Keploy

End-to-end API testing — generate and run tests from OpenAPI, curl, Postman, or real user traffic.

KEkeploy/keploy19k36 new stars in the last 7 days

mobile-mcp

MCP server for iOS and Android Mobile Development, Automation and Testing

MOmobile-next/mobile-mcp9k329 new stars in the last 7 days

agent-device

MCP server for mobile app automation: verify, control, and debug iOS, Android, TV, and desktop apps

CAcallstack/agent-device5k84 new stars in the last 7 days

linkedin-mcp-server

Open-source MCP server for LinkedIn. Give Claude and any MCP-compatible AI agent access to profiles, companies, jobs, and messages.

STstickerdaniel/linkedin-mcp-server3.8k75 new stars in the last 7 days

ripwire

The ripgrep of AI context: a zero-dependency C++23 CLI + MCP server for coding agents. Find what you want without reading the repo, then check you built what you meant — blast radius, tests-to-run, quality deltas. Signatures at 74.7% fewer bytes than bodies; every guess labelled, every loss published. Paddle out with a map.

REredhat-et/ripwire2.4k33 new stars in the last 7 days

mcphub.nvim

An MCP client for Neovim that seamlessly integrates MCP servers into your editing workflow with an intuitive interface for managing, testing, and using MCP servers with your favorite chat plugins.

RAravitemer/mcphub.nvim1.8k2 new stars in the last 7 days