CtrlK
BlogDocsLog inGet started
Tessl Logo

enonic-controller-generator

Generates Enonic XP controller files (TypeScript/JavaScript) and paired XML descriptors for pages, parts, and layouts. Covers lib-portal imports, HTTP handler exports, region definitions, Thymeleaf/Mustache rendering, and response processors. Use when scaffolding page controllers with regions, part controllers with config access, layout controllers with multi-region support, or response processors for Enonic XP sites. Do not use for content type schemas, headless Next.js/React frontends, GraphQL Guillotine queries, or non-Enonic web frameworks.

80

Quality

100%

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

100%Weight 40%Scale 1-3

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-engineered generator skill: lean, actionable procedures with concrete commands and paths, explicit validation and error-recovery loops, and clean one-level-deep progressive disclosure into references/assets/scripts. Minor note: a couple of pinned library versions are mildly time-sensitive.

DimensionReasoningScore

Conciseness

Lean procedural body that assumes competence — no 'Enonic XP is a platform' concept padding, just actionable steps; the Step 2 component-type lines serve disambiguation rather than explanation. Not the level below because there is no redundant tutorial prose, though pinned dependency versions (lib-thymeleaf:2.0.0, lib-mustache:2.1.0) are a minor time-sensitivity flag.

3 / 3

Actionability

Provides copy-paste-ready specifics — 'node scripts/find-enonic-targets.mjs <workspace-root>', exact target paths like '<sitePath>/pages/<name>/<name>.xml', gradle coordinates 'com.enonic.xp:lib-portal:${xpVersion}', and view attributes 'data-portal-region'/'data-th-each' — and points to complete executable templates in assets/. Not the level below because guidance is concrete and executable rather than pseudocode.

3 / 3

Workflow Clarity

Nine clearly sequenced steps with explicit validation (Step 9 checklist: filename-vs-directory, region-name parity) and feedback loops (Error Handling: 404 → troubleshooting.md, view errors → verify co-location; existing component → ask overwrite/rename). Not the level below because checkpoints are explicit, not implicit.

3 / 3

Progressive Disclosure

Overview body points to one-level-deep, well-signaled references — 'Read references/controller-reference.md for the XML descriptor schema', assets/*.template.ts, scripts/find-enonic-targets.mjs — all verified to exist with no nested indirection. Not the level below because content is appropriately split across references/assets rather than inlined.

3 / 3

Total

12

/

12

Passed

Description

100%Weight 40%Scale 1-3

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, gives explicit positive and negative triggers, and carves out a distinct Enonic XP niche. It models the 'what + when' pattern well with no padding.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'Generates Enonic XP controller files (TypeScript/JavaScript) and paired XML descriptors' plus 'lib-portal imports, HTTP handler exports, region definitions, Thymeleaf/Mustache rendering, and response processors' — matching the multiple-specific-actions anchor; not the level below because it is comprehensive rather than naming only a few actions.

3 / 3

Completeness

Explicitly answers both what ('Generates Enonic XP controller files... and paired XML descriptors') and when ('Use when scaffolding page controllers with regions... or response processors for Enonic XP sites'), plus negative triggers; not the level below because the 'when' is stated explicitly rather than implied.

3 / 3

Trigger Term Quality

Natural terms an Enonic user would say — 'page controllers with regions', 'part controllers with config access', 'layout controllers with multi-region support', 'response processors' — give good coverage across component types; not below because these are the actual user-facing nouns, not abstract jargon.

3 / 3

Distinctiveness Conflict Risk

Clear Enonic XP niche with explicit exclusions ('Do not use for content type schemas, headless Next.js/React frontends, GraphQL Guillotine queries, or non-Enonic web frameworks') that prevent adjacent-skill conflicts; not below because the exclusions remove realistic overlap risk.

3 / 3

Total

12

/

12

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
webmaxru/enonic-agent-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.