Skillz

Use Claude-style skills in any MCP agent. An MCP server that turns skills into callable tools for Codex, Copilot, Cursor, and other agents.

Skillz is an MCP server that turns Claude-style skills (SKILL.md plus optional resources) into callable tools for any MCP client. It discovers each skill, exposes the authored instructions and resources, and can run bundled helper scripts.


Skillz: Use Skills in Any Agent

πŸ‘Œ Use skills in any agent (Codex, Copilot, Cursor, etc…)

PyPI versionPyPI downloadsLicense: MIT


⚠️ Experimental proof‑of‑concept. Potentially unsafe. Treat skills like untrusted code and run in sandboxes/containers. Use at your own risk.

Skillz is an MCP server that turns Claude-style skills (SKILL.md plus optional resources) into callable tools for any MCP client. It discovers each skill, exposes the authored instructions and resources, and can run bundled helper scripts.

πŸ’‘ You can find skills to install at the Skills Supermarket directory.

Quick Start

To run the MCP server in your agent, use the following config (or equivalent):

{
  "skillz": {
    "command": "uvx",
    "args": ["skillz@latest"]
  }
}

with the skills residing at ~/.skillz

or

{
  "skillz": {
    "command": "uvx",
    "args": ["skillz@latest", "/path/to/skills/direcotry"]
  }
}

or Docker

You can run Skillz using Docker for isolation. The image is available on Docker Hub at intellectronica/skillz.

To run the Skillz MCP server with your skills directory mounted using Docker, configure your agent as follows:

Replace /path/to/skills with the path to your actual skills directory. Any arguments after intellectronica/skillz in the array are passed directly to the Skillz CLI.

{
  "skillz": {
    "command": "docker",
    "args": ["run", "-i", "--rm", "-v", "/path/to/skills:/skillz", "intellectronica/skillz", "/skillz"]
  }
}

Usage

Skillz looks for skills inside the root directory you provide (defaults to ~/.skillz). Each skill lives in its own folder or zip archive (.zip or .skill) that includes a SKILL.md file with YAML front matter describing the skill. Any other files in the skill become downloadable resources for your agent (scripts, datasets, examples, etc.).

An example directory might look like this:

~/.skillz/
β”œβ”€β”€ summarize-docs/
β”‚   β”œβ”€β”€ SKILL.md
β”‚   β”œβ”€β”€ summarize.py
β”‚   └── prompts/example.txt
β”œβ”€β”€ translate.zip
β”œβ”€β”€ analyzer.skill
└── web-search/
    └── SKILL.md

When packaging skills as zip archives (.zip or .skill), include the SKILL.md either at the root of the archive or inside a single top-level directory:

translate.zip
β”œβ”€β”€ SKILL.md
└── helpers/
    └── translate.js
data-cleaner.zip
└── data-cleaner/
    β”œβ”€β”€ SKILL.md
    └── clean.py

Directory Structure: Skillz vs Claude Code

Skillz supports a more flexible skills directory than Claude Code. In addition to a flat layout, you can organize skills in nested subdirectories and include skills packaged as .zip or .skill files (as shown in the examples above).

Claude Code, on the other hand, expects a flat skills directory: every immediate subdirectory is a single skill. Nested directories are not discovered, and .zip or .skill files are not supported.

If you want your skills directory to be compatible with Claude Code (for example, so you can symlink one skills directory between the two tools), you must use the flat layout.

Claude Code–compatible layout:

skills/
β”œβ”€β”€ hello-world/
β”‚   β”œβ”€β”€ SKILL.md
β”‚   └── run.sh
└── summarize-text/
    β”œβ”€β”€ SKILL.md
    └── run.py

Skillz-only layout examples (not compatible with Claude Code):

skills/
β”œβ”€β”€ text-tools/
β”‚   └── summarize-text/
β”‚       β”œβ”€β”€ SKILL.md
β”‚       └── run.py
β”œβ”€β”€ image-processing.zip
└── data-analyzer.skill

You can use skillz --list-skills (optionally pointing at another skills root) to verify which skills the server will expose before connecting it to your agent.

CLI Reference

skillz [skills_root] [options]

Flag / OptionDescription
positional skills_rootOptional skills directory (defaults to ~/.skillz).
--transport {stdio,http,sse}Choose the FastMCP transport (default stdio).
--host HOSTBind address for HTTP/SSE transports.
--port PORTPort for HTTP/SSE transports.
--path PATHURL path when using the HTTP transport.
--list-skillsList discovered skills and exit.
--verboseEmit debug logging to the console.
--logMirror verbose logs to /tmp/skillz.log.

Made with 🫢 by @intellectronica

Applying AI-assited development in large scale projects and teams? Let's make it a success.

Get in Touch