CtrlK
BlogDocsLog inGet started
Tessl Logo

plugin-structure

This skill should be used when the user asks to "create a plugin", "scaffold a plugin", "understand plugin structure", "organize plugin components", "set up plugin.json", "use ${CLAUDE_PLUGIN_ROOT}", "add commands/agents/skills/hooks", "configure auto-discovery", or needs guidance on plugin directory layout, manifest configuration, component organization, file naming conventions, or Claude Code plugin architecture best practices.

85

1.96x
Quality

79%

Does it follow best practices?

Impact

100%

1.96x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/plugin-structure/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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 highly actionable and well-organized, with concrete directory layouts, manifest schemas, and component formats that make it easy to follow for plugin creation. It is weakened by redundancy (repeated rules across sections), generic best-practice filler, and poor progressive disclosure: a vague trailing pointer to a non-existent examples/ directory and duplicated manifest detail instead of clearly signaled links to the existing reference files.

Suggestions

Replace the vague trailing pointer with explicit links at the relevant sections (e.g., 'Full manifest field reference: [manifest-reference.md](references/manifest-reference.md); advanced patterns: [component-patterns.md](references/component-patterns.md)') and remove the mention of the non-existent examples/ directory.

Deduplicate repeated guidance — state the 'custom paths supplement defaults' rule and the ${CLAUDE_PLUGIN_ROOT} usage rules once, and trim the inline manifest field detail that is already covered in references/manifest-reference.md.

Cut generic best-practice filler (e.g., 'Test thoroughly', 'Document breaking changes', avoid-lists like 'utils/, misc.md, temp.sh') that adds tokens without adding plugin-specific value.

DimensionReasoningScore

Conciseness

The bulk is concrete structural guidance, but there is noticeable padding: the 'custom paths supplement defaults' rule is stated in both the manifest section and the Auto-Discovery section, ${CLAUDE_PLUGIN_ROOT} path guidance is repeated across three sections, and Best Practices/Naming contain generic filler ('Test thoroughly', 'Avoid: utils/'). This fits 'mostly efficient but includes some unnecessary explanation or could be tightened' better than the noticeably-verbose anchor below it.

3 / 5

Actionability

The body provides copy-paste-ready material throughout: full directory trees, complete plugin.json examples (required and recommended fields), component file formats with frontmatter, hooks JSON configuration with event lists, and MCP server JSON — specific examples cover the common cases. This matches the fully-executable top anchor.

5 / 5

Workflow Clarity

There is no explicit numbered creation sequence, but the directory structure, critical rules, and Common Patterns make the build path unambiguous, and the Troubleshooting section provides error-to-diagnosis-to-fix recovery (component not loading, path resolution, auto-discovery failures). Minor checkpoint gaps relative to explicit validation steps keep it below 5.

4 / 5

Progressive Disclosure

Two real, relevant reference files exist (references/component-patterns.md, references/manifest-reference.md), but the body's only pointer is a single vague trailing line — 'see files in references/ and examples/ directories' — with no file names or links, and the referenced examples/ directory does not exist. Additionally, manifest field detail is duplicated both inline and in references/manifest-reference.md, fitting 'references present but not clearly signaled; content that should be separate is inline'.

3 / 5

Total

15

/

20

Passed

Description

87%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.

The description is a strong trigger-oriented description: it explicitly answers both what topics the skill covers and when to use it, with concrete, natural trigger phrases and specific technical artifacts. Its only weakness is that capabilities are framed as user requests ('asks to create a plugin') rather than as the skill's own actions, leaving the 'what' slightly implicit.

DimensionReasoningScore

Specificity

Phrases like 'set up plugin.json', 'use ${CLAUDE_PLUGIN_ROOT}', 'add commands/agents/skills/hooks', and 'manifest configuration' list several concrete, specific actions and topics. It falls short of a 5 because the actions are framed as user requests rather than the skill's own capabilities, and the 'what' is only implied via 'needs guidance on'.

4 / 5

Completeness

The 'when' is explicitly and extensively answered with concrete trigger phrases ('when the user asks to "create a plugin"...'), and the 'what' is explicitly stated via 'needs guidance on plugin directory layout, manifest configuration, component organization, file naming conventions'. Both are present with concrete triggers, matching the top anchor.

5 / 5

Trigger Term Quality

Natural user phrases are well covered with synonyms ('create a plugin', 'scaffold a plugin', 'understand plugin structure', 'organize plugin components', 'configure auto-discovery'), plus specific technical triggers like plugin.json. A few natural variants are missing (e.g., 'make/build a plugin', 'publish a plugin', 'plugin marketplace'), so it fits 'good keyword coverage; a few natural terms missing' rather than comprehensive.

4 / 5

Distinctiveness Conflict Risk

It occupies a clear niche — Claude Code plugin architecture and directory layout — with distinct, specific triggers (plugin.json, ${CLAUDE_PLUGIN_ROOT}, auto-discovery) that are unlikely to fire for unrelated skills, matching the minimal-conflict-risk anchor.

5 / 5

Total

18

/

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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
Galaxy-Dawn/claude-scholar
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.