Use when creating or modifying Han plugins. Covers plugin structure, configuration, hooks, skills, and best practices.
This skill provides comprehensive guidance for developing Han plugins.
Han supports three plugin types:
Every plugin must follow this structure:
my-plugin/
├── .claude-plugin/
│ └── plugin.json # Plugin metadata (required)
├── han-plugin.yml # Hook configuration (optional)
├── skills/ # Skills directory (optional)
│ └── my-skill/
│ └── SKILL.md # Skill definition
├── commands/ # Commands directory (optional)
│ └── my-command.md # Slash command
├── hooks/ # Hook scripts (optional)
│ └── my-hook.sh # Hook implementation
└── README.md # Documentation
The plugin.json file defines metadata:
{
"name": "my-plugin-name",
"version": "1.0.0",
"description": "What the plugin does",
"author": {
"name": "Author Name",
"url": "https://author-website.com"
},
"license": "MIT",
"keywords": ["keyword1", "keyword2"]
}
Required fields:
name - Must match directory nameversion - Semantic versioningDefine validation hooks that run at lifecycle events: