Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/fritzandfriends/blazorwebformscomponents/contoso-migration-testnpx skills add FritzAndFriends/BlazorWebFormsComponents --skill contoso-migration-testgit clone --depth 1 https://github.com/FritzAndFriends/BlazorWebFormsComponentsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/fritzandfriends/blazorwebformscomponents/contoso-migration-test)<a href="https://agentmods.dev/skills/fritzandfriends/blazorwebformscomponents/contoso-migration-test"><img src="https://agentmods.dev/badge/skills/fritzandfriends/blazorwebformscomponents/contoso-migration-test.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00100 | $0.01183 |
| Opus 5 | $0.00050 | $0.00592 |
| Sonnet 5 | $0.00020 | $0.00237 |
| Haiku 4.5 | $0.00010 | $0.00118 |
Grade A, and why
contoso-migration-test scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 110 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ContosoUniversity Migration Test
End-to-end migration benchmark that converts the ContosoUniversity Web Forms sample to Blazor Server and validates with 40 Playwright acceptance tests.
Paths
| Item | Path |
|---|---|
| Web Forms source | samples/ContosoUniversity/ContosoUniversity/ |
| Blazor output | samples/AfterContosoUniversity/ |
| L1 script | migration-toolkit/scripts/bwfc-migrate.ps1 |
| Migration skills | migration-toolkit/skills/ (4 skills) |
| Acceptance tests | src/ContosoUniversity.AcceptanceTests/ |
| Run reports | dev-docs/migration-tests/contosouniversity/ |
Prerequisites
- .NET 10 SDK
- SQL Server LocalDB with
ContosoUniversitydatabase (attachsamples/ContosoUniversity/ContosoUniversity.mdfif needed) - Playwright browsers installed (run
pwsh bin/Debug/net10.0/playwright.ps1 installfrom test project after first build)
Workflow
Phase 0: Preparation
- Determine run number — Count existing
runNNfolders indev-docs/migration-tests/contosouniversity/and use the next sequential number - Record start time — Capture wall-clock time for overall timing
- Clear output folder — Delete all contents of
samples/AfterContosoUniversity/but keep the directory itself
Phase 1: Layer 1 — Automated Script
Expected duration: < 2 seconds
- Start L1 timer
- Run the migration script:
.\migration-toolkit\scripts\bwfc-migrate.ps1 ` -Path samples\ContosoUniversity\ContosoUniversity ` -Output samples\AfterContosoUniversity ` -Verbose - Stop L1 timer — record duration and transform count from script output
- Verify:
.razorfiles created, no.aspxfiles in output
Phase 2: Layer 2 — Copilot-Assisted Transforms
Expected duration: 20–30 minutes
Load and apply the migration toolkit from migration-toolkit/:
- Read
migration-toolkit/README.mdfor the overall approach and key principles - Read
migration-toolkit/skills/— the toolkit contains all the skills needed for the repair phase; apply whichever skills are relevant to the errors and patterns encountered in the generated output
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 110 lines · 100 tokens per session scan A 1f0ae94584f9
contoso-migration-test is a skill published in the GitHub repository FritzAndFriends/BlazorWebFormsComponents (449 stars, last pushed 2mo ago), licensed MIT. It adds 100 tokens to every session and 1,183 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
release-gatekeeper
End-to-end release validation for Connapse — the 'final boss' before any version ships. Downloads the latest alpha from GitHub Releases, deploys an isolated Docker instance (separate from production), then systematically tests every feature: UI via Playwright, API via curl/REST, MCP tools, search quality, security…
lumeo
Use when building or editing a Blazor UI that uses the Lumeo component library (the Lumeo NuGet package and its satellites Lumeo.Charts / Lumeo.DataGrid / Lumeo.Editor / Lumeo.Scheduler / Lumeo.Gantt / Lumeo.Motion), or when the user mentions Lumeo components (Button, DataGrid, Sheet, Dialog, Tabs, DatePicker, Toast…
implement-issue
Implement a PKMDS-Blazor GitHub issue end to end. Use when asked to investigate and implement an issue, bug, feature request, or feature-parity item and prepare it for review.
sync-repos
Synchronize external repositories used by PKMDS-Blazor. Use when asked to sync, get latest, refresh related repos, inspect upstream changes, or prepare work that depends on current PKHeX, PokeAPI, Pokemon Showdown, sprites, or plugin sources.
address-pr-feedback
Address unresolved GitHub pull request review feedback in PKMDS-Blazor. Use when asked to handle PR comments, review threads, requested changes, or reviewer follow-up.
qa-tester
Verifies programmer deliveries when a ticket reaches Review. Actually runs the application/tests/endpoints to confirm the change works, sets up missing test tooling when needed, and blocks the ticket if execution is impossible. Posts a PASS/FAIL/BLOCKED report; on FAIL, returns the ticket to Todo.