Borrowing it
Nothing to install: this file belongs to christian289/dotnet-with-claudecode. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/christian289/dotnet-with-claudecode/main/.claude/skills/designing-avalonia-customcontrol-architecture/SKILL.mdgit clone --depth 1 https://github.com/christian289/dotnet-with-claudecodeWrote 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/christian289/dotnet-with-claudecode/designing-avalonia-customcontrol-architecture)<a href="https://agentmods.dev/skills/christian289/dotnet-with-claudecode/designing-avalonia-customcontrol-architecture"><img src="https://agentmods.dev/badge/skills/christian289/dotnet-with-claudecode/designing-avalonia-customcontrol-architecture/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/christian289/dotnet-with-claudecode/designing-avalonia-customcontrol-architecture"><img src="https://agentmods.dev/badge/skills/christian289/dotnet-with-claudecode/designing-avalonia-customcontrol-architecture.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.00043 | $0.00598 |
| Opus 5 | $0.00022 | $0.00299 |
| Sonnet 5 | $0.00009 | $0.00120 |
| Haiku 4.5 | $0.00004 | $0.00060 |
Grade A, and why
designing-avalonia-customcontrol-architecture 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 12d 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 — 61 lines — stays where its author put it; the contents beside it link to each section on GitHub.
6.5 Writing AXAML Code
- When generating AXAML code, use CustomControl with ControlTheme for Stand-Alone Control Style
- Purpose: Theme separation and minimizing style dependencies
6.5.1 AvaloniaUI Custom Control Library Project Structure
Recommended Project Structure:
YourAvaloniaSolution
├── YourCustomControlProject1/
│ ├── Properties/
│ │ ├── AssemblyInfo.cs ← AssemblyInfo.cs definition
│ ├── Themes/
│ │ ├── Generic.axaml ← ControlTheme definition
│ │ ├── CustomButton1.axaml ← Individual control theme
│ │ └── CustomTextBox1.axaml ← Individual control theme
│ ├── CustomButton1.cs
│ └── CustomTextBox1.cs
└── YourCustomControlProject2/
├── Properties/
│ ├── AssemblyInfo.cs ← AssemblyInfo.cs definition
├── Themes/
│ ├── Generic.axaml ← ControlTheme definition
│ ├── CustomButton2.axaml ← Individual control theme
│ └── CustomTextBox2.axaml ← Individual control theme
├── CustomButton2.cs
└── CustomTextBox2.cs
6.6 ⚠️ Distinguishing ResourceInclude vs MergeResourceInclude
- ResourceInclude: Used in regular ResourceDictionary files (Generic.axaml, Styles, etc.)
- MergeResourceInclude: Used only in Application.Resources (App.axaml)
Advantages:
- Complete separation of theme and logic based on ControlTheme
- Flexible style variations through CSS Classes
- State management via Pseudo Classes (:pointerover, :pressed, etc.)
- Theme modularization through ResourceInclude
- Work can be split by file for team collaboration
6.5.2 Key Differences Between WPF and AvaloniaUI
| Item | WPF | AvaloniaUI |
|---|---|---|
| File Extension | .xaml | .axaml |
| Style Definition | Style + ControlTemplate | ControlTheme |
| State Management | Trigger, DataTrigger | Pseudo Classes, Style Selector |
| CSS Support | ❌ | ✅ (Classes attribute) |
| Resource Merging | MergedDictionaries + ResourceDictionary | MergedDictionaries + ResourceInclude |
| Dependency Props | DependencyProperty | StyledProperty, DirectProperty |
What ships with it
14 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.
- templates/AvaloniaCustomControlSample.App/App.axaml 313 B
- templates/AvaloniaCustomControlSample.App/App.axaml.cs 502 B
- templates/AvaloniaCustomControlSample.App/AvaloniaCustomControlSample.App.csproj 1.0 KB
- templates/AvaloniaCustomControlSample.App/GlobalUsings.cs 163 B
- templates/AvaloniaCustomControlSample.App/Programs.cs 383 B
- templates/AvaloniaCustomControlSample.App/Views/MainWindow.axaml 4.0 KB
- templates/AvaloniaCustomControlSample.App/Views/MainWindow.axaml.cs 168 B
- templates/AvaloniaCustomControlSample.Controls/AvaloniaCustomControlSample.Controls.csproj 715 B
- templates/AvaloniaCustomControlSample.Controls/CustomButton.cs 1.3 KB
- templates/AvaloniaCustomControlSample.Controls/GlobalUsings.cs 83 B
- templates/AvaloniaCustomControlSample.Controls/Properties/AssemblyInfo.cs 134 B
- templates/AvaloniaCustomControlSample.Controls/Themes/CustomButton.axaml 2.6 KB
- templates/AvaloniaCustomControlSample.Controls/Themes/Generic.axaml 353 B
- templates/AvaloniaCustomControlSample.slnx 216 B
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.
- 12d ago First seen · 61 lines · 43 tokens per session scan A 4a236aba499b
designing-avalonia-customcontrol-architecture is a skill published in the GitHub repository christian289/dotnet-with-claudecode (41 stars, last pushed 1mo ago), licensed MIT. It adds 43 tokens to every session and 598 once invoked, about $0.0002 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
system-text-json-net11
Imperative guidance for the System.Text.Json APIs added in .NET 11: the built-in JsonNamingPolicy.PascalCase naming policy, and the strongly-typed JsonSerializerOptions.GetTypeInfo () and JsonSerializerOptions.TryGetTypeInfo (out JsonTypeInfo ? info) metadata accessors. USE ONLY when the user is targeting net11.0 or…
lightningcad
Use when doing architectural facade panel layout and detailing in AutoCAD or ZWCAD — panel numbering, shop drawing generation, material optimization. LightningCAD: building envelope detailing plugin for AutoCAD/ZWCAD.
reogrid
Use when embedding an Excel-like spreadsheet control in .NET WinForms/WPF applications — formula engine, cell editing, clipboard, undo/redo. ReoGrid: .NET spreadsheet component with NPOI-based Excel read/write.
mapsui
Use when embedding interactive 2D maps in .NET desktop (WinForms/WPF) or mobile (MAUI) applications — tile layers, vector features, map controls. Mapsui: cross-platform .NET map component library.
vela
Compiler-exact code search for .NET solutions - find where a symbol is defined, every reference to it, who calls it, and what a change would break. Covers C#, VB, Razor Pages, MVC views and Blazor components, which grep and every other code-intelligence tool miss. Deterministic, built on Roslyn, never modifies the…
dotnet-analyzer-code-intelligence
Navigate and understand C# code through symbol queries, type hierarchies, call graphs, and semantic analysis using Roslyn-powered MCP tools. Use when the user asks to find references, go to definition, understand type inheritance, explore call hierarchies, get symbol info, analyze code metrics, or traverse syntax…