CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

claude-code-plugin-development

This skill should be used when the user asks to "create a plugin", "build a plugin", "write a plugin", or wants to bundle agents, hooks, commands, skills, or MCP servers into a distributable Claude Code plugin.

78

1.93x
Quality

75%

Does it follow best practices?

Impact

93%

1.93x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/toolkit/skills/claude-code-plugin-development/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is information-dense, Claude-Code-specific, and largely actionable, with a genuinely useful checklist and troubleshooting content. Its main weakness is architectural: it behaves as a miniature reference document rather than an overview, duplicating roughly half of its content from the reference files it simultaneously points to, and it never lays out a sequenced create-to-verify workflow. The Permissions example is also malformed markdown.

Suggestions

Cut the sections duplicated from the reference files — 'CLI Quick Reference', 'Installation Scopes', 'Plugin Components Summary', and 'Common Issues' — leaving only the links to references/cli-commands.md, references/plugin-components.md, and references/debugging.md; this would roughly halve SKILL.md's token cost (conciseness, progressive_disclosure).

Add a numbered creation workflow — 1. scaffold the plugin structure, 2. write .claude-plugin/plugin.json, 3. add components at root, 4. add to marketplace.json and install, 5. verify with `claude --debug` — folding the existing Checklist items in as inline validation checkpoints (workflow_clarity).

Fix the Permissions section: repair the malformed nested code fences (the inner ```bash block breaks the outer ```yaml fence) and correct the terminology — `!` is the bang prefix for command injection, not 'backticks' — and move the marketplace structure and full marketplace.json example into a dedicated reference file (actionability, progressive_disclosure).

DimensionReasoningScore

Conciseness

The body is dense and free of padded explanations of concepts Claude already knows, but it could be tightened considerably: the 'CLI Quick Reference', 'Installation Scopes' table, 'Plugin Components Summary', and 'Common Issues' sections all duplicate content that already lives in references/cli-commands.md, references/plugin-components.md, and references/debugging.md, roughly doubling the token cost of what an overview SKILL.md needs. Not a 2 because there is no fluffy prose or over-explanation — the issue is redundant placement rather than verbosity — and not a 4 because the duplication is systematic across four sections, not minor.

3 / 5

Actionability

The body provides concrete, mostly executable guidance: real directory trees, a working minimal plugin.json, actual CLI commands, and specific fix commands for common issues. It falls short of 5 because the Permissions 'Solution' example is malformed — a ```bash block nested inside a ```yaml block breaks markdown fence rendering — and the terminology is wrong ('`!` backticks' misnames the `!` bang prefix), leaving one key example not copy-paste ready.

4 / 5

Workflow Clarity

Creating a plugin is a multi-step process (scaffold structure, write manifest, add components, install from marketplace, verify), but the body is organized as reference material with no sequenced workflow — the sequence must be inferred from scattered sections. The final Checklist does provide validation checkpoints ('Test with `claude --debug` to verify loading'), which keeps this above anchor 2 where validation is absent, but the checkpoints are disconnected from any step flow rather than embedded in a clear sequence as anchor 4 requires.

3 / 5

Progressive Disclosure

All four referenced files are real, one level deep, and clearly signaled with a 'You MUST read these references' list — good navigation. However, scored against the actual bundle structure, substantial content that belongs in those references is inlined in SKILL.md: the marketplace directory structure and full marketplace.json example (reference-grade material with no dedicated file), plus the CLI commands, scopes table, components summary, and common-issues sections that duplicate the existing reference files. This 'content that should be separate is inline' failure matches anchor 3; it is not 4 because the duplication is more than minor organization gaps, and not 2 because structure and signaling are strong.

3 / 5

Total

13

/

20

Passed

Description

83%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: it names concrete capabilities, states an explicit 'Use when...' trigger with quoted natural user phrases, and occupies a distinct niche. Its only weaknesses are modest gaps in action/keyword coverage (LSP servers, marketplace operations) and slight overlap risk with adjacent authoring skills.

DimensionReasoningScore

Specificity

The description lists several concrete actions — 'create a plugin', 'build a plugin', 'write a plugin', and 'bundle agents, hooks, commands, skills, or MCP servers into a distributable Claude Code plugin' — which matches the 'lists several specific actions; minor gaps in coverage' anchor. It falls short of 5 because coverage is not comprehensive: LSP servers, marketplaces, and installation/debugging tasks the skill actually covers are absent.

4 / 5

Completeness

It explicitly answers 'when' with concrete quoted trigger phrases ('This skill should be used when the user asks to "create a plugin"...') and answers 'what' with a clear capability statement ('bundle agents, hooks, commands, skills, or MCP servers into a distributable Claude Code plugin'). This matches the anchor-5 pattern of both what and when stated explicitly with concrete trigger phrases; a 4 would require the 'when' to be less explicit than it is.

5 / 5

Trigger Term Quality

'create a plugin', 'build a plugin', 'write a plugin' are exactly the natural phrases a user would say, plus component keywords (agents, hooks, commands, skills, MCP servers). A few natural terms are missing — e.g., 'make a plugin', 'develop a plugin', 'publish a plugin', 'plugin marketplace', 'install a plugin' — so it fits anchor 4 rather than the comprehensive synonym coverage of 5.

4 / 5

Distinctiveness Conflict Risk

The 'distributable Claude Code plugin' niche is distinct with dedicated trigger phrases, so it is above the 'somewhat specific but could still overlap' level of 3. It is not a 5 because the generic phrase 'create a plugin' could overlap with closely related authoring skills (e.g., standalone skill authoring or in-session plugin/mod authoring), a minor conflict risk.

4 / 5

Total

17

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

Total

15

/

16

Passed

Repository

dwmkerr/claude-toolkit

Path

plugins/toolkit/skills/claude-code-plugin-development/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.