Check reference / Correctness & Structure
PLUGIN-02 Plugin components resolve
Deterministic — runs on every scan, no LLM or network needed.
Why it matters
A manifest path that doesn't exist ships a plugin that silently installs less than it claims, and a `../` path breaks entirely after install — the marketplace cache only copies files inside the plugin root. An empty plugin (no skills, commands, agents, hooks, or MCP servers) installs nothing at all.
How to fix it
Make every `skills`/`commands`/`agents`/`hooks`/`mcpServers` path in plugin.json point at a real file or directory inside the plugin, written `./`-relative. Ship at least one component.
Example
✗ flagged
"commands": ["../shared/deploy.md"]✓ passes
"commands": ["./commands/deploy.md"]