--- name: skill-developer description: Meta-skill for creating and managing Claude Code skills allowed-tools: [Bash, Read, Write, Edit] --- # 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//`: ``` .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 ```