208 lines
5.0 KiB
Markdown
208 lines
5.0 KiB
Markdown
---
|
|
name: plugin-creator
|
|
description: |
|
|
Automatically creates new Claude Code plugins with proper structure, validation, and marketplace integration when user mentions creating a plugin, new plugin, or plugin from template. Specific to claude-code-plugins repository workflow.
|
|
allowed-tools: Write, Read, Grep, Bash
|
|
version: 1.0.0
|
|
---
|
|
|
|
# Plugin Creator
|
|
|
|
## Purpose
|
|
Automatically scaffolds new Claude Code plugins with complete directory structure, required files, proper formatting, and marketplace catalog integration - specifically optimized for the claude-code-plugins repository.
|
|
|
|
## Trigger Keywords
|
|
- "create plugin" or "new plugin"
|
|
- "plugin from template"
|
|
- "scaffold plugin"
|
|
- "generate plugin"
|
|
- "add new plugin to marketplace"
|
|
|
|
## Plugin Creation Process
|
|
|
|
When activated, I will:
|
|
|
|
1. **Gather Requirements**
|
|
- Plugin name (kebab-case)
|
|
- Category (productivity, security, devops, etc.)
|
|
- Type (commands, agents, skills, MCP, or combination)
|
|
- Description and keywords
|
|
- Author information
|
|
|
|
2. **Create Directory Structure**
|
|
```
|
|
plugins/[category]/[plugin-name]/
|
|
├── .claude-plugin/
|
|
│ └── plugin.json
|
|
├── README.md
|
|
├── LICENSE
|
|
└── [commands|agents|skills|hooks|mcp]/
|
|
```
|
|
|
|
3. **Generate Required Files**
|
|
- **plugin.json** with proper schema (name, version, description, author)
|
|
- **README.md** with comprehensive documentation
|
|
- **LICENSE** (MIT by default)
|
|
- Component files based on type
|
|
|
|
4. **Add to Marketplace Catalog**
|
|
- Update `.claude-plugin/marketplace.extended.json`
|
|
- Run `npm run sync-marketplace` automatically
|
|
- Validate catalog schema
|
|
|
|
5. **Validate Everything**
|
|
- Run `./scripts/validate-all.sh` on new plugin
|
|
- Check JSON syntax with `jq`
|
|
- Verify frontmatter in markdown files
|
|
- Ensure scripts are executable
|
|
|
|
## Plugin Types Supported
|
|
|
|
### Commands Plugin
|
|
- Creates `commands/` directory
|
|
- Generates example command with proper frontmatter
|
|
- Includes `/demo-command` example
|
|
|
|
### Agents Plugin
|
|
- Creates `agents/` directory
|
|
- Generates example agent with capabilities
|
|
- Includes model specification
|
|
|
|
### Skills Plugin
|
|
- Creates `skills/skill-name/` directory
|
|
- Generates SKILL.md with proper format
|
|
- Includes trigger keywords and allowed-tools
|
|
|
|
### MCP Plugin
|
|
- Creates `src/`, `dist/`, `mcp/` directories
|
|
- Generates TypeScript boilerplate
|
|
- Includes package.json with MCP SDK
|
|
- Adds to pnpm workspace
|
|
|
|
### Full Plugin
|
|
- Combines all types
|
|
- Creates complete example structure
|
|
- Ready for customization
|
|
|
|
## File Templates
|
|
|
|
### plugin.json Template
|
|
```json
|
|
{
|
|
"name": "plugin-name",
|
|
"version": "1.0.0",
|
|
"description": "Clear description",
|
|
"author": {
|
|
"name": "Author Name",
|
|
"email": "[email protected]"
|
|
},
|
|
"repository": "https://github.com/jeremylongshore/claude-code-plugins",
|
|
"license": "MIT",
|
|
"keywords": ["keyword1", "keyword2"]
|
|
}
|
|
```
|
|
|
|
### Command Template
|
|
```markdown
|
|
---
|
|
name: command-name
|
|
description: What this command does
|
|
model: sonnet
|
|
---
|
|
|
|
# Command Title
|
|
|
|
Instructions for Claude...
|
|
```
|
|
|
|
### Skill Template
|
|
```markdown
|
|
---
|
|
name: Skill Name
|
|
description: What it does AND when to use it
|
|
allowed-tools: Read, Write, Grep
|
|
---
|
|
|
|
# Skill Name
|
|
|
|
## Purpose
|
|
[What this skill does]
|
|
|
|
## Trigger Keywords
|
|
- keyword1
|
|
- keyword2
|
|
|
|
## Instructions
|
|
[Step-by-step for Claude]
|
|
```
|
|
|
|
## Marketplace Integration
|
|
|
|
I automatically:
|
|
1. Add plugin entry to `marketplace.extended.json`
|
|
2. Run `npm run sync-marketplace` to update CLI catalog
|
|
3. Validate both catalogs with `jq`
|
|
4. Check for duplicate names
|
|
5. Verify source paths exist
|
|
|
|
## Validation Steps
|
|
|
|
After creation:
|
|
- ✅ All required files present
|
|
- ✅ Valid JSON (plugin.json, catalogs)
|
|
- ✅ Proper frontmatter in markdown
|
|
- ✅ Scripts executable (`chmod +x`)
|
|
- ✅ No duplicate plugin names
|
|
- ✅ Category is valid
|
|
- ✅ Keywords present
|
|
|
|
## Repository-Specific Features
|
|
|
|
**For claude-code-plugins repo:**
|
|
- Follows exact directory structure
|
|
- Uses correct marketplace slug (`claude-code-plugins-plus`)
|
|
- Includes proper LICENSE file
|
|
- Adds to correct category folder
|
|
- Validates against existing plugins
|
|
- Updates version in marketplace
|
|
|
|
## Output
|
|
|
|
I provide:
|
|
```
|
|
✅ Created plugin: plugin-name
|
|
📁 Location: plugins/category/plugin-name/
|
|
📝 Files created: 8
|
|
🔍 Validation: PASSED
|
|
📦 Marketplace: UPDATED
|
|
✨ Ready to commit!
|
|
|
|
Next steps:
|
|
1. Review files in plugins/category/plugin-name/
|
|
2. Customize README.md and component files
|
|
3. Run: git add plugins/category/plugin-name/
|
|
4. Run: git commit -m "feat: Add plugin-name plugin"
|
|
```
|
|
|
|
## Examples
|
|
|
|
**User says:** "Create a new security plugin called 'owasp-scanner' with commands"
|
|
|
|
**I automatically:**
|
|
1. Create directory: `plugins/security/owasp-scanner/`
|
|
2. Generate plugin.json, README, LICENSE
|
|
3. Create `commands/` with example
|
|
4. Add to marketplace.extended.json
|
|
5. Sync marketplace.json
|
|
6. Validate all files
|
|
7. Report success
|
|
|
|
**User says:** "Scaffold a Skills plugin for code review"
|
|
|
|
**I automatically:**
|
|
1. Create directory with `skills/` subdirectories
|
|
2. Generate SKILL.md templates
|
|
3. Add trigger keywords for code review
|
|
4. Add to marketplace
|
|
5. Validate and report
|