Skip to main content
Glama

Read skill

skill_get
Read-onlyIdempotent

Read a skill: its SKILL.md instructions by default, or any file by path. Name it with skill: its id, the page URL of a skill shared by link, or its name (add team for a team skill; without team, a name means your operator's personal skill). Returns the skill, its file manifest (filesComplete is false when the list was cut short; those files are still readable by path) and one chunk of the file as utf8 text or base64 bytes, with the whole file's sha256. While file.nextOffset is not null, continue with skill set to skill.id, the same path, version set to skill.version and offset set to file.nextOffset, so every chunk comes from the same skill and version.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNoA path from the manifest (default SKILL.md).
teamNoThe team (slug or id) whose skill it is. Without it, a name means one of your personal skills.
skillYesThe skill: its id, its page URL (a skill shared by link), or its name (with team for a team skill).
offsetNoWhere the chunk starts: the previous chunk's file.nextOffset (needs version).
versionNoA version number (default: the current one).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
fileYes
filesYes
skillYes
filesCompleteYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare the safe read-only profile, yet the description adds substantial context: the file manifest is returned, filesComplete=false means the listing was truncated but those files remain readable by path, the response is one chunk as utf8 or base64 with the whole file's sha256, and the version-pinning recipe prevents mixing chunks across versions. That is exactly the kind of behaviour an agent cannot infer from structured fields.

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

Conciseness4/5

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

Front-loads the core purpose in sentence one, then the identifier rules, then the return shape, then the pagination recipe — a sensible priority order. The final sentence is long and dense with repeated 'set to' clauses, which costs a little readability, but every sentence carries functional information.

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

Completeness5/5

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

For a 5-parameter read tool with an output schema, the description covers identifier resolution, default path, truncation caveat, encoding, integrity hash, and the pagination loop. Nothing an agent needs to call it correctly and continue a paged read is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description goes beyond per-parameter text by describing the cross-parameter contract: continuing requires skill.id with the same path, skill.version, and file.nextOffset together. It also restates the name/team resolution that the schema splits across two fields, adding a coherent joint semantic.

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

Purpose5/5

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

Opens with a specific verb+resource pair ('Read a skill') and immediately scopes it ('its SKILL.md instructions by default, or any file by path'), which cleanly separates it from skill_list and skill_publish in the sibling set. The default-vs-override behaviour is stated in the first sentence rather than left to the schema.

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?

Explains the accepted identifier forms (id, page URL, name plus optional team) and the personal-vs-team resolution rule, plus exact continuation conditions while file.nextOffset is non-null. It does not explicitly name skill_list as the alternative when the agent only wants an inventory, so it stops short of full when/when-not routing.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.