Skill Developer
Meta-skill for creating new Claude Code skills, including skills that wrap MCP pipelines.
When to Use
- •"Create a skill for X"
- •"Help me make a new skill"
- •"Turn this script into a skill"
- •"How do I create a skill?"
Skill Structure
Skills live in .claude/skills/<skill-name>/:
code
.claude/skills/my-skill/ ├── SKILL.md # Required: Main skill definition ├── scripts/ # Optional: Supporting scripts └── templates/ # Optional: Templates, examples
SKILL.md Format
yaml
--- name: skill-name description: Brief description (shown in skill list) allowed-tools: [Bash, Read, Write] # Optional: restrict tools --- # Skill Name ## When to Use [When Claude should discover this skill] ## Instructions [Step-by-step instructions for Claude to follow] ## Examples [Usage examples]
Creating an MCP Pipeline Skill
To create a new MCP chain script and wrap it as a skill:
Step 1: Use the Template
Copy the multi-tool-pipeline template:
bash
cp $CLAUDE_PROJECT_DIR/scripts/multi_tool_pipeline.py $CLAUDE_PROJECT_DIR/scripts/my_pipeline.py
Reference the template pattern:
bash
cat $CLAUDE_PROJECT_DIR/.claude/skills/multi-tool-pipeline/SKILL.md cat $CLAUDE_PROJECT_DIR/scripts/multi_tool_pipeline.py
Step 2: Customize the Script
Edit your new script to chain the MCP tools you need:
python
async def main():
from runtime.mcp_client import call_mcp_tool
args = parse_args()
# Chain your MCP tools (serverName__toolName)
result1 = await call_mcp_tool("server1__tool1", {"param": args.arg1})
result2 = await call_mcp_tool("server2__tool2", {"input": result1})
print(result2)
Step 2: Create the Skill
Create .claude/skills/my-pipeline/SKILL.md:
markdown
--- name: my-pipeline description: What the pipeline does allowed-tools: [Bash, Read] --- # My Pipeline Skill ## When to Use - [Trigger conditions] ## Instructions Run the pipeline: \`\`\`bash uv run python -m runtime.harness scripts/my_pipeline.py --arg1 "value" \`\`\` ### Parameters - `--arg1`: Description ## MCP Servers Required - server1: For tool1 - server2: For tool2
Step 3: Add Triggers (Optional)
Add to .claude/skills/skill-rules.json:
json
{
"skills": {
"my-pipeline": {
"type": "domain",
"enforcement": "suggest",
"priority": "medium",
"description": "What it does",
"promptTriggers": {
"keywords": ["keyword1", "keyword2"],
"intentPatterns": ["(pattern).*?(match)"]
}
}
}
}
Reference Files
For full details, read:
bash
cat $CLAUDE_PROJECT_DIR/.claude/rules/skill-development.md cat $CLAUDE_PROJECT_DIR/.claude/rules/mcp-scripts.md
Quick Checklist
- • SKILL.md has frontmatter (name, description)
- • "When to Use" section is clear
- • Instructions are copy-paste ready
- • MCP servers documented if needed
- • Triggers added to skill-rules.json (optional)
Examples in This Repo
Look at existing skills for patterns:
bash
ls $CLAUDE_PROJECT_DIR/.claude/skills/ cat $CLAUDE_PROJECT_DIR/.claude/skills/commit/SKILL.md cat $CLAUDE_PROJECT_DIR/.claude/skills/firecrawl-scrape/SKILL.md