Install
$ agentstack add skill-linuxdevel-avalonia-skills-themes ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Avalonia Theme Libraries
TL;DR Defaults
| You want | Use | |---|---| | Modern Microsoft / Windows-native feel | FluentTheme + FluentAvalonia | | Modern, opinionated flat (Linear-like) | SukiUI | | Clean Chinese-design-system look | Semi.Avalonia | | Material Design 3 | Material.Avalonia | | shadcn/ui-inspired developer aesthetic | ShadUI | | Rich enterprise control set | Ursa.Avalonia | | Just a slight upgrade over built-ins | Citrus.Avalonia | | Retro Windows 9x | Classic.Avalonia | | Fallout Pip-Boy / themed novelty | Pipboy.Avalonia | | Pure custom (no library) | FluentTheme only + your own ControlThemes |
Recommendation Matrix by Product Type
| Product | Best fit | Why | |---|---|---| | Internal tools / admin / dashboards | FluentAvalonia + FluentTheme | NavigationView, InfoBar, TeachingTip ready; matches Windows desktop expectation | | Cross-platform consumer app | SukiUI or Semi.Avalonia | Look identical on Win/macOS/Linux, modern flat | | Mobile-first cross-platform | Semi.Avalonia + custom tokens | Lightweight, works well at small sizes | | Developer tool (IDE, terminal, db client) | SukiUI or ShadUI | Dark-first, low-chrome, accent-driven | | Material-spec product | Material.Avalonia | True MD3 compliance | | Enterprise B2B with many forms / data | Ursa.Avalonia | Pre-built form, tag, badge, drawer, time picker, etc. | | Game launcher / creative app | SukiUI + custom palette | High-contrast, flexible | | Migration from WPF (minimum visual change) | FluentTheme only | Closest to legacy Windows look without Material weirdness |
FluentTheme (built-in baseline)
Always start here unless you have a strong reason. Ships with Avalonia, no extra NuGet.
Pair with RequestedThemeVariant="Default" to follow OS.
Customize the FluentTheme accent via well-known resource keys:
FluentAvalonia
WinUI3-style controls + accent system. Best companion to FluentTheme.
dotnet add package FluentAvalonia
Key controls: NavigationView, Frame, InfoBar, TeachingTip, CommandBar, Expander (rich), ContentDialog, FAComboBox, NumberBox, TabView, SettingsExpander.
Use instead of FluentTheme (FluentAvaloniaTheme already includes Fluent base).
SukiUI
Opinionated flat dark-friendly theme, modern look. Includes own controls and dialog system.
dotnet add package SukiUI
Wrap windows in SukiWindow for the chromeless title bar:
Dialogs: ISukiDialogManager injected into ViewModel.
Semi.Avalonia
Port of Semi Design (ByteDance). Clean, dense, great for forms.
dotnet add package Semi.Avalonia
Often paired with Ursa.Avalonia (same author) for extra controls (TagInput, IconButton, Drawer, TimelineItem, Toast).
dotnet add package Irihi.Ursa
dotnet add package Semi.Avalonia.Ursa
Material.Avalonia
True Material Design 3.
dotnet add package Material.Avalonia
dotnet add package Material.Avalonia.DataGrid
dotnet add package Material.Icons.Avalonia
Use Material.Icons.Avalonia for the icon set:
ShadUI
shadcn/ui-inspired styling for Avalonia. Currently community-driven; check repo for latest install.
Aesthetic: minimal, neutral grays, single accent, subtle shadows, generous radius. Ideal for developer-facing tools.
Ursa.Avalonia
Stand-alone full UI library (also bridges with Semi). Adds: Form, Tag, IconButton, Drawer, Skeleton, Toast, Banner, Pagination, KeyGestures, color picker, time picker, calendar, date picker, etc.
dotnet add package Irihi.Ursa
Citrus.Avalonia
Light styling pack — keeps native controls but modernizes their visuals. Good for "tweak the defaults" projects.
dotnet add package Citrus.Avalonia
Classic.Avalonia / Pipboy.Avalonia / Neumorphism.Avalonia / WPFDarkTheme
Niche aesthetics — ship as primary theme only when the app's identity demands it. Don't combine with Fluent/Material.
Combination Rules
Allowed (tested combinations):
FluentTheme+FluentAvalonia→ use FluentAvaloniaTheme (it includes Fluent base)FluentTheme+Ursa.AvaloniaSemi.Avalonia+Ursa.Avalonia(+ Semi.Avalonia.Ursa bridge)- Any theme +
Citrus.Avaloniafor table/scroll polish - Any theme + an icon library (
Lucide.Avalonia,Material.Icons.Avalonia,Projektanker.Icons.Avalonia)
Forbidden (visual chaos):
Material.Avalonia+FluentAvaloniaTheme(different design systems)SukiUI+Material.Avalonia- More than one base theme of the same kind
- Mixing two icon families in the same view (pick one per app)
Theme Selection Workflow
- Identify product type → pick from matrix above.
- Install minimum NuGets (1 base theme, optional 1 control library, 1 icon library).
- Set
RequestedThemeVariant="Default"so OS preference wins by default. - Override only the accent color + neutral surface colors via theme dictionaries.
- Build app-specific Styles in
avares://MyApp/Styles/— never modify the theme NuGet. - Test light and dark variant before committing.
Common Mistakes
- Importing two base themes — `
after` causes brush conflicts. - Hardcoding theme NuGet brushes in views — they may be renamed in next version. Wrap them in your own semantic tokens.
- Forgetting
RequestedThemeVariant="Default"— app stays in light mode regardless of OS setting. - Restyling default controls in App.axaml when using SukiUI/Semi — overrides their styles and breaks intended look. Use Style classes instead.
- Copy-pasting theme brush keys without checking version — keys like
SystemAccentColorexist in FluentTheme but not all alternatives. - Wrapping a normal
WindowinSukiThemewithoutSukiWindow— content gets styled but the title bar stays native.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: linuxdevel
- Source: linuxdevel/Avalonia-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.