By marafiq
Skills for ASP.NET Core MVC on .NET 10 with C# 14, Entity Framework Core 10, and modern .NET runtime patterns (DI, hosting, configuration, async).
Use when refactoring a C# symbol or concept and you need every usage caught reliably (typed C# + Razor `.cshtml` + string-typed name-variants), assembled into a structured knowledge graph the LLM navigates before deciding the refactor strategy. Closes the gaps that typed find-references misses by design — Razor string-typed helpers (`@Html.Partial("X")`, `@RenderSection`, `asp-action`), `ViewBag.X`, `ViewData["X"]`, HTML `name=` attributes, `[Bind(Include="...")]`, `[JsonProperty("X")]`, EF mapping strings, and case-variant drift (`PictureFileName` vs `pictureFileName` vs `picturefilename`). Applies to .NET / ASP.NET MVC 5 (legacy .NET Framework 4.x) and ASP.NET Core MVC code; the scripts have no project-load dependency, so they work on legacy and modern solutions alike. Do NOT use for refactor execution — Roslynator CLI, IDE refactorings, dotnet format, try-convert, and the GitHub Copilot modernization agent already cover that downstream.
Measure and validate a modular monolith design in .NET 10 — afferent coupling (who calls into this module), efferent coupling (what this module calls out to), cohesion (do this module's types address one purpose). Names god modules (high efferent coupling everywhere) and false splits (two modules coupled tightly enough that they're one module pretending). One tool in the modular-monolith toolbox — reach for it to validate a design before implementation, or to re-evaluate one that has accumulated drift. Use when the user asks "is this design coherent", "should I split this module", "should I merge these two modules", "is this module doing too much", or any post-design validation question. Status: placeholder. Applies to the dotnet-10 plugin.
Classify a legacy .NET Framework 4.8 codebase one feature slice at a time, producing a reviewable artifact that names candidate modules, *deep modules* (Ousterhout sense — narrow public surface, deep implementation) and *hierarchical / nested modules* (parent-of-children), dependency relationships, and touched areas. The classifier is a *deep-thinking interactive skill*: it studies legacy code carefully, asks one question at a time, builds shared understanding with whoever knows the slice, and embraces progressive disclosure — a 2.5-million-line codebase cannot be held in any one head, so the classifier works slice by slice and accumulates a map. Pragmatic, not dogmatic; uses Ousterhout depth or nesting hierarchy or both, whichever lens fits the slice. Pairs with `dotnet-48:mvc-ui-behaviors` (behavioral classification) during modernization. Use when the user asks "what natural module seams already exist", "find deep modules in our .NET 4.8 source", "carve a new module out of MVC 5", "what bounded contexts are hiding in this legacy app", "study this legacy slice with me", "let's classify the X area", or is planning incremental modernization of legacy ASP.NET MVC 5 / Web Forms code into a .NET 10 modular monolith. Status: placeholder; the artifact schema and worked examples are to be written. Applies to the dotnet-10 plugin (input is .NET 4.8 source; output is consumed by .NET 10 modular design).
Decide where DDD tactical patterns (aggregates, value objects, domain services, specifications) earn their keep in a .NET 10 modular monolith, and where they are ceremony. One tool in the modular-monolith toolbox — reach for it to decide the internal shape of a module after the topology is set. Use when the user asks "should this be an aggregate", "do I need a value object here", "is this a domain service or an application service", "where do invariants live", or reaches for DDD vocabulary on a CRUD-shaped module. Status: placeholder — uses the orchestrator's working summary until deep content is written. Applies to the dotnet-10 plugin (.NET 10 / C# 14 / EF Core 10).
Inventory candidate modules in a .NET 10 modular monolith — name them, draw the dependency graph, decide module physicality (.csproj vs folder vs namespace). One tool in the modular-monolith toolbox — reach for it to decide what the modules ARE and what they are called. Use when the user asks "how should I split this into modules", "what should this module be called", "should this be a separate project", or any topology-shaping question. Status: placeholder — uses the orchestrator's working summary until deep content is written. Applies to the dotnet-10 plugin (.NET 10 / C# 14 / ASP.NET Core MVC 10).
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A Claude Code marketplace of two plugins for the C# / .NET ecosystem.
Install only the runtime your project actually ships to:
| Plugin | Stack |
|---|---|
dotnet-48 | ASP.NET MVC 5.3, Web Forms, EF6 on .NET Framework 4.8 with C# 8.0 (compiler subset; polyfill caveats documented in skills) |
dotnet-10 | ASP.NET Core MVC, EF Core on .NET 10 with C# 14 |
Out of scope: Blazor, Razor Pages, desktop UI (WPF / WinForms / MAUI / Avalonia / Uno), F#, VB.NET, mobile, game dev.
Active — both plugins ship skills today. Browse plugins/<plugin>/skills/ to see the current set.
In Claude Code:
/plugin marketplace add marafiq/dotnet-skills
/plugin install dotnet-48@dotnet-skills # legacy stack
/plugin install dotnet-10@dotnet-skills # modern stack
Skills become available namespaced as /dotnet-48:<name> or /dotnet-10:<name>. Most skills also auto-trigger when relevant.
git clone https://github.com/marafiq/dotnet-skills.git
claude --plugin-dir ./dotnet-skills/plugins/dotnet-48
# or
claude --plugin-dir ./dotnet-skills/plugins/dotnet-10
See CLAUDE.md for layout, per-plugin scope, editorial standards, and the conventions for adding new skills, agents, commands, hooks, and MCP servers.
MIT — see LICENSE.
npx claudepluginhub marafiq/dotnet-skills --plugin dotnetFlat skill library for C#/.NET work — ASP.NET MVC 5.3 + Web Forms + EF6 on .NET Framework 4.8 (C# 8.0) and ASP.NET Core MVC + EF Core on .NET 10 (C# 14). Each skill declares its own target stack. Installable in Claude Code via the dotnet-skills marketplace and in OpenAI Codex via the install-codex.sh helper.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Frontend design skill for UI/UX implementation
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Memory compression system for Claude Code - persist context across sessions
Marketing skills for AI agents — conversion optimization, copywriting, SEO, paid ads, ad creative, and growth
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.