"description": "Clear description of plugin purpose",
"version": "1.0.0",
"author": {
"name": "Your Name",
"email": "you@example.com"
},
"keywords": [
"keyword1",
"keyword2"
]
}
EOF
```
**Required fields:**
-`name` - Lowercase, kebab-case identifier
-`description` - Clear, concise purpose
-`version` - Semantic versioning (1.0.0)
-`author.name` - Creator name
**Optional fields:**
-`author.email` - Contact email
-`author.url` - Website or profile
-`repository` - Git repository info
-`license` - License identifier
-`keywords` - Search/discovery terms
### 3. Add Skills to Plugin
```bash
# Create skill directory
mkdir my-plugin/skills/my-skill
# Create SKILL.md with frontmatter
cat > my-plugin/skills/my-skill/SKILL.md << 'EOF'
---
name: Skill Name
description: [Specific description]
---
# Skill content
EOF
```
### 4. Create Plugin README
```bash
cat > my-plugin/README.md << 'EOF'
# My Plugin
Brief description.
## What's Included
List of skills/features
## Installation
```bash
/plugin install my-plugin@claude-skills
```
## Usage
Examples of how to use
[More sections...]
EOF
```
### 5. Update Marketplace Manifest
```bash
# Edit .claude-plugin/marketplace.json
vim .claude-plugin/marketplace.json
```
Add your plugin:
```json
{
"plugins": [
{
"name": "my-plugin",
"source": "./my-plugin",
"description": "Brief plugin description"
}
]
}
```
### 6. Test Plugin Installation
```bash
# Test local installation
/plugin install /path/to/Skills/my-plugin@local
# Verify skills load
# Try triggering scenarios
```
## Skill Creation Guidelines
### Required: SKILL.md Structure
```yaml
---
name: Skill Name (max 64 chars)
description: Specific description with triggers (max 1024 chars)
---
# Skill Name
## When to Use This Skill
Use this skill when:
- [Primary scenario]
- [Secondary scenario]
Do NOT use this skill for:
- [Confusion case]
## Quick Start
[Minimal example]
## Core Workflows
[Step-by-step guides]
## Examples
[Concrete examples]
```
### Writing Effective Descriptions
**Template:**
```
[Action] [domain/task] [with/for] [capabilities].
Use when [trigger scenario].
[Optional: PROACTIVELY/MUST BE USED if needed]
```
**Good Examples:**
```yaml
# Specific, clear triggers
description: Create and structure Claude Code plugins with commands, agents, skills, hooks, and MCP servers. Use when building plugins for Claude Code, setting up plugin structure, or configuring plugin manifests.
# Domain-specific
description: Optimize and troubleshoot Claude Code memory files (CLAUDE.md) for efficiency, token management, and team collaboration. Use when memory isn't loading, context is bloated, or organizing memory hierarchy.
```
**Bad Examples:**
```yaml
# Too vague
description: Helps with development
# No triggers
description: Python tools and utilities
```
### Progressive Disclosure
**Layer 1: Metadata (100 tokens)**
- Skill name and description in frontmatter
- Triggers skill selection
**Layer 2: SKILL.md (2000-5000 tokens)**
- Core workflows and common examples
- Loaded when skill activates
**Layer 3: Additional Files (on-demand)**
- Detailed docs in separate .md files
- Scripts, templates, references
- Loaded only when needed
### Content Best Practices
**DO:**
- Be specific, not vague
- Use bullet points, not paragraphs
- Include concrete, working examples
- Provide step-by-step workflows
- Add troubleshooting sections
- Test trigger scenarios
**DON'T:**
- Include sensitive data (API keys, credentials)
- Use generic advice ("write good code")
- Create novel-length content
- Duplicate information
- Skip testing
## Quality Checklist
Before submitting:
### Metadata
- [ ] Name ≤ 64 characters
- [ ] Description ≤ 1024 characters
- [ ] Description includes specific triggers
- [ ] YAML frontmatter is valid
### Content
- [ ] "When to Use This Skill" section present
- [ ] At least one concrete example
- [ ] Examples are runnable/testable
- [ ] File references are accurate
- [ ] No sensitive data hardcoded
### Testing
- [ ] Skill triggers on target scenarios
- [ ] Doesn't trigger on unrelated scenarios
- [ ] Examples work as documented
- [ ] No conflicts with existing skills
### Documentation
- [ ] Plugin README updated
- [ ] Marketplace manifest updated (if new plugin)
- [ ] Clear installation instructions
- [ ] Usage examples provided
## Testing Your Contribution
See [TESTING.md](./TESTING.md) for:
- Trigger accuracy testing
- Content quality validation
- Token efficiency measurement
- Team collaboration testing
Quick test:
```bash
# 1. Install locally
/plugin install /path/to/your-plugin@local
# 2. Test trigger scenarios
# Ask questions that should trigger the skill
# 3. Test exclusion scenarios
# Ask questions that should NOT trigger
# 4. Verify quality
# Review Claude's responses for accuracy
```
## Submission Process
### For Small Changes (Skills to Existing Plugins)
description: Configure and troubleshoot Model Context Protocol servers for Claude Code. Use when setting up MCP servers, debugging connections, or integrating external tools.