Skip to main content

Skills

Skills are reusable prompt templates attached to your MCP server. They are exposed to AI clients via the MCP prompts primitive — any MCP-compatible client (Claude, Codex, Cursor, Gemini) sees them automatically alongside your tools.

A client calls prompts/list to enumerate the skills on a server, and prompts/get to retrieve a rendered prompt with its {{argument}} placeholders filled in.

Skill schema​

FieldTypeRequiredDescription
namestringyesUnique slug identifier used in prompts/get — e.g. code_review
titlestringnoHuman-readable display name shown in the client
descriptionstringnoShort description of what the skill does
promptstringyesThe prompt template. Use {{argument_name}} placeholders for runtime substitution
argumentsarraynoList of argument definitions (see below)

arguments array​

Each argument maps to a {{placeholder}} in the prompt template.

FieldTypeRequiredDescription
namestringyesArgument name — must match a {{placeholder}} in the prompt
descriptionstringyesDescription shown to the agent in prompts/list
requiredbooleannoWhether the argument must be provided. Defaults to false

Example​

{
"name": "summarize_records",
"title": "Summarize Recent Records",
"description": "Fetch and summarize records matching a topic from the last 7 days",
"prompt": "Use the search_records tool to find records matching '{{topic}}' from the last 7 days. Summarize the key themes in 3 bullet points.",
"arguments": [
{
"name": "topic",
"description": "The topic or keyword to search for",
"required": true
}
]
}

When an agent calls prompts/get with { "name": "summarize_records", "arguments": { "topic": "billing" } }, it receives:

Use the search_records tool to find records matching 'billing' from the last 7 days. Summarize the key themes in 3 bullet points.

Managing skills​

Via the Shredly MCP​

You can add and remove skills directly through the Shredly MCP using natural language:

Add a skill named "summarize_records" to my MCP server with prompt:
"Use search_records to find records matching '{{topic}}' from the last 7 days."

How placeholders work​

Placeholders follow the {{argument_name}} syntax. At runtime, when an agent calls prompts/get with an arguments map, each placeholder is replaced with the corresponding value.

  • Unmatched placeholders (no argument provided) are replaced with an empty string.
  • Placeholders are case-sensitive — {{Topic}} and {{topic}} are different.

Skills vs. system prompts​

Skills live on the server. When you update a skill, every agent that connects gets the updated version automatically — no client configuration required. System prompts, by contrast, must be configured per client and don't travel with the server.

Use skills to encode the best-practice workflows for your MCP — the prompts you'd otherwise put in a README or a Notion doc.