CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

dynamic-forms

Build forms that change as they are filled in — cascading or dependent dropdowns, conditional fields and sections, option lists that depend on another field, STI type switches — with the turbo_form gem. Use when a form must update without a full page reload, when adding or changing a dynamic form, or when touching existing `turbo_fetch` routes, actions, or `turbo-form`/`turbo-fetch` Stimulus wiring.

Quality

96%

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

93%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.

A lean, highly actionable body: copy-paste setup and form code, API detail correctly deferred to the gem's README rather than restated, and crucial migration policy for superseded turbo_fetch wiring. The only weakness is the legacy-conversion workflow, which directs deleting routes, actions, views, and spec helpers without an explicit validation step.

Suggestions

Add a validation checkpoint to the legacy-conversion path, e.g. "after converting, run the system specs with expect_dynamic_form_request before deleting the turbo_fetch wiring".

Sequence the conversion as ordered steps (port the form to dynamic: true / dynamic_trigger, update specs, then delete the route, action, view, and spec helpers) so nothing is deleted while still referenced.

DimensionReasoningScore

Conciseness

About 30 lean lines that explain only project-specific facts Claude cannot know ("The trigger re-renders the page through its own new or edit action with the submitted values assigned", "The engine defines the concern") and explicitly refuses to restate the README ("This skill does not restate it"); every token earns its place with no padding or explanation of known Rails/Turbo concepts.

5 / 5

Actionability

Fully executable, copy-paste ready guidance: `bin/rails generate turbo_form:install`, the `resources :products, concerns: :turbo_form` route snippet, and the `simple_form_for @product, dynamic: true` slim example with `dynamic_trigger: true` covering the common dependent-dropdown case plus the mechanics of why the second select fills.

5 / 5

Workflow Clarity

Setup is clearly sequenced ("Check the Gemfile for turbo_form. If it is missing, add it and run `bin/rails generate turbo_form:install`, then draw the `:turbo_form` route concern"), but the legacy-conversion path ("convert it to turbo_form and delete the route, action, view, and spec helper usage it no longer needs") is a multi-step refactor with no verification checkpoint such as running the system specs before deleting the old wiring — a minor validation gap that fits anchor 4 rather than 5.

4 / 5

Progressive Disclosure

Under 50 lines with no bundle files needed; sections (Setup, Shape, legacy turbo_fetch handling) are well organized and the one external reference is clearly signaled at one level deep: "The gem's README is the API documentation. Read it before writing or changing a dynamic form. This skill does not restate it."

5 / 5

Total

19

/

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 names concrete capabilities with natural synonyms, explicitly answers both what and when with concrete trigger phrases, and occupies a distinct niche with tool-specific terms that minimize conflict risk. Third-person voice is used throughout and it stays concise while being comprehensive.

DimensionReasoningScore

Specificity

"Build forms that change as they are filled in — cascading or dependent dropdowns, conditional fields and sections, option lists that depend on another field, STI type switches — with the turbo_form gem" lists multiple concrete capabilities covering the whole dynamic-form domain; it is not score 4 because there are no coverage gaps within its niche.

5 / 5

Completeness

Explicitly answers both: what ("Build forms that change as they are filled in … with the turbo_form gem") and when ("Use when a form must update without a full page reload, when adding or changing a dynamic form, or when touching existing turbo_fetch routes, actions, or turbo-form/turbo-fetch Stimulus wiring") with concrete trigger phrases.

5 / 5

Trigger Term Quality

Natural phrases a user would actually say are all present — "cascading or dependent dropdowns" (a synonym pair), "conditional fields and sections", "dynamic form", "update without a full page reload" — plus tool-specific terms ("turbo_fetch", "turbo-form/turbo-fetch Stimulus wiring"); matches the comprehensive-with-synonyms anchor, not 4, since no common variation is missing.

5 / 5

Distinctiveness Conflict Risk

Clear niche — dynamic forms via the turbo_form gem in RoleModel Rails apps — with distinct tool-specific triggers (turbo_form, turbo_fetch, turbo-form controller), so minimal risk of triggering for the wrong skill; not 4, since it does not overlap with any closely related generic skill.

5 / 5

Total

20

/

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

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository

RoleModel/rolemodel-skills

Path

skills/dynamic-forms/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.