plugins/claude-code-expert/skills/plugin-development/SKILL.md
--- name: plugin-development description: Build, validate, and publish Claude Code plugins — manifest schema, skill/command/agent/hook authoring, MCP server integration, marketplace publishing, version management. Use this skill whenever creating a new plugin, adding a skill/command/agent to an existing plugin, validating plugin.json, debugging plugin load failures, or publishing to a marketplace. Triggers on: "create plugin", "plugin.json", "add skill to plugin", "publish plugin", "plugin valid
npx skillsauth add markus41/claude plugins/claude-code-expert/skills/plugin-developmentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Claude Code plugins are git-versioned bundles of skills, commands, agents, hooks, and MCP servers installable via .claude/marketplaces/. This skill covers the full authoring lifecycle.
my-plugin/
├── .claude-plugin/
│ └── plugin.json # manifest (required)
├── CLAUDE.md # plugin-level instructions
├── skills/
│ └── {skill-name}/
│ ├── SKILL.md
│ └── references/
├── commands/
│ └── {command-name}.md
├── agents/
│ └── {agent-name}.md
├── hooks/
│ └── {hook-name}.sh
├── mcp-server/ # optional
│ ├── src/index.js
│ └── package.json
└── README.md
Minimum required fields:
{
"$schema": "https://claude.local/schemas/plugin.schema.json",
"name": "my-plugin",
"version": "1.0.0",
"description": "Short description under 200 chars.",
"author": { "name": "You" },
"license": "MIT"
}
Recommended additions:
{
"repository": "https://github.com/you/my-plugin",
"keywords": ["claude-code", "..."],
"permissions": { "requires": ["read", "write"], "optional": ["bash", "network"] },
"capabilities": { "provides": ["..."], "requires": [] },
"context": {
"entry": "CONTEXT_SUMMARY.md",
"title": "My Plugin",
"summary": "≤400 words",
"maxTokens": 700
}
}
Follow the skill-creator canonical spec:
references/ subdir — Claude loads on demand.Template in plugin-architect agent.
Commands live in commands/{name}.md. Frontmatter:
---
description: What the command does, under 200 chars.
---
# /command-name
## Usage
...
## Flags
...
The command body is plain markdown executed as a prompt when the user runs /plugin-name:command-name.
---
name: agent-name
description: When to invoke; ≥3 trigger phrases.
model: claude-sonnet-4-6
allowed-tools:
- Read
- Grep
- Bash
---
# Agent Name
## Role
...
## Approach
...
## Output format
...
Tool restrictions enforce agent scope — an auditor agent shouldn't be able to Write, a research agent doesn't need Bash.
Run plugin-validator agent on any new/modified plugin. Checks:
allowed-tools are real tool namesPlugins live in git repos. Users install via marketplace:
/plugin marketplace add https://github.com/org/marketplace-repo
/plugin install my-plugin
For personal plugins, skip the marketplace — git clone into ~/.claude/plugins/ directly.
Semver. Breaking changes = major bump. New capabilities = minor. Bug fixes = patch.
Include CHANGELOG.md with a section per version. plugin.json version must match the top CHANGELOG entry.
| Need | Tool |
|---|---|
| Settings schema for plugin config | cc_docs_settings_schema |
| Plugin-development troubleshooting | cc_docs_troubleshoot("plugin") |
| Model for authoring | cc_docs_model_recommend("write plugin skill") |
set -euo pipefail → mask errors.allowed-tools: ["*"] → defeats tool restriction.development
Enhanced plan-authoring skill with Pre-Writing context gathering, task metadata, non-TDD templates, Red Flags, telemetry, and an automated plan linter. Use when you have a spec or requirements for a multi-step task, before touching code.
tools
Documentation intelligence engine with graph-based API docs, algorithm library, and drift detection
tools
Ultraplan cloud planning — kick off a plan in the cloud from your terminal, review and revise in the browser, then execute remotely or send back to CLI
tools
--- name: mcp description: Configure MCP servers for Claude Code — stdio vs HTTP, authentication, Tools/Resources/Prompts distinction, channels (CI webhook, mobile relay, Discord bridge, fakechat), and cost of always-loaded tools. Use this skill whenever adding an MCP server, debugging connection issues, choosing between MCP Tools vs Prompts vs Resources, installing channel servers, or managing .mcp.json. Triggers on: "MCP server", "mcp config", "add Obsidian MCP", "install context7", "channels"