Intro in this page language first. The official description stays in its original wording; we do not rewrite SKILL.md.
What it does
Meta-skill for creating and managing Claude Code skills
When to use it
- "Create a skill for X"
How agents load it
Per Agent Skills progressive disclosure: name and description load at startup (~100 tokens); the full SKILL.md body loads when the skill activates; scripts/, references/, and assets/ load only as needed. This file's sections: Skill Developer; When to Use; Skill Structure; SKILL.md Format; Skill Name; When to Use. It includes spec-recommended sections: step-by-step instructions, input/output examples.
File analysis
File analysis: besides SKILL.md, the body references scripts/multi_tool_pipeline.py, scripts/my_pipeline.py. Those resources load on demand.
Skill DeveloperWhen to UseSkill StructureSKILL.md FormatSkill NameWhen to UseInstructionsExamplesCreating an MCP Pipeline SkillStep 1: Use the TemplateStep 2: Customize the ScriptStep 2: Create the Skill
Choose the target agent and installation scope, keep referenced package files, then verify the skill appears in the client's catalog.
This skill references supporting files. Retrieve the complete directory from the source; copying SKILL.md alone may leave missing dependencies.
Ask your Agent to install
Copy these instructions to a compatible agent and confirm the target directory matches your client.
Install the agent skill "skill-developer" into my project. The full SKILL.md and official description are at https://zicq.com/en/skills/skl-ba7867d3d44b37ff-Skill-Developer.html
Save it as .cursor/skills/skill-developer/SKILL.md or .claude/skills/skill-developer/SKILL.md and keep the frontmatter name and description exactly as-is.
This skill also ships scripts/, references/, or assets/ — fetch the whole folder from https://github.com/parcadei/continuous-claude-v3 instead of creating only a SKILL.md.
The CLI lets you choose the agent interactively. The default scope is the project; use -g for user scope. Confirm package availability with the discovery command, then use npx skills list to inspect installed skills.
Readable layout
---
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
```