Skip to main content
Glama
agentskills-mcp

agentskills-mcp

by janacibron

List Skills

list_skills

Returns a catalog of registered skills with IDs, names, versions, descriptions, and tags so agents can identify the right skill before fetching its full instructions.

Instructions

Return the catalog of all registered skills. Use this first when you don't know which skill applies to the user's request. Each entry includes skill_id, name, version, description, and tags — enough to decide whether to call get_skill_body next.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_skills"
  }
}

Input Schema

NameRequiredDescriptionDefault
tagNoIf provided, only return skills with this tag.
include_deprecatedNoIf true, include skills marked as deprecated.

Output Schema

NameRequiredDescriptionDefault
totalYeslen(skills); redundant but convenient
skillsYes
server_versionYesMCP server version, for compatibility

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.1

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full burden. It discloses the shape of each returned entry (skill_id, name, version, description, tags) and implies a read-only catalog lookup, but never explicitly states that it has no side effects, requires no special permissions, or how large the catalog can get.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, each earning its place: purpose first, then when to use it, then what it returns and what to do next. Nothing is repeated from the schema and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the brief return-field summary is a bonus rather than a necessity, and the description covers purpose, entry condition, and follow-up tool. The one gap is sibling differentiation from search_skills, which matters given nine similarly named tools in this family.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the tag filter and include_deprecated flag are already fully documented in the input schema. The description adds no syntax or behavioral detail about filtering beyond that baseline, which is acceptable given the schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Return the catalog of all registered skills.' The scope ('all registered') implicitly contrasts with the sibling search_skills, but it never names that sibling, so an agent must infer the distinction rather than read it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear entry condition — 'Use this first when you don't know which skill applies to the user's request' — and an explicit next step, calling get_skill_body. It stops short of naming search_skills as the alternative for when the agent does know what it wants, leaving that routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.