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/vue/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.

The body is an excellent example of a lean, actionable instruction skill: a precise API-conversion mapping, concrete validation commands, and a clear sequenced workflow with no wasted tokens. The only gaps are the underspecified conditional steps 4–5 and the absence of an explicit validate-and-fix feedback loop.

Suggestions

Add a feedback loop after validation: 'If tsc or the build fails, fix the errors in the converted component and re-run all three checks before finishing.'

Make step 4 concrete — specify which composition pattern to apply for prop drilling (e.g. provide/inject or a shared composable).

Expand step 5 with a decomposition rule (e.g. 'extract template blocks over ~50 lines into child components named after their section').

DimensionReasoningScore

Conciseness

The body is ~30 lean lines with a dense one-line-per-API mapping table and exact validation commands, and it explains nothing about Vue or Options API that Claude already knows. Every token earns its place, matching the anchor-5 example of lean, competence-assuming content.

5 / 5

Actionability

The conversion mapping ('props → defineProps<T>()', 'mixins: [] → extract to composable useXxx()') and validation commands ('npx tsc --noEmit', 'npx vite build', 'npx vitest run --passWithNoTests') are concrete and executable. It falls short of 5 because steps 4 ('Apply composition pattern if there is prop drilling') and 5 ('Decompose if > 200 lines') are high-level hints without the specific steps to execute them.

4 / 5

Workflow Clarity

A clear numbered sequence (read guide → analyze → convert → refine → decompose → validate) ends with an explicit validation step containing three concrete commands. It does not reach 5 because there is no feedback loop for error recovery (e.g. 'if tsc or the build fails, fix the errors and re-run'), which the anchor-5 example requires.

4 / 5

Progressive Disclosure

The skill is under 50 lines, single-purpose, and well-organized with a Steps section, and its only reference (docs/ARCHITECTURE.md section 5) is clearly signaled twice and one level deep. Per the rubric's simple-skill note, this qualifies for 5 without external bundle files (none exist in this bundle).

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 serviceable trigger clause but is missing the 'what' entirely — it never states the concrete action (migrating Vue components from Options API to <script setup lang="ts">). It also omits the most natural trigger terms users would say (Vue, convert, upgrade, composition API), limiting both discoverability and distinctiveness against other migration-related skills.

Suggestions

Add a 'what' clause stating the concrete action, e.g. 'Migrates Vue components from Options API to <script setup lang="ts"> following the project architecture guide.'

Include natural trigger terms users would actually say: 'Vue', 'convert', 'upgrade', 'Options API', 'composition API', 'script setup'.

Name the framework (Vue) explicitly to reduce conflict risk with other migration skills (e.g. database or data migrations).

DimensionReasoningScore

Specificity

The description names the domain ('a component needs migration to the target architecture or framework version') but states no concrete actions — there is no verb describing what the skill actually does. It is not score 1 because the domain is named concretely rather than being pure abstraction, and not score 3 because it lists no concrete actions at all.

2 / 5

Completeness

Only a 'when' clause is present ('Use when a component needs migration...') with no 'what' — the description never says what the skill does (migrate Vue Options API components to script setup with TypeScript). This is exactly anchor 2 ('only when is present without what'), and cannot be 3 because anchor 3 requires a clear 'what'.

2 / 5

Trigger Term Quality

It includes some relevant keywords ('component', 'migration', 'architecture', 'framework version') but misses the natural phrases a user would actually say, such as 'Vue', 'convert', 'upgrade', 'composition API', or 'script setup'. This matches anchor 3 rather than 4 because common variations and synonyms are absent.

3 / 5

Distinctiveness Conflict Risk

'Component', 'migration', and 'architecture' are somewhat specific but 'migration' is a heavily overloaded term (data migrations, other frameworks, general upgrades), and the actual niche (Vue Options API to script setup) is never stated. Overlap risk with other migration/upgrade skills is more than minor, so it sits at anchor 3 rather than 4.

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/vue/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.