- Skills: Specialized knowledge and workflows
- Hooks: Event handlers for tool lifecycle
- MCP Config: External tool server configurations
- Agents: Specialized agent definitions
- Commands: Slash commands
Plugin Structure
See the example_plugins directory for a complete working plugin structure.
plugin-name
.plugin
plugin.json
skills
skill-name
hooks
hooks.json
agents
agent-name.md
commands
command-name.md
.mcp.json
README.md
plugin-name/.plugin/plugin.json, is required.
Plugin Manifest
The manifest fileplugin-name/.plugin/plugin.json defines plugin metadata:
Skills
Skills are defined in markdown files with YAML frontmatter:Hooks
Hooks are defined inhooks/hooks.json:
MCP Configuration
MCP servers are configured in.mcp.json:
Using Plugin Components
The ready-to-run example is available here!Brief explanation on how to use a plugin with an agent.
Accessing Components
You can access the different plugin components to see which ones are available.Ready-to-run Example
This example is available on GitHub: examples/05_skills_and_plugins/02_loading_plugins/main.py
examples/05_skills_and_plugins/02_loading_plugins/main.py
The model name should follow the LiteLLM convention:
provider/model_name (e.g., anthropic/claude-sonnet-4-5-20250929, openai/gpt-4o).
The LLM_API_KEY should be the API key for your chosen provider.Next Steps
- Skills - Learn more about skills and triggers
- Hooks - Understand hook event types
- MCP Integration - Configure external tool servers

