CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

migrate-frontend-forms

Guide for migrating forms from the legacy JsonForm/FormModel system to the new TanStack-based form system.

59

Quality

74%

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 ./.agents/skills/migrate-frontend-forms/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

78%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 highly actionable, project-specific migration reference: complete old/new code pairs, executable commands, anti-pattern warnings, and a closing checklist make it easy to execute correctly. Its main weaknesses are a monolithic single-file structure that inlines reference-grade detail and some redundant example sets that could be tightened.

Suggestions

Move the TanStack generics rules and the FormSearch/field-registry details into a references/ file (e.g. references/tanstack-types.md) and keep a short inline summary with a clearly signaled link, reducing SKILL.md to the mapping table plus per-feature essentials.

Trim redundant example sets — collapse the getData 'full' and 'Simpler pattern' examples into one, and cut the generics section from three ❌ examples to one or two.

DimensionReasoningScore

Conciseness

The body is dense and almost entirely project-specific knowledge Claude would not already know (feature mapping table, old/new code pairs, TanStack generics rules), with no general-concept padding. However, there are more than minor trimmable redundancies: the getData section repeats a full example as a 'Simpler pattern', the generics section includes three ❌ examples where fewer would do, and the inline rules duplicate content it points to in static/AGENTS.md.

4 / 5

Actionability

Every legacy feature has a concrete old/new code pair, the mapping table gives at-a-glance translations, the command 'pnpm run extract-form-fields' is executable, and the complete SlugForm component is copy-paste adaptable. The specific examples cover the common migration cases (confirm, getData, error mapping, saveMessage, resetOnError, nullable values, conditional required fields).

5 / 5

Workflow Clarity

The mapping table → per-feature details → final migration checklist gives a clear, followable sequence, and registry regeneration ('pnpm run extract-form-fields' + commit) acts as a checkpoint. It falls short of 5 because there is no verification loop for the migrated code itself (e.g., run typecheck/tests and fix issues before finishing).

4 / 5

Progressive Disclosure

The skill is a single ~760-line SKILL.md with no bundle files at all (no references/, scripts/, or assets/ directories). Section structure is good, but substantial detail that could live in reference files is inlined — the TanStack generics deep-dive, the FormSearch/field-registry internals, and the full feature-detail sections — with only one cross-skill link (../generate-frontend-forms/SKILL.md) that is not part of this skill's bundle.

3 / 5

Total

16

/

20

Passed

Description

61%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 clear, third-person description with a specific niche and good natural keywords, but it is incomplete: it answers 'what' without any 'when to use' guidance and mentions only one action. Adding a 'Use when...' clause and one or two concrete sub-actions would move it toward the top anchors.

Suggestions

Add an explicit trigger clause, e.g. 'Use when migrating Sentry settings forms off JsonForm/FormModel, or when the user mentions TanStack/Scraps form migration.'

Enumerate one or two concrete actions in the description, such as 'maps legacy field options (confirm, getData, mapFormErrors, saveOnBlur) to their new TanStack equivalents and preserves SettingsSearch indexing.'

Include natural synonyms users might say ('frontend forms', 'settings forms', 'Scraps') to broaden trigger coverage.

DimensionReasoningScore

Specificity

The description names the domain and both concrete systems ('legacy JsonForm/FormModel system', 'new TanStack-based form system') but lists only one action ('migrating forms') without mentioning the concrete sub-operations the body covers (field mapping, error handling, search preservation). It sits between the anchor that names a domain with minimal actions and one that lists several concrete actions.

3 / 5

Completeness

It clearly answers 'what' ('Guide for migrating forms from the legacy JsonForm/FormModel system to the new TanStack-based form system') but has no 'Use when...' clause or equivalent trigger guidance, which caps completeness at 3 per the rubric.

3 / 5

Trigger Term Quality

Terms like 'migrating forms', 'JsonForm', 'FormModel', and 'TanStack' match what a developer in this codebase would naturally say when needing this skill. A few natural synonyms ('frontend forms', 'settings forms', 'Scraps') are missing.

4 / 5

Distinctiveness Conflict Risk

Naming both the specific legacy system (JsonForm/FormModel) and the target system (TanStack) carves out a clear niche with minimal conflict risk. It is not a 5 because the absence of explicit trigger phrases means it relies solely on the 'what' for matching against related form skills.

4 / 5

Total

14

/

20

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.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

relative_links

Relative link issues: 1 suspicious

Warning

Total

14

/

16

Passed

Repository

getsentry/sentry

Path

.agents/skills/migrate-frontend-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.