Skip to main content

plugin-creator

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".

Informações da origem

Repositório
JuliusBrussee/caveman-code
Última atividade na origem
18 de maio de 2026 às 09:44
Idioma detectado do SKILL.md
inglês
Estrelas
940
Forks
106

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
plugin-creator
description
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".
allowed-tools
["read","write","edit","bash"]
effort
low
# 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 ```json { "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 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). ### Hook Entry Shape ```json { "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.md ``` ## Scaffolding 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.md` with frontmatter `---\ndescription: Example command.\n---\n\n# Example\n\nDescribe what this command does.\n` - `skills/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`. 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`: ```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.
Ver no GitHub