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 novotnyllc/dotnet-artisan --skill dotnet-uigit clone --depth 1 https://github.com/novotnyllc/dotnet-artisanWrote 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/novotnyllc/dotnet-artisan/dotnet-ui)<a href="https://agentmods.dev/skills/novotnyllc/dotnet-artisan/dotnet-ui"><img src="https://agentmods.dev/badge/skills/novotnyllc/dotnet-artisan/dotnet-ui.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
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.00142 | $0.01281 |
| Opus 5 | $0.00071 | $0.00641 |
| Sonnet 5 | $0.00028 | $0.00256 |
| Haiku 4.5 | $0.00014 | $0.00128 |
Grade A, and why
dotnet-ui 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 8d 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 — 60 lines — stays where its author put it; the contents beside it link to each section on GitHub.
dotnet-ui
Overview
.NET UI development across Blazor, MAUI, Uno Platform, WPF, WinUI 3, and WinForms. This skill covers framework selection, component architecture, XAML patterns, MVVM, platform-specific deployment, accessibility, and localization. Each framework area has a dedicated companion file with deep guidance.
Routing Table
| Topic | Keywords | Description | Companion File |
|---|---|---|---|
| Blazor patterns | hosting model, render mode, routing, streaming, prerender | Hosting models, render modes, routing, streaming, prerendering, AOT-safe patterns | references/blazor-patterns.md |
| Blazor components | lifecycle, state, JS interop, EditForm, QuickGrid | Lifecycle methods, state management, JS interop, EditForm, QuickGrid | references/blazor-components.md |
| Blazor auth | AuthorizeView, Identity UI, OIDC flows | Login/logout flows, AuthorizeView, Identity UI, OIDC, role and policy auth | references/blazor-auth.md |
| Blazor testing | bUnit, rendering, events, JS mocking | bUnit component rendering, events, cascading params, JS interop mocking | references/blazor-testing.md |
| MAUI development | project structure, XAML, MVVM, platform services | Project structure, XAML/MVVM patterns, Shell navigation, platform services | references/maui-development.md |
| MAUI AOT | iOS/Catalyst, Native AOT, trimming | iOS/Catalyst Native AOT pipeline, size/startup gains, library compatibility | references/maui-aot.md |
| MAUI testing | Appium, XHarness, platform validation | Appium 2.x device automation, XHarness, platform validation | references/maui-testing.md |
| Uno Platform | Extensions, MVUX, Toolkit, Hot Reload | Extensions ecosystem, MVUX pattern, Toolkit controls, Hot Reload | references/uno-platform.md |
| Uno targets | WASM, iOS, Android, macOS, Windows, Linux | Per-target guidance for WASM, iOS, Android, macOS, Windows, Linux | references/uno-targets.md |
| Uno MCP | tool detection, search-then-fetch, init | MCP tool detection, search-then-fetch workflow, init rules, fallback | references/uno-mcp.md |
| Uno testing | Playwright WASM, platform patterns | Playwright for WASM, platform-specific test patterns, runtime heads | references/uno-testing.md |
| WPF modern | Host builder, MVVM Toolkit, Fluent theme | Host builder, MVVM Toolkit, Fluent theme, performance, modern C# | references/wpf-modern.md |
| WPF migration | WPF/WinForms to .NET 8+, UWP to WinUI | WPF/WinForms to .NET 8+, UWP to WinUI, Upgrade Assistant | references/wpf-migration.md |
| WinUI | Windows App SDK, XAML, MSIX/unpackaged | Windows App SDK, x:Bind, x:Load, MSIX/unpackaged, UWP migration | references/winui.md |
| WinForms | high-DPI, dark mode, DI, modernization | High-DPI scaling, dark mode, DI patterns, modernization | references/winforms-basics.md |
| Accessibility | SemanticProperties, ARIA, AutomationPeer | SemanticProperties, ARIA attributes, AutomationPeer, per-platform testing | references/accessibility.md |
| Localization | .resx, IStringLocalizer, pluralization, RTL | .resx resources, IStringLocalizer, source generators, pluralization, RTL | references/localization.md |
| WinUI controls/styling | CommandBar, GridView, adaptive triggers, Mica, system brushes, icons | WinUI control selection, adaptive layout, theming, materials, typography | references/winui-controls-styling.md |
| UI chooser | framework selection decision tree | Decision tree across Blazor, MAUI, Uno, WinUI, WPF, WinForms | references/ui-chooser.md |
| Platform bindings | Java.Interop, ObjCRuntime, Android AAR, iOS XCFramework, Slim Binding | Custom native SDK bindings for Android and Apple platforms | references/platform-bindings.md |
What ships with it
21 files 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.
- agents/openai.yaml 282 B
- references/accessibility.md 21 KB
- references/blazor-auth.md 16 KB
- references/blazor-components.md 19 KB
- references/blazor-patterns.md 17 KB
- references/blazor-testing.md 13 KB
- references/localization.md 18 KB
- references/maui-aot.md 14 KB
- references/maui-development.md 18 KB
- references/maui-testing.md 14 KB
- references/platform-bindings.md 11 KB
- references/ui-chooser.md 14 KB
- references/uno-mcp.md 14 KB
- references/uno-platform.md 20 KB
- references/uno-targets.md 21 KB
- references/uno-testing.md 13 KB
- references/winforms-basics.md 15 KB
- references/winui-controls-styling.md 20 KB
- references/winui.md 20 KB
- references/wpf-migration.md 18 KB
- references/wpf-modern.md 16 KB
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.
- 8d ago First seen · 60 lines · 142 tokens per session scan A 4eba82b69b7f
dotnet-ui is a skill published in the GitHub repository novotnyllc/dotnet-artisan (229 stars, last pushed 20d ago), licensed MIT. It adds 142 tokens to every session and 1,281 once invoked, about $0.0007 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
avalonia-viewmodels-zafiro
Optimal ViewModel and Wizard creation patterns for Avalonia using Zafiro and ReactiveUI.
avalonia-zafiro-development
Mandatory skills, conventions, and behavioral rules for Avalonia UI development using the Zafiro toolkit.
convert-blazor-server-to-webapp
Guides conversion of a pre-.NET 8 Blazor Server app into a .NET 8+ Blazor Web App. USE FOR: migrating apps that use AddServerSideBlazor and MapBlazorHub to the AddRazorComponents/MapRazorComponents model, converting Host.cshtml to an App.razor root component, replacing blazor.server.js with blazor.web.js, migrating…
create-blazor-project
Create a new ASP.NET Core web application or web site using Blazor. USE FOR: creating a new Blazor web app, scaffolding a new web project, starting a new web site, choosing render modes (Static SSR, Interactive Server, Interactive WebAssembly, Auto), running dotnet new blazor with the right options, setting up initial…
use-js-interop
Add, review, or fix JavaScript interop in Blazor components. USE FOR: calling JavaScript from Blazor, calling .NET from JavaScript, collocated .razor.js modules, IJSRuntime, IJSObjectReference lifecycle, DotNetObjectReference, ElementReference, timing rules for when JS is available, IAsyncDisposable disposal of JS…
coordinate-components
Share state between components that don't have a direct parent-child parameter relationship, using cascading values, scoped services with change events, or CascadingValueSource via DI. USE WHEN the user needs a CascadingParameter or CascadingValue that works across render mode boundaries, a shopping cart or…