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 skills add Phaedra-Solutions/cursor-rules --skill migrate-dotnet-frameworkgit clone --depth 1 https://github.com/Phaedra-Solutions/cursor-rulesWrote 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/phaedra-solutions/cursor-rules/migrate-dotnet-framework)<a href="https://agentmods.dev/skills/phaedra-solutions/cursor-rules/migrate-dotnet-framework"><img src="https://agentmods.dev/badge/skills/phaedra-solutions/cursor-rules/migrate-dotnet-framework/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/phaedra-solutions/cursor-rules/migrate-dotnet-framework"><img src="https://agentmods.dev/badge/skills/phaedra-solutions/cursor-rules/migrate-dotnet-framework.svg" alt="Reviewed on agentmods" width="80" 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.00138 | $0.01427 |
| Opus 5.5 | $0.00055 | $0.00571 |
| Sonnet 5.5 | $0.00028 | $0.00285 |
| Haiku 4.5 | $0.00014 | $0.00143 |
Grade A, and why
migrate-dotnet-framework 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 3d 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 — 68 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Migrate .NET Framework to .NET 10
When to use
- The project targets .NET Framework 4.x (see
legacy/dotnet-framework) and the user wants to move to .NET 10 LTS. - A component must leave .NET Framework (Windows-only hosting, 4.6.2 ending 12 Jan 2027, a library that dropped Framework support).
For servicing only, keep the app on 4.8/4.8.1 and patch Windows; this skill is for migration.
Before you start
- Assess and write the results to
docs/netfx-assessment.mdor the PR:- solution structure: project types (Web Forms, MVC 5, Web API 2, WCF service/client, ASMX, WinForms/WPF, Windows service, class libraries), TFMs,
packages.configvsPackageReference; System.Webusage outside the web project (HttpContext.Currentin libraries is the usual blocker);- WCF bindings and behaviors in use (CoreWCF supports common HTTP and NetTcp bindings, not every WS-* feature);
- packages and their .NET support; Windows-only APIs (registry, WMI, COM,
System.Drawingon servers, AppDomains, Remoting, Code Access Security) that need replacements.
- solution structure: project types (Web Forms, MVC 5, Web API 2, WCF service/client, ASMX, WinForms/WPF, Windows service, class libraries), TFMs,
- Ask the user:
- target (default .NET 10 LTS) and approach (default incremental/strangler, not a rewrite);
- whether a reverse proxy can sit in front of the old app;
- whether package installs are approved (
core/supply-chain); - whether GitHub Copilot upgrade may be used for assessment and code changes (needs a GitHub Copilot subscription and sends code to Copilot models). The steps below work without it.
- Working tree clean; new branch; build and tests pass on the Framework app (record failures).
Steps
- Characterization tests: HTTP-level tests for key pages and endpoints, contract tests for WCF/ASMX operations (sample requests and expected responses), runnable against old and new implementations.
- Libraries first: convert class libraries to SDK-style projects, then to
netstandard2.0ornet48;net10.0; moveSystem.Weband config access (ConfigurationManager) behind interfaces so both hosts can supply them. - New host: an ASP.NET Core (.NET 10) app becomes the entry point. Add YARP to proxy every route not yet migrated to the Framework app, and System.Web adapters (
Microsoft.AspNetCore.SystemWebAdapterspackages) for remote session and remote authentication with the Framework app. - Port incrementally:
- MVC 5 / Web API 2 controllers → ASP.NET Core controllers (similar model; filters, model binding and DI change);
- Web Forms pages → Razor Pages or Blazor (a rewrite of the UI; the Copilot upgrade Web Forms-to-Blazor scenario can help);
- ASMX services → CoreWCF or ASP.NET Core endpoints keeping the same contract;
- Global.asax, HTTP modules and handlers → middleware. Route one area at a time: port, run the characterization tests against the new host, then remove the YARP fallback for that route.
- WCF services: host contracts with CoreWCF (current 1.9) on .NET 10, keeping bindings clients rely on; configure security (transport TLS, auth) explicitly; plan gRPC or HTTP APIs for new clients. WCF clients use the
System.ServiceModel.Http/.NetTcppackages. - Config and secrets:
Web.configapp settings and connection strings →appsettings.jsonplus environment variables or a secret store; machine keys → ASP.NET Core Data Protection (with a shared key ring if cookies must be read by both apps during the transition). - Retire: when the proxy no longer forwards anything, remove the Framework app and the System.Web adapter remote features.
- Show each step's diff and test results; wait for approval before switching routes. Commit only when asked (
git-commitskill). Then switch tobackend/aspnet-coreandlanguages/csharp.
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.
- 3d ago First seen · 68 lines · 138 tokens per session scan A 8be02eadec1d
migrate-dotnet-framework is a skill published in the GitHub repository Phaedra-Solutions/cursor-rules (4 stars, last pushed 2d ago), licensed MIT. It adds 138 tokens to every session and 1,427 once invoked, about $0.0006 per session on Opus 5.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-11-01.
Other skills, from other repositories
aspnet-core
Guidelines for ASP.NET Core web development covering API design, authentication, caching, and best practices.
dotnet
Guidelines for .NET backend development with C#, ASP.NET Core, and Entity Framework Core.
dotnet-coding-standards
.NET coding guidance covering common C# patterns, ASP.NET Core web applications, and Entity Framework Core database access.
ddd
Domain-Driven Design patterns for .NET — aggregates, value objects, strongly-typed IDs, domain events, repositories, and the DDD variant of the layer rules.
vertical-slice
Vertical Slice Architecture (VSA) for .NET APIs — feature-first folder structure, IEndpointGroup pattern, cross-cutting concerns, and testing approach.
aspnet-api-patterns
ASP.NET Core API patterns — controllers vs minimal API, built-in OpenAPI, middleware order, IExceptionHandler + ProblemDetails, and Asp.Versioning.