skill-developer
- Repo stars 487
- Author repo vibecosystem
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- Fluxly category
- Other
- Author-declared agents
- No explicit declaration found; this is not inferred or tested compatibility
- Static check
- 88 / 100 · heuristic scan, not runtime safety proof
- Author / version / license
- @vibeeval · no license declared
- Fluxly token estimate
- Lean
- Fluxly setup estimate
- Plug-and-play
- External API key
- No requirement detected
- Detected OS requirements
- Unspecified
- Runtime requirements
- Python
- Detected file/system behavior
-
- Read-only
- Write / modify
- Detected network behavior
- Local-only
- Install commands
- None (reference only)
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
The current SKILL.md does not define a fixed output example. To create a new MCP chain script and wrap it as a skill:
Copy the multi-tool-pipeline template: Reference the template pattern:
Edit your new script to chain the MCP tools you need:
Create .claude/skills/my-pipeline/SKILL.md:
# 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
```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)
```
… Author text anchors workflow facts; Fluxly only indexes current sections, terms, files, and commands.
sections -> When to Use → Skill Structure → SKILL.md Format → Instructions → Examples → Creating an MCP Pipeline Skill
terms -> Meta-skill for creating new Claude Code skills, including skills that wrap MCP pipelines.
files/cmd -> .claude/skills/<skill-name>/ · .claude/skills/my-pipeline/SKILL.md · --arg1 · .claude/skills/skill-rules.json
body sha256 -> 60ddbe96ddc2
Decide Fit First
Design Intent
How To Use It
Boundaries And Review