CtrlK
BlogDocsLog inGet started
Tessl Logo

craftcms

CraftCMS integration. Manage data, records, and automate workflows. Use when the user wants to interact with CraftCMS data.

56

Quality

65%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/craftcms/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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 content is a strong, actionable CLI integration guide with a real connection-state feedback loop and tidy sectioning. Its main weaknesses are an unnecessary introductory explainer and promotional padding, plus slightly inconsistent step numbering.

Suggestions

Delete the opening "Craft CMS is a flexible, user-friendly content management system..." paragraph and the "fastest way to get a connection" / "focus on the integration logic" promotional asides; Claude already knows what a CMS is.

Fix the step numbering so labeled steps (1, 2, 3) align with the "Step 2" references, replacing the orphaned "1b" heading.

Add an explicit validation/checkpoint before running mutating actions (e.g., confirm the action is non-destructive or dry-run first) given CraftCMS operations can be batch or destructive.

DimensionReasoningScore

Conciseness

The body is mostly efficient CLI commands, but opens with an unnecessary explainer ("Craft CMS is a flexible, user-friendly content management system...") and includes promotional padding ("This is the fastest way to get a connection", "so you can focus on the integration logic rather than auth plumbing") that Claude does not need, matching the mostly-efficient-but-could-be-tightened anchor.

3 / 5

Actionability

It provides copy-paste-ready commands throughout (npm install, membrane login, connection ensure, action list/run, request) plus a flag table for the proxy, but some examples retain placeholders (CONNECTION_ID, actionId) and the "Searching for actions" and "Popular actions" sections partially overlap, leaving minor gaps versus fully comprehensive coverage.

4 / 5

Workflow Clarity

The connect-to-ready flow is clearly sequenced with a genuine feedback loop (poll --wait, then branch on READY / BUILDING / CLIENT_ACTION_REQUIRED / CONFIGURATION_ERROR and re-poll after user action), but the section numbering is inconsistent ("1b" and references to "Step 2" without a labeled Step 1/2) and there is no explicit validation before running potentially destructive actions.

4 / 5

Progressive Disclosure

The body is well-organized into clearly headed sections (Overview, Install, Authentication, Connecting, Searching, Running actions, Proxy, Best practices) with no nested references, and as a single-purpose CLI integration the inline commands are appropriately placed; the long element taxonomy and proxy flag table are slightly bulky but reasonable, fitting the good-structure anchor.

4 / 5

Total

15

/

20

Passed

Description

62%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 functional and includes an explicit use-when trigger plus a named app niche, but its action verbs are generic and it lacks richer trigger synonyms. It clears the bar for both what and when without over-claiming.

Suggestions

Replace generic verbs with concrete CraftCMS capabilities, e.g. "query and update entries, manage assets and users, automate content workflows."

Broaden trigger terms to natural user phrasing such as "CraftCMS entries, content management, sections, or asset volumes."

Make the when-clause more specific by referencing the entities users actually mention (entries, sections, categories) rather than only "CraftCMS data."

DimensionReasoningScore

Specificity

The description names the CraftCMS domain and lists several actions ("Manage data, records, and automate workflows"), but those actions are generic verbs rather than concrete capabilities like "extract" or "fill," matching the anchor for domain + 1-2 actions that are not comprehensive.

3 / 5

Completeness

It states both what it does ("Manage data, records, and automate workflows") and when to use it ("Use when the user wants to interact with CraftCMS data"), but the trigger could be more specific (e.g., entries, content management), matching the anchor for both what and when with a when that could be more explicit.

4 / 5

Trigger Term Quality

It surfaces relevant keywords (CraftCMS, data, records, workflows) and an explicit trigger ("Use when the user wants to interact with CraftCMS data"), but offers few natural synonyms or variations a user might actually say, fitting the anchor for some relevant keywords with missing variations.

3 / 5

Distinctiveness Conflict Risk

The explicit CraftCMS app name carves out a clear niche with low conflict risk, but the generic "manage data, records, automate workflows" phrasing introduces minor overlap with other data-integration skills, fitting the mostly-distinct anchor.

4 / 5

Total

14

/

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.

Validation15 / 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
membranedev/application-skills
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.