plugin-authoringlisted
Install: claude install-skill virajp/ai-plugins
# Plugin Authoring
A Claude Code plugin is a **directory of markdown and one manifest**. There is
no build step and no intermediate format: what you author is exactly what a
user installs. That is the property most of the discipline below protects.
## What is authored where
| Path | Is |
| ---------------------------- | -------------------------------------------------------- |
| `.claude-plugin/plugin.json` | the manifest — name, version, description, servers, deps |
| `skills/<name>/SKILL.md` | a skill; auto-discovered, never listed in the manifest |
| `skills/<name>/references/` | on-demand prose the SKILL.md points at |
| `agents/<name>.md` | a subagent; auto-discovered |
| `hooks/hooks.json` | hooks, plus the scripts beside them |
| `assets/` | shared doctrine and data the skills read |
| `stacks/<axis>/…` | stack templates, on a plugin that is a vwf stack adapter |
| `vendor/` | provenance for vendored third-party skills |
**Discovery is by path, and that cuts both ways.** Adding any of these is one
edit — create the file, register nothing. But a file in the wrong place is not
an error either: it is simply never discovered, and nothing says so.
## The three traps
Each is silent. Nothing errors, and the mistake surfac