mcpbeat

Skill Developer

parcadei/skill-developer

Meta-skill for creating and managing Claude Code skills

845 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
3880
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/parcadei/Continuous-Claude-v3 --skill skill-developer

The instruction itself

12 sections, as written by the author

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

How to use it

Copy the folder

Take parcadei/skill-developer from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.