Plugins let you package and distribute custom skills, agents, and commands for superkit-agents.
my-plugin/
├── superkit-plugin.json # Required: plugin manifest
├── skills/
│ └── my-skill/
│ └── SKILL.md
├── agents/
│ └── my-agent.md
└── commands/
└── my-command.md
{
"name": "my-plugin",
"version": "1.0.0",
"description": "Custom skills for my framework",
"skills": {
"my-skill": {
"name": "my-skill",
"description": "Does something useful",
"category": "framework",
"path": "skills/my-skill"
}
},
"agents": {
"my-agent": {
"name": "my-agent",
"description": "Specialized agent",
"path": "agents/my-agent.md"
}
},
"commands": {
"my-cmd": {
"name": "my-cmd",
"skill": "my-skill",
"description": "Trigger my skill",
"path": "commands/my-cmd.md"
}
}
}| Field | Type | Description |
|---|---|---|
name |
string | Unique plugin identifier |
version |
string | Semver version |
| Field | Type | Description |
|---|---|---|
description |
string | One-line description |
skills |
object | Map of skill definitions |
agents |
object | Map of agent definitions |
commands |
object | Map of command definitions |
When a user runs superkit-agents plugin add my-plugin:
- The plugin is downloaded via
npm pack(or resolved from a local path) superkit-plugin.jsonis validated- Skills are copied to
<target>/skills/plugins/my-plugin/ - Agents are copied to
<target>/agents/my-plugin-<name>.md - Commands are copied to
<target>/commands/my-plugin-<name>.md - The plugin is registered in
~/.superkit-agents/plugins.json
For iterating on a plugin during development:
superkit-agents plugin add ./my-plugin --localThis creates symlinks instead of copies, so changes to your plugin source are reflected immediately.
- Ensure
superkit-plugin.jsonis in the package root - Include the manifest in your
package.jsonfiles array:{ "name": "my-superkit-plugin", "files": ["superkit-plugin.json", "skills/", "agents/", "commands/"] } - Publish:
npm publish
Users can then install with:
superkit-agents plugin add my-superkit-pluginInstalled plugins are tracked in ~/.superkit-agents/plugins.json:
{
"plugins": {
"my-plugin": {
"name": "my-plugin",
"version": "1.0.0",
"source": "npm",
"path": "/path/to/plugin",
"manifest": { ... }
}
}
}# Create a test project
mkdir /tmp/test-project && cd /tmp/test-project
# Install the plugin locally
superkit-agents plugin add /path/to/my-plugin --local
# Verify
superkit-agents plugin list
# Clean up
superkit-agents plugin remove my-plugin