
Plugin Creator
- 84 installs
- 849 repo stars
- Updated June 21, 2026
- juliusbrussee/caveman-code
Scaffold a publishable Cave plugin with a valid `.cave-plugin/plugin.json` manifest and the standard commands, skills, agents, themes, and hooks folders before listing it on the marketplace.
About
Plugin Creator is an agent skill for solo and indie builders who ship extensions in the Cave ecosystem and want a correct bundle on the first try. Instead of hand-rolling folders and guessing manifest fields, it scaffolds a complete plugin tree anchored by `.cave-plugin/plugin.json`, with optional `commands/`, `skills/`, `agents/`, `themes/`, and `hooks/` directories sized to what you actually enable in `capabilities`. The embedded schema covers semver versioning, kebab-case naming, `caveVersion` compatibility (for example `>=0.65.0`), licensing, homepage URLs, and free-form tags that power `caveman plugin search`. Use it when you are starting a new marketplace plugin, packaging commands or skills for reuse, or publishing from GitHub or a zip URL. It keeps capability flags honest so installers know whether commands, skills, agents, themes, MCP, or hooks are included—reducing broken installs and review churn before you publish.
- Writes `.cave-plugin/plugin.json` with semver, author, `caveVersion`, tags, and capability flags
- Scaffolds five standard directories: `commands/`, `skills/`, `agents/`, `themes/`, and `hooks/`
- Enforces manifest rules: kebab-case `name`, one-line description, and capability booleans aligned to present folders
- Documents marketplace discovery via `tags` and `caveman plugin search`
- Low-effort scaffold triggered by “create a plugin”, “scaffold a plugin”, `/plugin create`, or “new cave plugin”
Plugin Creator by the numbers
- 84 all-time installs (skills.sh)
- Ranked #4,997 of 16,659 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/juliusbrussee/caveman-code --skill plugin-creatorAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 84 |
|---|---|
| repo stars | ★ 849 |
| Last updated | June 21, 2026 |
| Repository | juliusbrussee/caveman-code ↗ |
What it does
Scaffold a publishable Cave plugin with a valid `.cave-plugin/plugin.json` manifest and the standard commands, skills, agents, themes, and hooks folders before listing it on the marketplace.
Files
Plugin Creator
You scaffold new cave plugins. A cave plugin is a directory published to GitHub (or any zip URL) with a .cave-plugin/plugin.json manifest and optional sub-directories for commands, skills, agents, themes, and hooks.
Manifest Schema
{
"name": "my-plugin",
"version": "0.1.0",
"description": "A short, clear description of what this plugin does.",
"author": "your-github-handle",
"license": "MIT",
"homepage": "https://github.com/your-handle/my-plugin",
"caveVersion": ">=0.65.0",
"tags": ["productivity", "git"],
"capabilities": {
"commands": true,
"skills": true,
"agents": false,
"themes": false,
"mcp": false,
"hooks": []
}
}Field Rules
name: kebab-case, a-z0-9 and hyphens only. Must be unique in the marketplace.version: semver ("major.minor.patch").description: one sentence, plain text.tags: free-form strings forcaveman plugin searchmatching.capabilities.commands: settrueifcommands/directory is present.capabilities.skills: settrueifskills/directory is present.capabilities.agents: settrueifagents/directory is present.capabilities.themes: settrueifthemes/directory is present.capabilities.mcp: settrueif.mcp.jsonis present.capabilities.hooks: array of hook entries (see below).
Hook Entry Shape
{ "event": "PostToolUse", "command": "hooks/post-tool-use.sh", "matcher": "Bash" }Directory Structure
my-plugin/
├── .cave-plugin/
│ └── plugin.json ← required
├── commands/
│ └── my-command.md ← markdown slash commands
├── skills/
│ └── my-skill/
│ └── SKILL.md ← skill with frontmatter
├── agents/
│ └── my-agent.md ← agent definition markdown
├── themes/
│ └── my-theme.json ← theme JSON (cave theme format)
├── hooks/
│ └── post-tool-use.sh ← hook scripts (chmod +x)
├── .mcp.json ← optional MCP server definitions
└── README.mdScaffolding Steps
When the user asks to create a plugin, follow these steps:
1. Ask for plugin details (name, description, which capabilities are needed). 2. Create `.cave-plugin/plugin.json` using the schema above. 3. Create only the sub-directories that are needed (do not create empty dirs). 4. Add placeholder files for each enabled capability:
commands/example.mdwith frontmatter---\ndescription: Example command.\n---\n\n# Example\n\nDescribe what this command does.\nskills/example/SKILL.mdwith the standard skill frontmatter.agents/example.mdwith agent frontmatter.hooks/example.shwith#!/bin/bash\n# Hook: <event>\nandchmod +x.
5. Create a `README.md` with install instructions and a short description. 6. Validate the manifest by echoing it back and checking all required fields.
Publishing
After scaffolding, instruct the user to:
1. Push the plugin to a public GitHub repository. 2. Submit it to a marketplace by adding an entry to a marketplace.json:
{
"plugins": [
{
"ref": "your-handle/my-plugin",
"name": "my-plugin",
"description": "...",
"tags": ["..."],
"version": "0.1.0"
}
]
}3. Users install it with: caveman plugin install your-handle/my-plugin
Example Interaction
User: "Create a plugin that adds a /summarize command and a post-save hook."
You: 1. Create .cave-plugin/plugin.json with "commands": true, "hooks": [{ "event": "PostToolUse", "command": "hooks/post-save.sh", "matcher": "Write" }]. 2. Create commands/summarize.md with a summarize slash command description. 3. Create hooks/post-save.sh with a stub hook script. 4. Create README.md. 5. Report the file tree created.