Create and register new CLI migration transforms for the webforms-to-blazor pipeline. Covers IMarkupTransform and ICodeBehindTransform interfaces, transform ordering, dual-registration in Program.cs and TestHelpers.cs, testing patterns, and when to use a transform vs. a semantic pattern.
SkillScore87Maintained
Automatic
◆Coding pack
Last verified 8/19/2026
What it changes
Passed 20 of 23 test cases with the skill, and 5 of 23 without it.
Without skill22%
With skill87%
Checks it passed that the model alone missed
Includes the --nologo switch in the dotnet test command.
Identifies OriginalPath as a property available on FileMetadata.
Names TestHelpers.cs as the file for test pipeline registration.
and 22 more in the full report
15 fixed5 passed either way3 still failing0 broke
Pass-rate lift
+65 pp
Tokens
+10%
Agent turns
0%
Response time
-66%
Model gemini-3.6-flashMeasured 8/19/2026v120 of 23 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 15 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 15
Prompt
What exact command-line invocation should be used to run the test suite for CLI transforms without header logos?
What was checked, without and with the skill
Checked
Without skill
With skill
Specifies executing dotnet test against tests/BlazorWebFormsComponents.Cli.Tests.
Missed
Passed
Includes the --nologo switch in the dotnet test command.
Missed
Passed
case-15 · gemini-3.6-flash · 8/19/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md194 linessingle file
CLI Transform Authoring
This skill covers creating new transforms for the webforms-to-blazor CLI migration pipeline.
Architecture Overview
The migration CLI uses two transform interfaces that run in sequence during file conversion:
Markup transforms (IMarkupTransform) — Convert .aspx/.ascx/.master markup to .razor syntax
Code-behind transforms (ICodeBehindTransform) — Convert .aspx.cs code-behind to .razor.cs
Both interfaces share the same contract:
public interface IMarkupTransform // (or ICodeBehindTransform)
{
string Name { get; }
int Order { get; }
string Apply(string content, FileMetadata metadata);
}
Name — Human-readable identifier (used in logs and diagnostics)
Order — Execution sequence (ascending). Lower numbers run first.
Provides templates, style guidelines, and a complete workflow for writing MkDocs documentation, sample pages, and navigation updates for BlazorWebFormsComponents. Covers component doc structure with Web Forms vs Blazor syntax comparisons, migration guide templates, sample page creation in AfterBlazorServerSide with demo and source code sections, NavMenu.razor and ComponentList.razor updates, and README linking. Use when documenting a new or existing BWFC component, creating sample pages with esc