This tutorial shows how to use Skrills as an MCP server with Claude Code CLI and other AI coding assistants.
Skrills runs as an MCP (Model Context Protocol) server, providing 36 tools for skill management and research:
- Sync Tools: Bidirectional sync between Claude, Codex, Copilot, and Cursor
- Validation Tools: Validate skills for CLI compatibility
- Intelligence Tools: Smart recommendations, project analysis, skill creation
- Trace Tools: Skill loading instrumentation and debugging
- Research Tools: Academic paper search, knowledge graphs, citations, TRIZ
Installing as a plugin gives you direct access to MCP tools as callable functions (e.g., mcp__plugin_skrills_skrills__validate-skills).
Step 1: Add skrills as a marketplace
# From GitHub
claude plugin marketplace add athola/skrills
# Or from local clone
claude plugin marketplace add /path/to/skrillsStep 2: Install the plugin
claude plugin install skrills@skrills-marketplaceStep 3: Restart Claude Code to load the new MCP server.
After installation, tools appear as mcp__plugin_skrills_skrills__<tool-name>.
Add to ~/.claude/settings.local.json:
{
"mcpServers": {
"skrills": {
"command": "skrills",
"args": ["serve"]
}
}
}Add to .mcp.json in your project root:
{
"mcpServers": {
"skrills": {
"type": "stdio",
"command": "skrills",
"args": ["serve"]
}
}
}Add to ~/.codex/mcp.json:
{
"mcpServers": {
"skrills": {
"command": "skrills",
"args": ["serve"]
}
}
}When installed as a plugin, tools are directly callable functions:
# Tools appear as mcp__plugin_skrills_skrills__<tool-name>
mcp__plugin_skrills_skrills__validate-skills
mcp__plugin_skrills_skrills__sync-all
mcp__plugin_skrills_skrills__skill-metrics
This provides the same experience as Notion, Sentry, and other plugin MCP servers.
The most reliable way to use skrills functionality is via CLI commands. Each MCP tool has a corresponding CLI command:
| MCP Tool | CLI Command | Example |
|---|---|---|
search-skills-fuzzy |
N/A (MCP only) | Use Method 1 or 3 |
validate-skills |
skrills validate |
skrills validate --target all |
analyze-skills |
skrills analyze |
skrills analyze --min-tokens 500 |
skill-metrics |
skrills metrics |
skrills metrics |
recommend-skills-smart |
skrills recommend-skills-smart |
skrills recommend-skills-smart |
suggest-new-skills |
skrills suggest-new-skills |
skrills suggest-new-skills |
sync-all |
skrills sync-all |
skrills sync-all --to codex |
create-skill |
skrills create-skill |
skrills create-skill myskill --description "..." |
Example: Validate skills for all CLIs
skrills validate --target all --autofixExample: Get skill metrics
skrills metrics --format jsonExample: Sync to Copilot
skrills sync-all --to copilot --dry-runWhen working in Claude Code, ask the model to use skrills tools with natural language:
# In an interactive Claude Code session:
"Use the skrills MCP server to search for skills related to testing"
"Ask skrills to recommend skills for this project"
"Use skrills to validate my skills for Codex compatibility"
Skills are exposed as MCP resources. Use the built-in tools to access them:
# List skrills resources
Use ListMcpResourcesTool with server="skrills"
# Read a specific skill
Use ReadMcpResourceTool with server="skrills" and uri="skill://skrills/claude/my-skill"
Run skrills serve --list-tools to see all available tools.
All tools accept both kebab-case (search-papers) and snake_case
(search_papers) names for cross-client compatibility.
| Tool | Description |
|---|---|
sync-from-claude |
Copy skills from ~/.claude to ~/.codex |
sync-from-copilot |
Sync from GitHub Copilot CLI |
sync-from-cursor |
Sync from Cursor IDE |
sync-to-copilot |
Sync to GitHub Copilot CLI |
sync-to-cursor |
Sync to Cursor IDE |
sync-skills |
Sync SKILL.md files between agents |
sync-commands |
Sync slash commands |
sync-mcp-servers |
Sync MCP server configurations |
sync-preferences |
Sync preferences |
sync-all |
Sync everything |
sync-status |
Preview sync changes (dry run) |
| Tool | Description |
|---|---|
validate-skills |
Validate for Claude/Codex/Copilot/Cursor compatibility |
analyze-skills |
Analyze token usage and optimization |
search-skills-fuzzy |
Typo-tolerant skill search |
| Tool | Description |
|---|---|
recommend-skills |
Dependency-based recommendations |
recommend-skills-smart |
AI-powered recommendations |
analyze-project-context |
Analyze project languages/frameworks |
suggest-new-skills |
Identify gaps in skill library |
create-skill |
Create skill via GitHub/LLM |
search-skills-github |
Search GitHub for skills |
| Tool | Description |
|---|---|
skill-loading-status |
Check skill roots and instrumentation |
enable-skill-trace |
Install trace/probe skills |
disable-skill-trace |
Remove trace skills |
skill-loading-selftest |
Confirm skills are loading |
| Tool | Description |
|---|---|
search-papers |
Search arXiv, Semantic Scholar, and OpenAlex |
search-discussions |
Search Hacker News via Algolia |
resolve-doi |
Resolve DOI metadata via CrossRef + Unpaywall |
fetch-pdf |
Download and cache a paper's PDF |
query-knowledge-graph |
Query nodes, edges, and stats |
add-knowledge-node |
Add a node (topic, paper, implementation, discussion) |
link-knowledge |
Create a typed edge between two nodes |
track-citations |
Track, query forward/backward citations |
resolve-contradiction |
TRIZ contradiction matrix lookup |
| Tool | Description |
|---|---|
resolve-dependencies |
Get transitive dependencies/dependents |
skill-metrics |
Aggregate skill statistics |
get-context-stats |
MCP gateway context statistics |
# Verify skrills is in PATH
which skrills
# List available MCP tools
skrills serve --list-tools
# Run diagnostics
skrills doctorUse /mcp to see connected servers. You should see:
Reconnected to skrills.
-
Check PATH: Ensure
skrillsis in your PATHwhich skrills
-
Verify configuration: Check your MCP settings
cat ~/.claude/settings.local.json | jq '.mcpServers.skrills' # or for project-level: cat .mcp.json | jq '.mcpServers.skrills'
-
Run diagnostics:
skrills doctor
-
Restart Claude Code to reload MCP configuration
If MCP tools don't respond:
-
Use CLI instead: Most MCP tools have CLI equivalents
skrills validate --target codex skrills metrics
-
Check server logs: Enable debug mode
RUST_LOG=debug skrills serve
-
Test server directly: Verify tools are advertised
skrills serve --list-tools
- CLI is most reliable: Use
skrills <command>for guaranteed functionality - Natural language works: Ask Claude to "use skrills to..." for MCP access
- Check connection: Use
/mcpin Claude Code to verify connection - JSON output: Add
--format jsonto CLI commands for machine parsing - Dry run first: Use
--dry-runbefore sync operations
- Skrills installed and in PATH
- Claude Code CLI (for Claude integration)
- Codex CLI (for Codex integration, optional)
- GitHub Copilot CLI (for Copilot integration, optional)
