prototype
MAmattpocock/skills288k10,178 new stars in the last 7 days
Scaffold a complete cave plugin bundle — generates .cave-plugin/plugin.json manifest and the standard directory structure (commands/, skills/, agents/, themes/, hooks/). Use when a user wants to create, publish, or package a cave plugin for the marketplace. Triggered by "create a plugin", "scaffold a plugin", "/plugin create", or "new cave plugin".
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.
{
"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": []
}
}
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 for caveman plugin search matching.capabilities.commands: set true if commands/ directory is present.capabilities.skills: set true if skills/ directory is present.capabilities.agents: set true if agents/ directory is present.capabilities.themes: set true if themes/ directory is present.capabilities.mcp: set true if .mcp.json is present.capabilities.hooks: array of hook entries (see below).{ "event": "PostToolUse", "command": "hooks/post-tool-use.sh", "matcher": "Bash" }
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.md
When the user asks to create a plugin, follow these steps:
.cave-plugin/plugin.json using the schema above.commands/example.md with frontmatter ---\ndescription: Example command.\n---\n\n# Example\n\nDescribe what this command does.\nskills/example/SKILL.md with the standard skill frontmatter.agents/example.md with agent frontmatter.hooks/example.sh with #!/bin/bash\n# Hook: <event>\n and chmod +x.README.md with install instructions and a short description.After scaffolding, instruct the user to:
marketplace.json:
{
"plugins": [
{
"ref": "your-handle/my-plugin",
"name": "my-plugin",
"description": "...",
"tags": ["..."],
"version": "0.1.0"
}
]
}
caveman plugin install your-handle/my-pluginUser: "Create a plugin that adds a /summarize command and a post-save hook."
You:
.cave-plugin/plugin.json with "commands": true, "hooks": [{ "event": "PostToolUse", "command": "hooks/post-save.sh", "matcher": "Write" }].commands/summarize.md with a summarize slash command description.hooks/post-save.sh with a stub hook script.README.md.MAmattpocock/skills288k10,178 new stars in the last 7 days
AFaffaan-m/ECC278k4,046 new stars in the last 7 days
FIfirecrawl/firecrawl191k2,010 new stars in the last 7 days
Apply color and font themes to slides, docs and web pages, with 10 built-in themes.
ANanthropics/skills181k1,119 new stars in the last 7 days
Build complex HTML artifacts with React, Tailwind CSS, state management and routing.
ANanthropics/skills181k1,119 new stars in the last 7 days
ANanthropics/skills181k1,119 new stars in the last 7 days