CtrlK
BlogDocsLog inGet started
Tessl Logo

stimulus-controllers

Create and register Stimulus controllers for interactive JavaScript features. Use when adding client-side interactivity, dynamic UI updates, or when the user mentions Stimulus controllers or JavaScript behavior.

63

Quality

79%

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/stimulus-controllers/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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 highly actionable — executable code, a critical registration command, and concrete naming conventions — with a clear numbered workflow and a useful troubleshooting checklist. Its weaknesses are efficiency and structure: it re-teaches the standard Stimulus API inline and keeps all ~205 lines in SKILL.md instead of splitting reference material into separate files.

Suggestions

Trim or drop the 'Key Concepts' section — targets, values, actions, and classes are standard Stimulus API that Claude already knows; keep only project-specific deviations (e.g., local conventions for controller organization).

Move the API reference (targets/values/actions/classes) and 'Common Patterns' into a references/ file (e.g. references/patterns.md) and link to them from SKILL.md, keeping the body as a lean create-register-use overview.

Add an explicit validation checkpoint in the main workflow (e.g., 'after running stimulus:manifest:update, confirm the controller appears in index.js before wiring HTML') so verification is part of the sequence rather than only in Troubleshooting.

DimensionReasoningScore

Conciseness

The "Key Concepts" section (~60 lines covering targets, values, actions, and classes) restates the standard Stimulus API that Claude already knows from training, and trivial patterns like "Toggle Visibility" and empty connect/disconnect stubs pad the body. The material is code-style rather than prose padding, so it is above level 2, but the unnecessary explanation is more than the 'minor instances' of level 4.

3 / 5

Actionability

Everything is executable: a copy-paste controller template, the concrete registration command `bin/rails stimulus:manifest:update`, a manual-registration fallback, and working Slim/HTML usage examples. The naming-conventions table with a concrete multi-word mapping ("bulk_submit_controller.js → \"bulk-submit\"") covers the common real cases.

5 / 5

Workflow Clarity

Creating a controller is a clearly numbered 1-2-3 sequence with the registration step flagged **CRITICAL** and a Troubleshooting section providing an error-recovery checklist (verify registration, re-run manifest update, check console). It falls short of level 5 because validation lives in a separate troubleshooting section rather than an explicit in-flow checkpoint before using the controller.

4 / 5

Progressive Disclosure

The ~205-line body is entirely inline with no bundle files or reference splits — the Stimulus API reference (targets, values, actions modifiers, classes) and "Common Patterns" are natural candidates for separate reference files per the rubric's overview-plus-references rationale. Sections and the one-level-deep "Related Skills" links are well organized, which lifts it above level 2's monolithic wall, but 'content that should be separate is inline' fits level 3 best.

3 / 5

Total

15

/

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 description that clearly states what the skill does and when to use it, with an explicit and natural trigger clause. The main gaps are limited action coverage beyond create/register and a couple of overly broad JavaScript triggers that could pull the skill in for unrelated frontend work.

DimensionReasoningScore

Specificity

"Create and register Stimulus controllers" names the domain and two concrete actions, but coverage stops there — no mention of wiring HTML, testing, or debugging. This matches the 'names domain and 1-2 concrete actions, but not comprehensive' anchor rather than the 'several specific actions' of level 4.

3 / 5

Completeness

It explicitly answers both questions: the "what" is "Create and register Stimulus controllers for interactive JavaScript features" and the "when" is a concrete "Use when adding client-side interactivity, dynamic UI updates, or when the user mentions Stimulus controllers or JavaScript behavior" clause. This mirrors the anchor-5 example structure exactly.

5 / 5

Trigger Term Quality

Natural phrases like "client-side interactivity", "dynamic UI updates", and "Stimulus controllers" are present in an explicit trigger clause. A few natural terms are missing or overly generic ("JavaScript behavior" is broad; no synonyms like "Stimulus JS"), so it falls just short of the comprehensive anchor 5.

4 / 5

Distinctiveness Conflict Risk

"Stimulus controllers" establishes a clear niche with distinct triggers, giving minimal conflict with unrelated skills. However, the generic "JavaScript behavior" and "client-side interactivity" triggers create minor overlap risk with general frontend-JS work, keeping it below level 5.

4 / 5

Total

16

/

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.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 3 suspicious

Warning

Total

15

/

16

Passed

Repository
RoleModel/rolemodel-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.