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.

68

Quality

85%

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.

An exemplary overview-style skill body: dense, EmDash-specific guidance with no filler, executable scaffold and test instructions, and a clean one-level reference architecture verified against the actual bundle. The only improvements are adding small inline code snippets for routes/MCP/admin UI workflows and making validation sequencing more explicit.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence — no explanation of what a CMS, hook, or API is; every sentence carries EmDash-specific contracts (e.g., "Patch does not imply read", "decoded request/response bodies limited to 8 MiB"). The capability table rows each state a distinct grant with no padding.

5 / 5

Actionability

The scaffold workflow is fully executable (copy-paste `pnpm dlx @emdash-cms/plugin-cli init my-plugin` plus a complete `src/plugin.ts` example), and the test section names concrete host functions. Minor gaps remain: routes, MCP tools, and admin UI sections give precise directive prose but no inline executable examples, deferring to references.

4 / 5

Workflow Clarity

Sections follow a coherent lifecycle (choose format → scaffold → declare access → routes/hooks/UI → runner parity → test) with explicit decision guidance ("Use a sandboxed plugin unless...") and a dedicated test-boundary section distinguishing two test hosts. However, there is no explicit validate-then-proceed loop or error-recovery checkpoint inline, keeping it below a 5.

4 / 5

Progressive Disclosure

A ~130-line overview with all 12 referenced files verified to exist, one level deep in references/ (only sibling cross-links, no nesting), each clearly signaled at the point of use ("Read [Hooks](./references/hooks.md)") plus a consolidated References index. Detail is appropriately offloaded — references total ~2300 lines while the body stays an overview.

5 / 5

Total

18

/

20

Passed

Description

78%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, specific description in third person that clearly names the domain and its subsystems with an explicit 'Use when' clause. Its only weakness is that the trigger guidance and capability list, while accurate, are slightly narrower than the skill's full scope (testing and publishing are covered in the body but not surfaced here).

DimensionReasoningScore

Specificity

The description lists several specific capabilities ("sandboxed hooks, routes, storage, content and media APIs, MCP tools, and declarative admin UI, or native React and Astro extensions"), but omits notable parts of the skill's coverage such as testing and publishing, leaving minor gaps rather than the comprehensiveness of a 5.

4 / 5

Completeness

Both what ("Create EmDash CMS plugins with sandboxed hooks, routes, storage...") and when ("Use when scaffolding or implementing an EmDash plugin") are explicitly stated in third person, but the when-clause covers only creation triggers and could be more specific about secondary scenarios (extending an existing plugin, adding an MCP tool), matching anchor 4 rather than 5.

4 / 5

Trigger Term Quality

Good keyword coverage: users would naturally say "EmDash plugin", "scaffold", "implement", "MCP tools", "hooks", "admin UI". A few natural terms are missing (e.g., "Block Kit", "manifest", file extensions like .jsonc), so it does not reach the synonym/extension comprehensiveness of a 5.

4 / 5

Distinctiveness Conflict Risk

"EmDash CMS" names a clear niche with distinct trigger phrases ("scaffolding or implementing an EmDash plugin"), so overlap risk with other skills is minimal — no generic phrasing that would fire for unrelated tasks.

5 / 5

Total

17

/

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/blog-cloudflare/.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.