From plugin-builder
Build local plugin scaffolds for Claude Code. Use this skill when the user wants to create a new plugin, scaffold plugin skills/commands, or set up MCP connector configurations. Triggers include "create a plugin", "build a plugin", "scaffold a plugin", "new plugin for [domain]", or any request involving Claude Code plugin development.
How this skill is triggered — by the user, by Claude, or both
Slash command
/plugin-builder:plugin-builderThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Build local plugin scaffolds for Claude Code. **Requires Runlayer MCP.**
Build local plugin scaffolds for Claude Code. Requires Runlayer MCP.
MANDATORY REQUIREMENT: This plugin cannot function without Runlayer MCP. There is no alternative. Do not offer to proceed without it. Do not ask the user if they want to continue without it. Do not suggest workarounds.
Check if mcp__runlayer__list_servers is available in your tools
If NOT available:
https://your-org.runlayer.com)<their-runlayer-url>/servers/d0b2d0c6-5d87-4f87-a2e1-7f0a60a6c0b52b. If tools exist but return connection/auth errors before you even call them:
If available - call mcp__runlayer__list_servers(scope="accessible") to test it
If you get an auth error:
Only proceed to the next section when list_servers returns successfully.
Always check the current directory first:
ls -la to understand the directory structure.claude-plugin/marketplace.json)Call these Runlayer tools to understand available integrations:
mcp__runlayer__list_servers(scope="accessible")
mcp__runlayer__list_catalog_servers(limit=50)
Map the results to potential tool categories (metrics, logs, CRM, ticketing, etc.).
Use AskUserQuestion with select components rather than freeform questions.
Question 1: Plugin Name and Description Ask for:
customer-support)Question 2: Automation Preference
options:
- "Fully automated (Recommended)" - Skills trigger automatically based on context
- "Manual triggers only" - Commands require explicit /command invocation
- "Both" - Skills for automation, Commands as fallback triggers
Default: Fully automated
Question 3: Items to Generate For each capability they want, ask whether it should be a Skill or Command:
/draft-response)Recommend Skill-first with Command as optional fallback.
Question 4: Tool Categories Based on the servers discovered in Step 1, present options:
options (multi-select):
- CRM (Salesforce, HubSpot, etc.)
- Ticketing (Zendesk, Jira, Linear, etc.)
- Communication (Slack, Email, etc.)
- Analytics/Metrics
- Knowledge Base/Docs
Question 5: Elicitation Method
options:
- "Native agent UI (Recommended)" - Use select components for user input
- "Freeform questions" - Ask short text questions
Create the following structure:
<plugin-slug>/
├── .claude-plugin/
│ └── plugin.json
├── skills/
│ └── <skill-name>/
│ └── SKILL.md
├── commands/
│ └── <command-name>.md
├── CONNECTORS.md
└── .mcp.json (only if tools are needed)
Important structure rules:
plugin.json goes inside .claude-plugin/skills/<name>/SKILL.mdcommands/<name>.md.mcp.json is at the plugin root (not inside .claude-plugin/)plugin.json:
{
"name": "<plugin-slug>",
"description": "<1-2 sentence description>",
"version": "1.0.0",
"author": {
"name": "<author>"
}
}
SKILL.md:
---
name: <skill-name>
description: <When this skill should activate. Be specific about triggers and contexts.>
---
# <Skill Title>
<Detailed instructions for how the assistant should behave when this skill activates.>
## When to Use
<Specific triggers and contexts>
## Workflow
<Step-by-step guidance>
## Best Practices
<Domain-specific guidance>
Command .md:
---
name: <command-name>
description: <What this command does>
---
# /<command-name>
<Instructions for executing this command>
## Usage
`/<plugin-name>:<command-name> [args]`
## Workflow
<Step-by-step execution>
CONNECTORS.md:
# Connectors
This plugin can integrate with the following tool categories:
| Category | Placeholder | Available Servers |
|----------|-------------|-------------------|
| CRM | `crm_tool` | Salesforce, HubSpot |
| Ticketing | `ticket_tool` | Zendesk, Jira |
| ... | ... | ... |
## Configuration
Configure your MCP servers in `.mcp.json` based on which services you use.
.mcp.json (only if tools are needed):
{
"mcpServers": {
"<server-name>": {
"url": "<runlayer-server-url-from-list_servers>"
}
}
}
CRITICAL for .mcp.json:
mcp__runlayer__list_servers results - never guess URLsAfter generating the plugin, instruct the user to test locally:
claude --plugin-dir /path/to/<plugin-slug>
Then try invoking skills by describing relevant tasks, or commands with /<plugin-slug>:<command-name>.
npx claudepluginhub runlayer/plugins --plugin plugin-builderGuides creation of Claude Code plugins including skills, commands, agents, hooks, MCP servers, and configuration. Use for 'create plugin', 'make skill', scaffolding structures.
Scaffolds a complete Claude Code plugin with manifest, skills, agents, hooks, MCP/LSP servers, and marketplace entry. Walks through component selection and writes files.
Creates, converts, validates, and publishes Claude Code plugins with Agent Skills, hooks, agents, and servers. Automates manifest generation, scanning, structure validation, and marketplace prep.