CtrlK
BlogDocsLog inGet started
Tessl Logo

webiny-v5-to-v6-migration

Migration patterns for converting v5 Webiny code to v6 architecture. Use this skill when migrating existing v5 plugins to v6 features, converting context plugins to DI services, adapting v5 event subscriptions to v6 EventHandlers, or understanding how v5 patterns translate to v6. Targeted at AI agents performing migrations.

60

Quality

75%

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/user-skills/api/v5-to-v6-migration/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%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 dense, highly actionable pattern catalog with excellent side-by-side v5/v6 examples, but it is a monolithic inline document with significant boilerplate repetition across the plugin-migration patterns and no end-to-end migration workflow or verification checkpoints. Restructuring the tail patterns into a reference file and stating the registration/registry pattern once would substantially improve token efficiency.

Suggestions

Move patterns 7–11 into a references file (e.g., references/plugin-migrations.md) and keep a one-line-per-pattern index in SKILL.md, linking each to the detail — this fixes both progressive disclosure and the ~300-line inline bulk.

State the 'implement Interface → createImplementation → register in createFeature' skeleton and the registry-lookup pattern once; patterns 7–11 currently repeat both boilerplates nearly verbatim.

Add an ordered migration workflow with a verification step (e.g., migrate plugins → convert event handlers → run typecheck/tests to confirm), since batch refactors without validation currently cap workflow clarity.

Fill in Pattern 4 (ServiceProvider) with at least a minimal inline example instead of only pointing at the webiny-api-architect skill, which may not be resolvable at use time.

DimensionReasoningScore

Conciseness

No padding with concepts Claude already knows, but patterns 7–11 (~300 lines) repeat the identical createFeature registration boilerplate and near-duplicate 'Looking up a X by type' registry sections four times, which could be stated once. Not 2, since the repetition is concrete code rather than explanatory fluff; not 4, since the duplication is substantial.

3 / 5

Actionability

Side-by-side v5/v6 code with import paths, interface implementations, and registration steps makes most patterns copy-paste adaptable; the /* ... */ bodies are justified as user-specific. Not 5, because Pattern 4 (ServiceProvider) is a pointer to an external skill with no inline guidance at all.

4 / 5

Workflow Clarity

The pattern catalog is well-organized and the Type Resolution Guide is a clear 3-step sequence, but there is no ordered end-to-end migration workflow and no validation/verification steps (typecheck, tests) for what is a batch refactor of many files — the batch-operation cap applies. Not 4, because the cap takes precedence; not 2, because per-pattern sequences are well defined.

3 / 5

Progressive Disclosure

Clear section headers make navigation possible, but the skill is a single 755-line monolith with no bundle files — the per-plugin detail in patterns 7–11 clearly belongs in a references file, and Pattern 4 defers content to an external skill. Not 2, because the structure is legible and sections are well-labeled; not 4, because most detailed content is inline rather than split.

3 / 5

Total

13

/

20

Passed

Description

83%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 strong description that clearly states both capability and explicit trigger conditions with domain-specific, version-pinned language. Minor gaps: it undersells the breadth the skill actually covers and lacks synonyms like 'upgrade'/'port'.

DimensionReasoningScore

Specificity

Lists several concrete actions ('migrating existing v5 plugins to v6 features, converting context plugins to DI services, adapting v5 event subscriptions to v6 EventHandlers'), but omits surfaces the skill actually covers (admin/React plugin migration, permissions migration), so coverage has minor gaps rather than being comprehensive.

4 / 5

Completeness

Explicitly answers both what ('Migration patterns for converting v5 Webiny code to v6 architecture') and when ('Use this skill when migrating... converting... adapting... or understanding how v5 patterns translate to v6') with concrete enumerated trigger phrases.

5 / 5

Trigger Term Quality

Good keyword coverage with natural phrases users would say ('migrating', 'v5 plugins', 'converting', 'event subscriptions', 'Webiny'), but misses common synonyms like 'upgrade' or 'port'.

4 / 5

Distinctiveness Conflict Risk

Clear niche (Webiny v5→v6 migration) with distinct version-specific triggers, but the 'understanding how v5 patterns translate to v6' clause creates minor overlap risk with the related webiny-architecture skills it sits alongside.

4 / 5

Total

17

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

Total

15

/

16

Passed

Repository
webiny/webiny-js
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.