Install any skill in seconds. Free to start, no credit card required.
Get Started Free →fradser/plugin-best-practices
This skill should be used when the user asks to "validate plugin structure", "review manifest files", "check frontmatter compliance", "verify tool invocation patterns", "explain plugin component types", or needs Claude Code plugin architectural guidance.
Passed 19 of 21 test cases with the skill, and 9 of 21 without it.
and 12 more in the full report
11 fixed9 passed either way2 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 11 test cases the skill fixed. Same model, same prompt, with and without the skill.
I am adding background log monitoring to my Claude Code plugin in `monitors/monitors.json`. What required keys must be present in each entry within the monitors array?
| Checked | Without skill | With skill |
|---|---|---|
| specifies name as a required field for monitor entries | Missed | Passed |
| specifies command as a required field for monitor entries | Passed | Passed |
| specifies description as a required field for monitor entries | Missed | Passed |
The instructions your model reads when the skill loads.
Validates Claude Code plugins against architectural standards. This file is a navigation guide; detailed content lives in references/.
Run validation on a plugin:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/validate-plugin.py <plugin-path>
For specific checks only:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/validate-plugin.py <plugin-path> --check=manifest,frontmatter
| Component | When to Use | Key Requirements |
|---|---|---|
| Instruction-type Skills | User-invoked workflows, linear process | Imperative voice, phase-based, declared in commands; name with use-<action> prefix (e.g., use-kicad-cli) |
| Knowledge-type Skills | Reference knowledge for agents | Declarative voice, topic-based, declared in skills; name with using-<topic> prefix (e.g., using-git-worktrees) |
| Agents | Isolated, specialized decision-making | Restricted tools, 2-4 <example> blocks, isolated context |
| MCP Servers | External tool/data integration | stdio/http/sse transport, ${CLAUDE_PLUGIN_ROOT} paths |
| LSP Servers | IDE features (go to definition) | Language server binary, extension mapping |
| Hooks | Event-driven automation | Lifecycle events, command/http/mcp_tool/prompt/agent types |
| Monitors | Long-running watchers (logs, deploys) | name+command+description per entry; v2.1.105+ |
| Themes | Bundled color presets | JSON with name, base, overrides |
| Output Styles | Adjust response formatting | Markdown with name + description frontmatter |
See ./references/component-model.md for detailed selection criteria and ./references/components/ for implementation guides.
Three-tier token structure ensures efficient context usage:
| Level | Content | Token Budget | Loading |
|---|---|---|---|
| 1 | Metadata (name + description) | ~100 tokens | Always (at startup) |
test cases passed, vs 9 / 21 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.