avalonia-pro-max
Skill50 starsChanged 8 days agoMITView on GitHub
Use when designing or polishing the visual quality of an Avalonia app — choosing themes, building a design system, crafting beautiful screens, improving accessibility, motion, layout, or before shipping a UI. Routes to focused sub-skills for tokens, themes, components, motion, accessibility, layout patterns, icons, and pre-delivery review.
In this repository23 other files it gives its agents.
- avalonia-app-developmentSkill
- avalonia-controlsSkill
- avalonia-custom-controlsSkill
- avalonia-data-bindingSkill
- avalonia-data-templatesSkill
- avalonia-deploymentSkill
- avalonia-eventsSkill
- avalonia-graphics-animationSkill
- avalonia-input-interactionSkill
- avalonia-interop-renderingSkill
- avalonia-layoutSkill
- avalonia-mobileSkill
- avalonia-mvvmSkill
- avalonia-performanceSkill
- avalonia-property-systemSkill
- avalonia-servicesSkill
- avalonia-stylingSkill
- avalonia-testingSkill
- avalonia-threadingSkill
- avalonia-versionsSkill
- avalonia-wpf-migrationSkill
- avalonia-xamlSkill
- avaloniaSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 61
Use the recipe library — never hand-roll a card / dialog / nav from zero when a vetted pattern exists.
- Very specific: line 64
Add Transitions to interactive controls, page transitions for navigation, respect prefers-reduced-motion.
- Very specific: line 70
Test at 800/1280/1920 widths.
- Distinctive: line 77
If the user wants to see and pick between alternatives before you commit to a direction (e.g., "show me a few options", "what would this …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Avalonia Pro Max — Beautiful Avalonia UIs
Purpose
avalonia skills teach you the framework. avalonia-pro-max teaches you to make it look and feel professional: design tokens, theme selection, component recipes, motion, accessibility, responsive layout, icons, and final QA.
This skill is the desktop/cross-platform counterpart to ui-ux-pro-max. Same priorities, but every rule is mapped to Avalonia 12.x (XAML, FluentTheme, ControlThemes, pseudoclasses, AutomationProperties, etc.).
Avalonia Versions
Supports Avalonia 11.3, 12.0 and 12.1 (latest 12.1.4). Detect the project's version first and use the avalonia-versions skill (version matrix, renamed APIs, label convention). In these sub-skills: (12.0+) / (12.1+) = needs that version or newer, (11.x) = 11.x only (removed/obsolete in 12), no label = works in 11.3, 12.0 and 12.1. Never mix 11.x and 12.x APIs. No project yet → 12.1.x on net10.0.
When to Use
Must use
- Building a new screen, window, or page
- Restyling an existing app or replacing the default look
- Choosing a theme library (FluentAvalonia, SukiUI, Semi, Material, ShadUI, Ursa…)
- Defining colors, typography, spacing, radius, elevation tokens
- Adding animations, transitions, hover/press states
- Implementing dark/light theme variants
- Reviewing UI before shipping or PR
- The user says "make this beautiful", "modernize", "polish", "looks bland"
Recommended
- Migrating WPF visuals to Avalonia and wanting modern feel (combine with
avalonia-wpf-migration) - Cross-platform polish (desktop + mobile + web)
- Building a reusable component library
Skip
- Pure data binding, MVVM plumbing, services, deployment — use base
avaloniasubskills
Routing Table
| Task | Load sub-subskill |
| Design tokens, palettes, typography scale, spacing, theme variants, semantic color system | avalonia-pro-max/design-system |
| Picking and configuring a theme library (FluentAvalonia, SukiUI, Semi, Material, ShadUI, Ursa, Material.Avalonia) | avalonia-pro-max/themes |
| Production-ready XAML recipes: cards, dialogs, command bar, sidebar nav, settings page, forms, empty states | avalonia-pro-max/components |
| Transitions, keyframe animations, easing, hover/press feedback, page transitions, reduced-motion | avalonia-pro-max/motion |
| Contrast, focus rings, keyboard navigation, AutomationProperties, screen readers, dynamic font scaling | avalonia-pro-max/accessibility |
| Responsive design, breakpoints, AdaptiveLayout, NavigationView vs sidebar vs bottom nav, dashboards | avalonia-pro-max/layout-patterns |
| Icon libraries (Lucide, Material, FontAwesome, Heroicons), SVG (Svg.Skia), brand assets, image optimization | avalonia-pro-max/icons-imagery |
| Final QA before merge / release — checklist of every must-pass item | avalonia-pro-max/review-checklist |
| Show the user 2–3 design alternatives as rendered Avalonia screens in a browser gallery before implementation; user picks one in chat | avalonia-pro-max/preview-server |
Workflow for "Build a beautiful Avalonia app/screen"
- Establish the design system →
design-systemChoose palette (semantic tokens), typography scale, spacing rhythm, radius scale, elevation. Persist asResources/Tokens.axaml+ theme-variant dictionaries. - Pick a theme base →
themesFluentTheme + community theme (or pure custom). The themes sub-skill has a recommendation matrix by app type. - Build screens with recipes →
componentsUse the recipe library — never hand-roll a card / dialog / nav from zero when a vetted pattern exists. - Apply motion →
motionAddTransitionsto interactive controls, page transitions for navigation, respectprefers-reduced-motion. - Verify accessibility →
accessibilityAutomationProperties, focus order, contrast 4.5:1, keyboard parity. - Check responsive behavior →
layout-patternsTest at 800/1280/1920 widths; mobile/tablet via Avalonia.Mobile. - Run the review checklist →
review-checklistPre-merge audit. If anything fails, loop back.
Optional: Show the user options first
If the user wants to see and pick between alternatives before you commit to a direction (e.g., "show me a few options", "what would this look like"), insert this before step 3:
→ preview-server — generate 3 variant .axaml files, render each via Avalonia.Headless to PNG (light/dark × wide/compact), serve a side-by-side HTML gallery. The user reviews in their browser and tells you which to build.
Priority of Concerns
Same global priority as ui-ux-pro-max, mapped to Avalonia:
| # | Category | Avalonia Mechanism | Sub-skill |
| 1 | Accessibility | AutomationProperties.*, focus pseudoclasses, contrast | accessibility |
| 2 | Touch & interaction | Min hit-target via Padding/MinHeight, :pointerover / :pressed styles | components, motion |
| 3 | Performance | CompiledBinding (default in 12.0+, opt-in in 11.x), virtualization (VirtualizingStackPanel), RenderOptions.BitmapInterpolationMode | components, layout-patterns |
| 4 | Style selection | Theme library + ControlTheme + Style classes | themes, design-system |
| 5 | Layout & responsive | Grid * / Auto, AdaptiveLayout, NavigationView.PaneDisplayMode | layout-patterns |
| 6 | Typography & color | Theme-variant dictionaries, DynamicResource, type ramp | design-system |
| 7 | Animation | Transitions, Animation, KeyFrame, IterationCount | motion |
| 8 | Forms & feedback | Validation (DataAnnotations / INotifyDataErrorInfo), Flyout, error pseudoclasses | components |
| 9 | Navigation | TabControl, SplitView, FluentAvalonia NavigationView | layout-patterns, components |
| 10 | Charts & data | LiveCharts2, ScottPlot, OxyPlot | components |
Recommended Stack for "Beautiful by Default"
A pragmatic starter pack that yields a polished app with minimal effort:
<!-- App.axaml -->
<Application.Styles>
<FluentTheme/>
<StyleInclude Source="avares://MyApp/Resources/Tokens.axaml"/>
<StyleInclude Source="avares://MyApp/Resources/ComponentStyles.axaml"/>
</Application.Styles>NuGet:
Avalonia12.1.x (or the project's version)Avalonia.Themes.Fluent(orSukiUI/Semi.Avalonia)FluentAvaloniaUI(3.x for Avalonia 12, 2.5.x for 11.3) — NavigationView, InfoBar, TeachingTipLucide.AvaloniaorMaterial.Icons.Avalonia— iconsSvg.Skia— vector assetsAvalonia.Xaml.Behaviors— declarative event triggers
The themes sub-skill explains alternatives by product type.
Anti-Patterns (See Each Sub-skill for Detail)
- Hard-coded hex colors scattered across views — use
DynamicResource+ theme dictionaries - Emoji as icons — use a vector icon library
- Removing focus rings to look cleaner — breaks keyboard a11y
- Same
Margin="10"everywhere — use a 4/8 spacing scale - Animating
Width/Heightinstead ofRenderTransformScale — janky StaticResourcefor theme-variant brushes — won't update on variant change- Forgetting
AutomationProperties.Nameon icon-only buttons - Mixing FluentTheme + Material.Avalonia in the same app — visual inconsistency
- Custom controls without
:pointerover/:pressed/:disabled/:focusstyles - One giant
Windowwith noUserControldecomposition
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

