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/astro/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 exemplary lean, actionable workflow: it sequences analysis, an explicit presentational/interactive decision branch, concrete transformation rules and destinations, and terminal validation commands, while correctly deferring architecture canon to docs/ARCHITECTURE.md. The only meaningful gap is the absence of an error-recovery loop after validation and of a small worked example of a converted component. Both gaps could be closed in a few lines without hurting conciseness.

DimensionReasoningScore

Conciseness

The body is lean and directive throughout — no concept explanations, no padding, and every line is an instruction, a concrete destination (src/components/, src/islands/), or a command. It assumes Claude's competence (e.g. "JSX/template -> Astro template syntax" with no tutorial), matching anchor 5 exactly.

5 / 5

Actionability

Guidance is concrete and executable: file locations, transformation mappings ("Props -> Astro.props with Props interface"), hydration directives with a preference order (client:visible > client:idle > client:load), and copy-paste validation commands. It falls short of anchor 5 only because no example of a converted component or a common-case walkthrough is shown, leaving minor gaps.

4 / 5

Workflow Clarity

A clear six-step sequence with an explicit decision branch (presentational vs interactive) and a terminal validation step running three concrete commands (astro check, astro build, vitest run). Anchor 5 requires a feedback loop for error recovery ("if validation fails, fix and re-run"), which is absent, so anchor 4 (most checkpoints present, minor gaps) is the best fit; the destructive-operation cap does not apply since validation steps exist.

4 / 5

Progressive Disclosure

The skill is under 50 lines, single-purpose, and organized under a clear "## Steps" section with no bundle files needed. Its one external pointer (docs/ARCHITECTURE.md section 5) is clearly signaled and one level deep, deferring project canon to the authoritative doc rather than duplicating it — matching the simple-skill exception for a top score.

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 omits any statement of what the skill does, and it avoids naming the concrete frameworks (Astro, React/Vue/Svelte) that would make it specific and distinctive. As a result it reads as a bare "when" clause with domain keywords rather than a complete description. Restating the body's core actions (analyze a SPA component, convert presentational components to .astro, wrap interactive ones as hydrated islands in src/islands/) would fix most weaknesses at once.

Suggestions

Add a 'what' clause stating the skill's concrete actions, e.g. "Migrates React/Vue/Svelte SPA components to Astro — converting presentational components to .astro templates and interactive ones to hydrated islands under src/islands/."

Name the natural trigger terms users would say — Astro, React, Vue, Svelte, SPA, island — instead of the generic "target architecture or framework version", which both weakens trigger matching and raises conflict risk with other migration skills.

Mention the outcomes or artifacts produced (converted component in src/components/ or src/islands/, updated referencing pages, passing `npx astro check && astro build`) so the description distinguishes this skill from generic refactoring or framework-upgrade skills.

DimensionReasoningScore

Specificity

The description names the domain ("a component needs migration to the target architecture or framework version") but lists zero concrete actions — there is no verb describing what the skill actually does. It sits between anchor 1 (pure abstraction) and anchor 2 (domain named, minimal actions); the domain is specific, but the complete absence of any action keeps it at 2.

2 / 5

Completeness

"Use when a component needs migration to the target architecture or framework version" is an explicit when-clause, but the description never states what the skill does — the actions, outputs, or frameworks involved appear only in the body. This is an exact match for anchor 2 ("only 'when' is present without 'what'"), and not anchor 3, which requires a clear 'what'.

2 / 5

Trigger Term Quality

Relevant keywords like "component", "migration", and "framework" are present, but the natural terms a user would actually say — Astro, React, Vue, Svelte, SPA, islands — are all missing, and "target architecture" is unspecified. This matches anchor 3 (some relevant keywords, missing common variations or synonyms) rather than 4 (good coverage) or 2 (generic keywords).

3 / 5

Distinctiveness Conflict Risk

"Component migration" carves out a niche, but "target architecture" is undefined and "migration" is a common term that overlaps with other migration skills (database migrations, framework-version upgrades, CSS migrations). Anchor 3 (somewhat specific but could overlap with similar skills) is the best fit — not 4, since the vague target invites overlap.

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