CtrlK
BlogDocsLog inGet started
Tessl Logo

webiny-form-model

Building forms with the FormModel system — field types, renderers, layout, validation, conditional rules, computed fields, and dynamic zones. Use this skill when the developer needs to define form fields with the builder API, choose renderers, build layouts with tabs/rows/separators, add validation (Zod or imperative), use conditional visibility/disable rules, create computed fields, or work with object fields and templates (dynamic zones).

67

Quality

82%

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

65%

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

A highly actionable, code-dense reference for a proprietary API with no generic-concept padding, but it is a monolithic 770-line document that could be split across reference files, repeats several context/computed examples, and lacks a sequenced end-to-end form-building workflow.

Suggestions

Split the large reference into one-level-deep bundle files (e.g., references/field-types.md, renderers.md, layout.md, validation.md, context.md) and have SKILL.md overview + link to them, improving progressive_disclosure.

Add a short numbered 'building a form' workflow (define fields → choose renderers → layout → validation → submit) with a validation checkpoint (check form.vm.hasErrors before submit) to improve workflow_clarity.

Consolidate the five '.context()' examples and the repeated slug-computation example into one or two representative snippets to tighten conciseness.

DimensionReasoningScore

Conciseness

Mostly dense code/tables with no generic-concept padding, but repetition could be tightened — e.g., five near-identical '.context()' examples (sibling, nested, deep nesting, both, reading in renderer) and a slug-computation example repeated across computed/context sections; not score 3 because some illustrative repetition is unnecessary, not score 1 because it does not explain concepts Claude already knows.

2 / 3

Actionability

Abundant copy-paste-ready TypeScript ('fields.text().label("Title")...required("Title is required")', 'layout.row("firstName","lastName")', 'form.addRule(z.object({...}).refine(...))') plus exact method/renderer/operator tables; fully executable rather than pseudocode, matching the 'copy-paste ready' anchor.

3 / 3

Workflow Clarity

Content is organized by topic (fields, renderers, layout, validation) but there is no sequenced end-to-end 'build a form' workflow or validation checkpoints; a reader must synthesize the order. Not score 1 because sections are coherent and the submit/validation API is documented, not score 3 because no explicit sequenced process with checkpoints is given.

2 / 3

Progressive Disclosure

A single ~770-line monolithic SKILL.md with clear headings but no bundle files (references/, scripts/, assets/ absent); the field-types, renderers, layout, and validation references are inline material that could be split into separate files. Not score 1 because organization/sections are clear with no nested references, not score 3 because the far-over-50-lines reference is not split across signaled one-level-deep files.

2 / 3

Total

9

/

12

Passed

Description

100%

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, concrete description that names specific capabilities, provides an explicit 'Use when' trigger, and occupies a distinct niche. It answers what and when with natural, specific terms and shows no vague fluff or over-claims.

DimensionReasoningScore

Specificity

Lists many concrete actions — 'define form fields with the builder API, choose renderers, build layouts with tabs/rows/separators, add validation (Zod or imperative), use conditional visibility/disable rules, create computed fields, or work with object fields and templates' — matching the 'lists multiple specific concrete actions' anchor; not score 2 because it is comprehensive rather than naming only some actions.

3 / 3

Completeness

Explicitly answers both: what ('Building forms with the FormModel system — field types, renderers, layout, validation, conditional rules, computed fields, and dynamic zones') and when ('Use this skill when the developer needs to...'); the explicit 'Use this skill when' trigger keeps it at 3 rather than 2.

3 / 3

Trigger Term Quality

Natural developer phrasing is well covered — 'forms', 'form fields', 'validation', 'computed fields', 'conditional visibility/disable', 'layout', 'tabs/rows/separators' — terms a user would actually say; not score 2 because common variations are present rather than only some relevant keywords.

3 / 3

Distinctiveness Conflict Risk

Clear niche ('FormModel system', 'builder API', 'dynamic zones') tied to a specific framework, making mis-triggering unlikely; not score 2 because the triggers are specific enough to avoid overlap with generic form/code skills.

3 / 3

Total

12

/

12

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (772 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

16

Passed

Repository
webiny/webiny-js
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.