CtrlK
BlogDocsLog inGet started
Tessl Logo

migration-standards

Enforce canonical migration standards for ASP.NET Web Forms to Blazor using BWFC. Covers target architecture (.NET 10, Server Interactive), database provider detection, event handler preservation, SelectMethod patterns, and page lifecycle mapping. WHEN: "migration standards", "target architecture", "render mode placement", "page base class", "Layer 1 vs Layer 2".

67

1.66x
Quality

75%

Does it follow best practices?

Impact

100%

1.66x

Average score across 1 eval scenario

SecuritybySnyk

Passed

No known issues

Fix and improve this skill with Tessl

tessl review fix ./migration-toolkit/skills/migration-standards/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

50%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This skill is highly actionable with excellent concrete examples and clear migration patterns, but it suffers significantly from verbosity and repetition. The same core rules (use BWFC components, use shims, don't inject raw services) are stated in mandatory rules, restated in pattern sections, and then demonstrated again in anti-patterns — tripling the token cost. The workflow could benefit from explicit validation checkpoints given the complexity and destructive nature of migration operations.

Suggestions

Consolidate the repeated rules: the mandatory rules section, pattern sections, and anti-patterns all say 'use BWFC controls not raw HTML' and 'use shims not raw services' — pick one location for the rule and one for the example, cutting ~40% of content.

Add explicit validation checkpoints to the workflow: after L1 script runs, verify build compiles; after L2 transforms, run smoke tests; after shim registration, verify services resolve — these feedback loops are critical for a destructive migration process.

Move the detailed shim reference table and the full anti-patterns catalog into separate referenced files (e.g., SHIMS-REFERENCE.md, ANTI-PATTERNS.md) to reduce the main skill to an overview with key rules and links.

Remove explanatory prose that Claude already knows (e.g., explaining what SessionShim does after already showing the API table and code example — the code speaks for itself).

DimensionReasoningScore

Conciseness

This skill is extremely verbose at ~500+ lines. There is massive repetition — the same rules (use shims, don't inject raw services, don't replace BWFC controls) are stated in the mandatory rules section, then restated in patterns, then restated again in anti-patterns with full code examples. The shim table, page lifecycle mapping, and anti-patterns sections each repeat information already covered. Claude doesn't need concepts like what SessionShim does explained three separate times with near-identical code examples.

1 / 3

Actionability

The skill provides fully executable, copy-paste ready code examples throughout — Razor markup, C# code-behind, PowerShell commands, JSON configuration, and Playwright test patterns. Every pattern includes concrete before/after examples with specific component names, method signatures, and configuration snippets.

3 / 3

Workflow Clarity

The Layer 1 vs Layer 2 boundary is clearly defined with a sequencing rule, and the page lifecycle mapping table provides clear phase annotations. However, there are no explicit validation checkpoints — no 'verify the build compiles after this step' or 'run tests to confirm shim registration' feedback loops for what is a complex, multi-step, potentially destructive migration process.

2 / 3

Progressive Disclosure

The skill references other skills ('bwfc-migration skill CODE-TRANSFORMS.md', 'bwfc-ascx-migration skill', 'bwfc-custom-control-migration skill') which shows awareness of progressive disclosure, but the main file itself is monolithic — it inlines extensive shim tables, full anti-pattern examples, and detailed lifecycle mappings that could be split into referenced files. With no bundle files provided, the references to other skills are the only structural separation.

2 / 3

Total

8

/

12

Passed

Description

100%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

This is a strong skill description that clearly defines a narrow, specific domain (ASP.NET Web Forms to Blazor migration) with concrete capabilities and explicit trigger terms. It uses proper third-person voice and provides both what the skill does and when to use it. The only minor consideration is that the WHEN clause uses quoted terms rather than natural sentence phrasing, but the terms themselves are highly relevant and distinctive.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: enforce migration standards, covers target architecture (.NET 10, Server Interactive), database provider detection, event handler preservation, SelectMethod patterns, and page lifecycle mapping. These are highly specific technical capabilities.

3 / 3

Completeness

Clearly answers both 'what' (enforce canonical migration standards for ASP.NET Web Forms to Blazor, covering specific areas like database provider detection, event handler preservation, etc.) and 'when' (explicit WHEN clause with trigger terms like 'migration standards', 'target architecture', 'render mode placement', etc.).

3 / 3

Trigger Term Quality

Includes strong natural keywords users would say: 'migration standards', 'target architecture', 'render mode placement', 'page base class', 'Layer 1 vs Layer 2', plus domain terms like 'ASP.NET Web Forms', 'Blazor', 'BWFC', 'SelectMethod', 'page lifecycle'. Good coverage of terms a developer working on this migration would naturally use.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive niche: ASP.NET Web Forms to Blazor migration using BWFC is an extremely specific domain. The trigger terms like 'Layer 1 vs Layer 2', 'SelectMethod patterns', and 'page base class' are unlikely to conflict with other skills.

3 / 3

Total

12

/

12

Passed

Validation

81%

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

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

frontmatter_unknown_keys

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

Warning

Total

9

/

11

Passed

Repository
FritzAndFriends/BlazorWebFormsComponents
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.