Claude Code Plugins

Community-maintained marketplace

Feedback
1.5k
0

Meta-skill for creating and managing Claude Code skills

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

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/<skill-name>/:

.claude/skills/my-skill/
├── SKILL.md          # Required: Main skill definition
├── scripts/          # Optional: Supporting scripts
└── templates/        # Optional: Templates, examples

SKILL.md Format

---
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:

cp $CLAUDE_PROJECT_DIR/scripts/multi_tool_pipeline.py $CLAUDE_PROJECT_DIR/scripts/my_pipeline.py

Reference the template pattern:

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:

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:

---
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:

{
  "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:

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:

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