xmcp is a TypeScript framework for building applications with the Model Context Protocol, a standard for connecting AI models with tools and external context. Developers use it to create MCP-based integrations.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add basementstudio/xmcp --skill prompt-designgit clone --depth 1 https://github.com/basementstudio/xmcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/basementstudio/xmcp/prompt-design)<a href="https://agentmods.dev/skills/basementstudio/xmcp/prompt-design"><img src="https://agentmods.dev/badge/skills/basementstudio/xmcp/prompt-design.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00022 | $0.00881 |
| Opus 5 | $0.00011 | $0.00441 |
| Sonnet 5 | $0.00004 | $0.00176 |
| Haiku 4.5 | $0.00002 | $0.00088 |
Grade A, and why
prompt-design scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 126 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Create xmcp Prompt
You are helping the user create a new xmcp prompt. Follow this interactive workflow.
Step 1: Gather Information
Before generating any code, ask the user these questions using AskUserQuestion:
-
Prompt name (if not provided): What should the prompt be named? (Use kebab-case)
-
Prompt type: Ask which type of prompt they need:
- Simple - Static prompt text without parameters
- Parameterized - Prompt with user-provided parameters (most common)
- Multi-content - Returns multiple content blocks (text, images, etc.)
-
Parameters (if parameterized): What inputs should the prompt accept?
- Parameter name
- Type (string, number, enum)
- Description
- Whether it's optional
- Any validation or default values
-
Role: What role should the prompt assume?
- user - Prompt from user perspective (most common)
- assistant - Prompt as assistant response template
-
Use case: What is the prompt designed for?
- Code review
- Documentation generation
- Data analysis
- Content creation
- Other specific task
Step 2: Generate the Prompt
Create the prompt file in src/prompts/:
File Location
src/prompts/{prompt-name}.ts
Prompt Structure Reference
Every xmcp prompt has three main exports:
// 1. Schema (optional) - Define parameters with Zod
export const schema = { /* ... */ };
// 2. Metadata (optional) - Prompt configuration
export const metadata: PromptMetadata = { /* ... */ };
// 3. Handler (required) - Default export function
export default function handler(params?) { /* ... */ }
Quick Reference
Essential Imports
import { type PromptMetadata } from "xmcp";
// For parameterized prompts
import { z } from "zod";
import { type InferSchema, type PromptMetadata } from "xmcp";
Metadata Fields
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | No* | Unique prompt identifier |
title |
string | No | Human-readable title |
description |
string | No | What this prompt does |
role |
string | No | "user" or "assistant" (default: user) |
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 126 lines · 22 tokens per session scan A d369dc7bbdd3
prompt-design is a skill published in the GitHub repository basementstudio/xmcp (1,326 stars, last pushed 4d ago), licensed MIT. It adds 22 tokens to every session and 881 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
sovereign-economics-engine
Unified business model evaluator, client filter, pricing engine, and distribution architect. Absorbs 31 business + 8 marketing + 13 content + 2 acquisition protocols.
frontmcp-extensibility
Use when extending FrontMCP beyond the core SDK by integrating external npm packages, libraries, or third-party services into providers and tools. Covers VectoriaDB for in-memory semantic and vector search (ML-based embeddings or TF-IDF keyword engines, with persistence) and the tamper-evident, hash-chained skill…
jupyter-live-kernel
Use a live Jupyter kernel for stateful, iterative Python execution via hamelnb. Load this skill when the task involves exploration, iteration, or inspecting intermediate results — data science, ML experimentation, API exploration, or building up complex code step-by-step. Uses terminal to run CLI commands against a…
llm-evaluation
LLM evaluation and testing patterns including prompt testing, hallucination detection, benchmark creation, and quality metrics. Use when testing LLM applications, validating prompt quality, implementing systematic evaluation, or measuring LLM performance.
rag-implementation
Comprehensive guide to implementing RAG systems including vector database selection, chunking strategies, embedding models, and retrieval optimization. Use when building RAG systems, implementing semantic search, optimizing retrieval quality, or debugging RAG performance issues.
huggingface-transformers
Hugging Face Transformers best practices including model loading, tokenization, fine-tuning workflows, and inference optimization. Use when working with transformer models, fine-tuning LLMs, implementing NLP tasks, or optimizing transformer inference.