CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

migration-migrate-component

Use when a component needs migration to the target architecture or framework version.

Quality

67%

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 ./packs/svelte/skills/migration-migrate-component/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

86%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 strong, token-efficient migration procedure: exact syntax transformation patterns and executable validation commands with clean step sequencing. The only gaps are two tersely stated steps (composition pattern, import mapping) that lack how-to detail, and the absence of a fix-and-retry loop around validation.

Suggestions

Add a one-line feedback loop after step 7, e.g. 'If svelte-check reports errors, fix them and re-run before considering the migration complete.'

Give step 5 a concrete pointer or micro-example of the composition pattern (or reference the specific ARCHITECTURE.md subsection that defines it), and specify how to map importers (e.g. 'Grep for the component filename across src/').

DimensionReasoningScore

Conciseness

The body is a lean before→after conversion table ('export let prop -> let { prop }: Props = $props()', 'on:click|preventDefault -> onclick={(e) => { e.preventDefault(); handler(e) }}') plus three validation commands, with no explanation of concepts Claude already knows; version references are structured as old-pattern→new-pattern mappings rather than time-sensitive prose.

5 / 5

Actionability

The conversion mappings and validation commands ('npx svelte-check --tsconfig ./tsconfig.json', 'npx vite build') are copy-paste ready and cover the common cases, but 'Apply composition pattern if there is prop drilling' and 'Map who imports this component' state goals without any method or example, leaving minor executable gaps.

4 / 5

Workflow Clarity

A clear 7-step sequence ends in an explicit validation step with concrete commands, but there is no error-recovery feedback loop (e.g., 'if svelte-check fails, fix and re-run'), which anchor 5 requires; anchor 4 (clear sequence, most checkpoints, minor validation gaps) is the best fit.

4 / 5

Progressive Disclosure

The body is 43 well-organized lines with numbered steps and a single clearly-signaled one-level external reference ('docs/ARCHITECTURE.md section 5'), and no bundle files are needed — matching the rubric's simple-skill exception for under-50-line skills.

5 / 5

Total

18

/

20

Passed

Description

36%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 provides a clear trigger condition but never states what the skill does, and its deliberate genericity ('target architecture or framework version') hides that this is a Svelte 4→5 runes migration. This weakens trigger matching for users who say 'migrate to Svelte 5' and raises conflict risk with other migration skills.

Suggestions

Lead with an explicit third-person capability statement, e.g. 'Migrates Svelte components from Svelte 4 patterns to Svelte 5 runes (props, reactive statements, events, slots, lifecycle) and SvelteKit 1 to current APIs.'

Include the natural trigger terms users actually say — 'Svelte 4', 'Svelte 5', 'runes', 'upgrade' — in the 'Use when' clause so the skill is matched and distinguished from other frameworks' migration skills.

Combine what and when in one description: 'Migrates Svelte 4 components to Svelte 5 runes. Use when a component needs upgrading to Svelte 5, converting to runes, or migrating to the project's target architecture.'

DimensionReasoningScore

Specificity

The description is a single trigger clause ('Use when a component needs migration to the target architecture or framework version') that names the domain but states no concrete action — it never says what the skill does (e.g., 'Migrates/Converts...'), matching anchor 2 rather than 3.

2 / 5

Completeness

Only the 'when' is present ('Use when a component needs migration...'); the 'what' is never explicitly stated, which is anchor 2's 'only when is present without what' — scoring only what is explicitly written rules out inferring the migration capability.

2 / 5

Trigger Term Quality

It includes relevant keywords ('component', 'migration', 'framework version') but omits the terms users would naturally say — 'Svelte', 'Svelte 5', 'runes', 'upgrade' — so it matches anchor 3 (relevant keywords, missing common variations) rather than 4.

3 / 5

Distinctiveness Conflict Risk

'Component' and 'framework version' are generic across ecosystems, so this would overlap with any React/Vue/Angular component-migration skill; it is somewhat specific but not distinct enough for anchor 4 without naming the concrete framework.

3 / 5

Total

10

/

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

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository

fernandezbaptiste/specialist-agent

Path

packs/svelte/skills/migration-migrate-component/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.