搜索

PythonReactSEOPDF
GitHub Skill

plugin-dev

Claude Code plugin development - create plugins, skills, commands, agents, hooks, MCP servers, and marketplaces. Use when: 'create a plugin', 'add a skill', 'write a command', 'configure hooks', 'integrate MCP server', 'build marketplace', 'How do plugins work?', 'What goes in plugin.json?'

GGPrompts☆ 1 仓库 Stars0 仓库 Forks

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

查看来源 ↗使用指南

技能说明

Claude Code Plugin Development

Comprehensive guidance for creating well-structured plugins, skills, hooks, agents, commands, and MCP integrations.

Core Principles (Anthropic Official)

  1. Composable - Multiple skills work together seamlessly, Claude coordinates automatically
  2. Portable - Same format works across Claude apps, Claude Code, and Claude API
  3. Efficient - Progressive disclosure loads only what's needed (description → SKILL.md → references)
  4. Powerful - Combines prompts + executable code for complete workflows
  5. Secure - Never hardcode secrets, use ${CLAUDE_PLUGIN_ROOT} for paths

Critical Budget Limits

Limit Value Consequence if Exceeded
All skill descriptions combined 15,000 chars Silent filtering, skills won't activate
Individual description 1,024 chars Truncation
SKILL.md body 5,000 words Context saturation, partial execution
Target per description 300-400 chars Allows ~40 skills safely

Quick Start

Create a New Plugin
mkdir -p my-plugin/.claude-plugin
mkdir -p my-plugin/skills/my-skill/references

cat > my-plugin/.claude-plugin/plugin.json << 'PLUGIN'
{
  "name": "my-plugin",
  "version": "1.0.0",
  "description": "What this plugin does"
}
PLUGIN

cat > my-plugin/skills/my-skill/SKILL.md << 'SKILL'
---
name: my-skill
description: Use when creating X, configuring Y, or analyzing Z
---

# My Skill

Instructions for Claude when this skill activates...
SKILL
Install and Test
# Symlink to Claude's plugin directory
ln -s $(pwd)/my-plugin ~/.claude/plugins/my-plugin

# Restart Claude Code to load
/restart

# Test the skill
/my-plugin:my-skill

Component Reference

Choose a topic for detailed guidance:

📁 @references/structure.md - Plugin Directory Structure
  • Standard plugin layout
  • Marketplace vs standalone patterns
  • Auto-discovery rules
  • Portable path references (${CLAUDE_PLUGIN_ROOT})
  • Common troubleshooting
🎯 @references/skills-reference.md - Creating Skills
  • SKILL.md format and frontmatter
  • Progressive disclosure patterns
  • Bundled resources (scripts/, references/, assets/)
  • Description best practices with trigger phrases
  • Writing style (imperative, not second person)
  • Validation checklist
💬 @references/commands-reference.md - Slash Commands
  • Command file format with frontmatter
  • Dynamic arguments ($1, $2, @$1)
  • Bash execution inline
  • Tool restrictions (allowed-tools)
  • Organization (flat vs namespaced)
  • Plugin command portability
🤖 @references/agents-reference.md - Subagents
  • Agent frontmatter (name, description, model, color, tools)
  • Name validation rules
  • Description with examples
  • Color guidelines by purpose
  • Tool restriction patterns
  • System prompt best practices
🎣 @references/hooks-reference.md - Event Hooks
  • Hook types (prompt-based vs command)
  • Event types (PreToolUse, PostToolUse, Stop, etc.)
  • Configuration (hooks.json format)
  • Matchers (exact, wildcard, regex)
  • Output structure and exit codes
  • Security best practices
  • Environment variables
🔌 @references/mcp-reference.md - MCP Integration
  • MCP server configuration (.mcp.json)
  • Server types (stdio, SSE, HTTP, WebSocket)
  • Tool naming conventions
  • Environment variable usage
  • Security and testing
🏪 @references/marketplace-reference.md - Marketplaces
  • Standalone vs marketplace patterns
  • marketplace.json schema
  • Skills array pattern
  • Bundle plugin pattern
  • Common mistakes to avoid
  • Team configuration
📋 @references/plugin-reference.md - Plugin Manifest
  • plugin.json required fields
  • Optional metadata
  • Custom component paths
  • Installation and deployment
