CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

migrate-framework

Use when switching a project or component between frameworks - React to Vue, Vue to Svelte, or any supported framework pair.

Quality

69%

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/migrate-framework/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%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 a dense, actionable reference built on concrete API mapping tables and a complete code example, with no token waste on concepts Claude already knows. Its weaknesses are implicit validation checkpoints with no error-recovery loop, and all reference material inlined in SKILL.md rather than split into per-pair reference files.

Suggestions

Add a concrete validation step with a fix-and-retry loop to Phase 4, e.g. run the target project's type-check/build command, and instruct fixing and re-running on failure.

Move the per-direction mapping tables and the worked example into one-level-deep reference files (e.g. references/react-to-vue.md), keeping SKILL.md as a lean overview with clearly signaled links.

Make Phase 3 steps executable — specify how to 'Adapt styling approach' and 'Test component renders' (e.g. which commands or checks to run).

DimensionReasoningScore

Conciseness

Dense mapping tables and a code example with zero padding — no explanations of what React or Vue are. The full before/after code pair and the sample output block are extra tokens beyond the core mappings, keeping it just short of lean.

4 / 5

Actionability

Concrete API mapping tables ('useState -> ref()', 'onMounted -> useEffect(fn, [])') and a complete executable before/after example, but Phase 3/4 steps like 'Adapt styling approach' and 'Test component renders' lack concrete commands or methods.

4 / 5

Workflow Clarity

Four phases are clearly sequenced and Phase 4 lists validation, but the checks are vague ('Test component renders', 'Compare behavior') with no concrete commands or fix-and-retry feedback loop — checkpoints are implicit in a batch file-migration workflow.

3 / 5

Progressive Disclosure

Sections are well-organized, but the ~165-line body inlines all per-direction mapping tables and the full worked example — reference-style content that belongs in one-level-deep per-pair files (e.g. mappings/react-to-vue.md).

3 / 5

Total

14

/

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.

The description has strong, explicit trigger guidance with concrete framework pairs, but it is entirely a 'when' clause — the skill's actual capabilities (code conversion, state mapping, behavior preservation) are never stated. Adding a leading 'what' statement and natural verbs like 'migrate' or 'convert' would round it out.

Suggestions

Add an explicit capability statement before the trigger clause, e.g. 'Migrates component code between frameworks, mapping state, lifecycle, and template syntax while preserving behavior.'

Include the natural trigger verbs users actually say — 'migrate', 'convert', 'port' — alongside 'switching'.

State what the migration covers (components, hooks, props, templates) so the 'what' is concrete rather than implied.

DimensionReasoningScore

Specificity

Names the domain ("switching a project or component between frameworks") with concrete framework pairs ("React to Vue, Vue to Svelte"), but the only action is the generic verb 'switching' with no specific capabilities like state migration or template conversion.

3 / 5

Completeness

The entire description is an explicit 'Use when...' trigger clause with concrete examples, but the 'what' (migrating code while preserving behavior) is only weakly implied by the switching context and never stated.

3 / 5

Trigger Term Quality

Framework names ("React to Vue", "Vue to Svelte") and "switching" are natural terms users would say, but the most common phrasings "migrate", "convert", and "port" are missing.

4 / 5

Distinctiveness Conflict Risk

A clear niche (cross-framework migration) with named pairs, though the Vue 2 to Vue 3 direction and generic migration phrasing create minor overlap with framework-upgrade or general migration 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

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

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