skillmd
Server Details
Search, fetch, lint, and install Agent Skills (SKILL.md) from the SkillMD registry.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- skillmds/skillmd
- GitHub Stars
- 1
- Server Listing
- skillmds
TDQS
Scored across 5 tools
Each tool targets a distinct workflow: search and trending discover skills, recommend provides context-based suggestions, get returns metadata and body, download retrieves full files. There is mild overlap between get and download since both expose the SKILL.md body, but the descriptions clearly separate inspection from file retrieval.
All tools share the skillmd_ prefix and lowercase snake_case style, giving the set a cohesive feel. Most names use clear actions (download, get, recommend, search), though trend is a noun rather than a verb, making it a slight deviation from the otherwise action-oriented pattern.
Five tools is well-scoped for a skill registry server covering discovery, recommendation, metadata lookup, and full content download. Each tool earns its place and the set is neither bloated nor too thin.
The consumer-facing workflow is well covered: an agent can search, see trends, get skill details, and download full contents ready to use. Publishing or managing registry entries is not covered, but that appears to be outside the stated purpose of reading public skills.
Available Tools
5 toolsskillmd_downloadDownload skill filesARead-onlyIdempotentInspect
Return the full contents of any public skill by owner/name slug: the SKILL.md text plus every companion file for packs, ready to write to disk. Skills are plain-text instructions an agent reads on demand; nothing executes, and every listed skill has passed SkillMD's safety review.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Skill identifier as owner/name, e.g. anthropic/pdf |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | Yes | owner/name of the skill |
| files | Yes | Every file in the skill, SKILL.md first |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive. The description adds extra context that skills are 'plain-text instructions' and 'nothing executes', plus every listed skill has passed safety review, which goes beyond the annotations to explain the safe nature and content type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the primary purpose, and uses two clear sentences. No redundant or vague terminology, and every sentence contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter and the presence of an output schema, the description is complete: it explains what is returned (full contents and companion files), the format (plain-text), the safety aspect, and the intended use (ready to write to disk). No critical usage context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides a description and example for the slug parameter (100% coverage). The tool description merely repeats 'owner/name slug' without adding new parameter-specific semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action (return full contents), the resource (public skill by owner/name slug), and differentiates from siblings by emphasizing 'full contents' and 'every companion file for packs', which implies a complete download rather than a single item retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for downloading full skill packs (e.g., 'ready to write to disk') but does not explicitly contrast with alternatives like skillmd_get or provide when-to-use/when-not-to-use guidance. The context is implicit, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skillmd_getGet skill detailsARead-onlyIdempotentInspect
Fetch one skill by owner/name slug: description, SKILL.md body, provenance (source repo and pinned commit), license, safety verdict and capability flags, plus companion file listing for packs.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Skill identifier as owner/name, e.g. anthropic/pdf |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | Yes | owner/name identifier, e.g. anthropic/pdf |
| tags | No | |
| type | No | single SKILL.md or a multi-file pack |
| files | No | Companion files for packs |
| title | Yes | Human-readable skill title |
| raw_md | No | Verbatim SKILL.md including frontmatter when stored |
| body_md | No | Markdown body of SKILL.md |
| license | No | SPDX license id when declared |
| category | No | Category name |
| verified | No | Published by a verified publisher |
| categories | No | |
| commit_sha | No | Pinned upstream commit |
| owner_name | No | Publisher display name |
| repo_stars | No | GitHub stars of the source repository |
| description | Yes | What the skill does and when an agent should use it |
| source_repo | No | Upstream repository |
| owner_handle | No | Publisher handle |
| security_flags | No | Capability flags: docs_only, network_calls, executes_scripts, reads_secrets, untrusted_install |
| install_snippet | No | One-line install command |
| ai_audit_verdict | No | Safety review verdict: pass, caution, warning, fail or inconclusive |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation read-only, idempotent, and non-destructive. The description adds useful behavioral detail by listing exactly what data is returned, including provenance, license, safety verdict, capability flags, and companion files. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the action and then efficiently lists the returned fields. Every phrase contributes useful information and there is no redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter, a rich output schema, and safety annotations, the description covers all necessary context: what it fetches, how it is identified, and what the result includes. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and already documents the slug as an owner/name identifier with an example. The description's 'owner/name slug' phrasing repeats this meaning without adding new format or validation information, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Fetch'), a specific resource ('one skill by owner/name slug'), and enumerates the returned content, distinguishing it clearly from sibling tools like skillmd_search or skillmd_download. The scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Fetch one skill by owner/name slug' clearly implies this tool is for retrieving a known skill by its identifier, while the sibling names suggest alternatives for searching, recommendation, and trending. It does not explicitly state when not to use it, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skillmd_recommendRecommend skillsARead-onlyIdempotentInspect
Recommend skills. With based_on set to a skill's owner/name slug, returns the top skills in that skill's category (excluding itself); without it, returns what is trending over the last 30 days.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results (default 10) | |
| based_on | No | Skill slug (owner/name) to base recommendations on |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | Matching skills, best first |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds meaningful behavioral context: based_on restricts results to the skill's category, excludes the skill itself, and the no-argument fallback returns trending over the last 30 days. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences carry all essential information with no filler. The primary action is front-loaded, and the conditional modes are described compactly in one sentence each.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two optional parameters, an output schema present, and annotations covering safety, the description is complete. It explains both parameter modes and the default behavior, so an agent has enough context to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds real semantic value beyond the schema by explaining what based_on means in practice (category-based recommendations, excluding itself, falling back to trending). Limit is not described in the description, but the schema fully documents its constraints and default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Recommend skills') and precisely defines two modes of behavior: category-based recommendations when based_on is present, and 30-day trending when it is absent. This clearly distinguishes it from sibling tools like skillmd_get, skillmd_search, and skillmd_trending by describing the selection criteria and behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit conditional usage: set based_on for skill-category recommendations, omit it for trending results. It does not explicitly name alternatives or state when not to use this tool, but the conditional logic provides clear guidance for the two supported modes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skillmd_searchSearch skillsARead-onlyIdempotentInspect
Search the SkillMD registry of Agent Skills (SKILL.md files) by task, name or keywords. Returns matching skills with their owner/name slug, description, category, safety verdict and install snippet, best match first.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Restrict to single-file skills or multi-file packs | |
| limit | No | Maximum number of results (default 20) | |
| query | Yes | Natural-language query or keywords describing the task or skill | |
| category | No | Restrict to one category slug, e.g. coding, devops, data, security | |
| min_rating | No | Minimum average rating, 0 to 5 | |
| verified_only | No | Return only skills from verified publishers (default false) |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | Matching skills, best first |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this as safe, read-only, and idempotent. The description adds useful behavioral context such as 'best match first' and the specific returned fields, but does not disclose deeper operational behavior like result count limits, empty-result handling, or ranking caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one tight sentence that front-loads the action and resource, clearly states search dimensions, and lists the useful return fields. There is no filler or redundant repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema, output schema, and safety annotations, the description is largely sufficient for an agent to call the tool correctly. The main gap is the lack of explicit guidance on how this search tool relates to sibling tools such as recommend and trending.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented. The description adds little param-specific semantics beyond confirming that the query can be a natural-language task, name, or keyword, which aligns with the query parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Search'), a specific resource ('SkillMD registry of Agent Skills'), and the search dimensions (task, name, keywords). It clearly conveys what the tool does, though it does not explicitly contrast with sibling tools like skillmd_get or skillmd_recommend.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that this tool should be used when an agent needs to find matching skills in the registry, and it mentions the returned result fields. However, it does not explicitly state when to prefer this over siblings or when not to use it, leaving usage guidance mostly implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skillmd_trendingTrending skillsARead-onlyIdempotentInspect
Top skills on the SkillMD leaderboard, ranked by installs, saves and ratings, optionally within one category and time window.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results (default 20) | |
| range | No | Ranking window: last 30 days or all time (default all) | |
| category | No | Restrict to one category slug, e.g. coding, devops, data, security |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | Matching skills, best first |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds useful behavioral context about ranking criteria and optional filtering, but does not disclose details like pagination behavior or data freshness. This is acceptable given the strong annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core purpose and then adds optional filtering context. Every phrase earns its place with no redundant or vague wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, low-complexity tool with three optional parameters, a complete output schema, and strong annotations, the description provides sufficient context. It explains the ranking criteria and optional filters, leaving no critical gap for an agent to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description reinforces the category and time-window concepts and adds the ranking basis, but it does not add meaningful parameter-level detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific resource ('SkillMD leaderboard') and a precise ranking basis ('installs, saves and ratings'). It also conveys optional filtering by category and time window, which distinguishes it from generic search or get operations among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when an agent needs top skills from the leaderboard with optional filters. However, it does not explicitly state when not to use it or mention alternative sibling tools like skillmd_search or skillmd_recommend, leaving some routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
skillmd_download - First observed
skillmd_get - First observed
skillmd_recommend - First observed
skillmd_search - First observed
skillmd_trending
Related MCP Connectors
Search your team's shared AI-skill library, get install commands, and save skills from your agent.
Find, inspect and install reviewed reusable AI-agent capabilities from superskill.sh.
Search and discover Agent Skills from the skills.sh registry. Powered by HAPI MCP server.
The governed runtime for agent skills. Search the catalog and inspect a skill before running it.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to discover, install, and manage SKILL.md skills from a Git-backed registry via MCP tools for search, install, and list operations.4 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables agents to install compatible SKILL.md skills from Git repositories or local directories into a persistent registry, then discover them through search, progressive loading, and asset reads. It exposes only user-selected hot skills as individual activation tools, keeping execution and trust decisions under explicit operator control.MIT
- AlicenseAqualityBmaintenanceEnables AI agents to autonomously search, evaluate, and install skills from the skills.sh catalog.417 npmISC
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients to search skills.sh, view leaderboards, inspect skill details, retrieve third-party security audits, and browse official curated skills, with install commands for each result.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.