⚙️ @references/settings.md - Plugin Settings
  • .local.md settings files
  • YAML frontmatter for configuration
  • Reading settings in hooks
  • Best practices and gitignore

Common Patterns

Minimal Skill
---
name: simple-skill
description: Use when user asks to "do X" or "configure Y"
---

# Simple Skill

Step-by-step instructions...

1. Check if condition exists
2. Execute action
3. Verify result

For detailed patterns, see @references/advanced-patterns.md
Command with Arguments
---
description: Review code for security issues
allowed-tools: Read, Grep
argument-hint: [file] [severity]
---

Review @$1 for security issues.
Focus on severity level: $2

Use these patterns:
- SQL injection
- XSS vulnerabilities  
- Hardcoded credentials
Hook with Validation
{
  "hooks": {
    "PreToolUse": [{
      "matcher": "Write|Edit",
      "hooks": [{
        "type": "command",
        "command": "bash ${CLAUDE_PLUGIN_ROOT}/scripts/validate.sh",
        "timeout": 30
      }]
    }]
  }
}

File Organization

my-plugin/
├── .claude-plugin/
│   └── plugin.json          # Manifest
├── commands/                 # Slash commands
│   └── action.md
├── agents/                   # Subagents
│   └── analyzer.md
├── skills/                   # Skills
│   └── my-skill/
│       ├── SKILL.md         # Main skill file
│       ├── references/      # Detailed docs
│       ├── scripts/         # Executable code
│       └── assets/          # Templates, images
├── hooks/
│   └── hooks.json           # Event handlers
└── .mcp.json                # MCP servers

Development Workflow

  1. Plan - Identify what your plugin should do
  2. Structure - Create directory layout (see @references/structure.md)
  3. Implement - Write skills, commands, or agents
  4. Configure - Add hooks or MCP servers if needed
  5. Test - Install and verify functionality
  6. Iterate - Refine based on usage
  7. Document - Update README and examples

Best Practices

Practice Reason
Keep SKILL.md under 2000 words Move details to references/ for progressive disclosure
Use specific trigger phrases "when user asks to 'create X'" not "provides guidance"
Imperative writing style "Parse the config" not "You should parse"
Portable paths ${CLAUDE_PLUGIN_ROOT} not hardcoded
Test after changes /restart then invoke skill/command
Single responsibility One focused purpose per component

Common Mistakes

Mistake Solution
Vague skill descriptions Add specific trigger phrases users would say
8000-word SKILL.md Move content to references/, keep SKILL.md brief
Hardcoded paths Use ${CLAUDE_PLUGIN_ROOT} for portability
Missing frontmatter All components need valid YAML frontmatter
Wrong directory structure See @references/structure.md for correct layout

Validation

Before releasing a plugin:

  • plugin.json has required name field
  • All SKILL.md files have name and description
  • Descriptions include specific trigger phrases
  • All referenced files exist
  • No hardcoded paths (use ${CLAUDE_PLUGIN_ROOT})
  • Skills under 2000 words (details in references/)
  • Commands have argument-hint if they take args
  • Agents have valid name (3-50 chars, lowercase-hyphens)
  • Hooks return valid JSON with proper exit codes
  • README documents installation and usage

Related Tools

  • /plugin-dev:create-plugin - Interactive plugin scaffolding command
  • /plugin-dev:plugin-cli - CLI commands for plugin management
  • /skill-creator:skill-creation - Focused skill creation workflow
  • /agent-creator:agent-design - Subagent design patterns
  • /mcp-builder:mcp-servers - MCP server development

Quick Navigation:

Need to... See
Understand plugin layout @references/structure.md
Create a skill @references/skills-reference.md
Add a slash command @references/commands-reference.md
Configure a subagent @references/agents-reference.md
Set up hooks @references/hooks-reference.md
Integrate MCP server @references/mcp-reference.md
Build a marketplace @references/marketplace-reference.md

Status: Consolidated plugin development skill with progressive disclosure pattern

使用示例

查看来源仓库中的使用示例与配置说明。

查看来源 ↗

来源历史

收录时间
2026-01-20
索引更新时间
2026-01-26
Branch
main

收录与同步日期属于本站记录。源码修改历史请查看来源仓库。

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!