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

86%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 a high-quality overview: it front-loads the format decision, provides executable scaffold and hook examples, gives exact capability identifiers for the trust contract, and defers API detail to a verified, well-signaled set of one-level-deep references. Its only weaknesses are mild redundancy in the reference listings and a workflow whose sequence and validation are implicit in section structure rather than explicit stepwise checkpoints.

Suggestions

Deduplicate the reference links: the final References section repeats nine links already given inline; either annotate each entry with its topic only once or drop the inline duplicates in favor of the consolidated list.

Make the build sequence explicit with a short numbered overview (choose format → scaffold → declare capabilities in emdash-plugin.jsonc → implement hooks/routes/UI → test with the appropriate host) so validation checkpoints are steps rather than implied by section order.

Add a minimal emdash-plugin.jsonc snippet next to the capability table so the declaration step is as copy-paste ready as the scaffold and plugin.ts examples.

DimensionReasoningScore

Conciseness

The body is dense and free of padding — every section carries EmDash-specific constraints Claude cannot infer, with no explanation of known concepts. Minor trims exist: nine reference links are duplicated between inline sections and the final References list, and a few aphoristic phrases ("The manifest is the identity and trust contract") could be tightened.

4 / 5

Actionability

The common path is fully executable: copy-paste scaffold commands ("pnpm dlx @emdash-cms/plugin-cli init my-plugin"), a complete runnable plugin.ts example, an exact capability-identifier table for declarations, and named test-host APIs (createPluginTestHost(), host.http.respond(), host.http.requests()). Deeper code is properly delegated to reference files rather than inlined.

5 / 5

Workflow Clarity

Section ordering follows a coherent build sequence (choose format → scaffold → declare access → routes/hooks/UI → runner parity → test), and the scaffold block ends with an immediate validation step ("pnpm run test") plus a dedicated two-tier production-boundary testing section with disposal instructions. It stops short of 5 because checkpoints are conveyed through section flow rather than explicit stepwise validation with error-recovery loops.

4 / 5

Progressive Disclosure

The body is a well-organized overview with clearly signaled, one-level-deep references: every one of the 12 linked reference files exists in ./references/, links appear at their point of need with descriptive text ("Read the focused reference for the API being used"), and cross-links among reference files stay within one level. The inline capability table is appropriately placed as decision material rather than misplaced detail.

5 / 5

Total

18

/

20

Passed

Description

100%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 exemplary: it enumerates the skill's concrete capabilities in third person, distinguishes sandboxed from native plugin formats, and closes with an explicit "Use when" trigger tied to natural user phrasing. It is concise, specific, and unambiguous about both scope and activation conditions.

DimensionReasoningScore

Specificity

The description lists multiple concrete capabilities — "sandboxed hooks, routes, storage, content and media APIs, MCP tools, and declarative admin UI, or native React and Astro extensions" — comprehensively covering the plugin system's surface area with no vague filler. It uses third person ("Create") as required.

5 / 5

Completeness

It explicitly answers both what ("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") and when ("Use when scaffolding or implementing an EmDash plugin") with a concrete trigger clause.

5 / 5

Trigger Term Quality

It includes the natural phrases a user would say when needing this skill: "EmDash CMS plugins", "scaffolding or implementing an EmDash plugin", plus "hooks", "routes", "MCP tools", "React", "Astro", and "admin UI". Coverage of the domain's natural vocabulary is comprehensive.

5 / 5

Distinctiveness Conflict Risk

"EmDash CMS plugins" names a clear niche with distinct triggers; no other skill category would plausibly compete for these queries, so conflict risk is minimal.

5 / 5

Total

20

/

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

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.