CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

creating-plugins

Create EmDash CMS plugins with sandboxed hooks, routes, storage, content and media APIs, MCP tools, and declarative admin UI, or native React and Astro extensions. Use when scaffolding or implementing an EmDash plugin.

75

Quality

94%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

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

An exemplarily lean, dense overview with executable scaffold code, a real capability contract table, and well-signaled one-level-deep references that all resolve to actual bundle files. The only notable gap is the absence of an explicit error-recovery/feedback loop in the testing workflow, which keeps workflow clarity at 4 rather than 5.

DimensionReasoningScore

Conciseness

The body contains no explanations of concepts Claude already knows; every sentence carries EmDash-specific contracts such as "Sandboxed runtime code can use Web APIs but not Node.js built-ins" and "decoded request/response bodies limited to 8 MiB". It is lean throughout and assumes competence, matching the score-5 anchor; there is no padding to trim as the score-4 anchor would require.

5 / 5

Actionability

The scaffold block ("pnpm dlx @emdash-cms/plugin-cli init my-plugin") and the complete, runnable `src/plugin.ts` example are copy-paste ready, and specific API names (`ctx.settings`, `ctx.kv`, `createPluginTestHost()`, `host.http.respond()`) cover the common cases, matching the score-5 anchor.

5 / 5

Workflow Clarity

Sections imply a clear sequence — choose format, scaffold, declare access, build routes/hooks/UI, then "Test the production boundary" with two concrete test-host factories and "Dispose every host after use". It falls short of the score-5 anchor because there is no explicit validate-fix-retry feedback loop (e.g., what to do when `pnpm run test` fails), but checkpoints are more present than absent, so it is above a 3.

4 / 5

Progressive Disclosure

The SKILL.md is a genuine overview: each section points to its one-level-deep reference ("Read [Hooks](./references/hooks.md)", "[Block Kit](./references/block-kit.md)"), all 12 referenced files exist in ./references/, and a consolidated References list aids navigation — a direct match for the score-5 anchor.

5 / 5

Total

19

/

20

Passed

Description

92%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, third-person description that states concrete capabilities comprehensively and pairs them with an explicit, natural 'Use when...' trigger clause. The only minor gap is that a few user phrasings (e.g., 'build' or 'develop a plugin', 'EmDash extension') are not covered as triggers.

DimensionReasoningScore

Specificity

The description enumerates the full concrete capability surface — "sandboxed hooks, routes, storage, content and media APIs, MCP tools, and declarative admin UI, or native React and Astro extensions" — giving comprehensive, specific coverage of what building a plugin involves rather than generic language.

5 / 5

Completeness

It explicitly answers both questions: the "what" is creating plugins with the enumerated subsystems, and the "when" is the concrete trigger clause "Use when scaffolding or implementing an EmDash plugin". Both are explicit with concrete trigger phrases, matching the score-5 anchor exactly; score 4 would require the 'when' to be less specific, which it is not.

5 / 5

Trigger Term Quality

Natural terms are present ("EmDash CMS plugins", "scaffolding or implementing an EmDash plugin", "MCP tools", "admin UI"), but common user variations like "build/develop a plugin" or "EmDash extension" are not covered; coverage is good with a few natural synonyms missing, matching the score-4 anchor rather than the comprehensive synonyms-and-extensions anchor at 5.

4 / 5

Distinctiveness Conflict Risk

"EmDash CMS" names a specific product niche with distinct triggers ("EmDash plugin", "sandboxed hooks", "MCP tools"); no other generic skill would plausibly match this description, so conflict risk is minimal.

5 / 5

Total

19

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

emdash-cms/emdash

Path

templates/starter/.agents/skills/creating-plugins/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.