Use this skill when building Avalonia or WPF desktop applications, creating cross-platform desktop UI, or working with .axaml files. Covers Avalonia 11.x framework setup, layout system (Grid, StackPanel, DockPanel, WrapPanel, Canvas), core controls (Button, TextBox, ComboBox, DataGrid, TreeView, TreeDataGrid, ItemsRepeater, ToggleSwitch, SplitButton), CSS-like styling and theming (Fluent theme, Simple theme, light/dark mode, ControlThemes, style selectors, pseudo-classes), data binding (compiled bindings, x:DataType, element/self/parent binding, converters), MVVM architecture (CommunityToolkit.Mvvm, ReactiveUI, ViewLocator, DI setup, navigation patterns, dialog services), custom controls (UserControl, TemplatedControl, StyledProperty, DirectProperty, AttachedProperty), events and input handling (routed events, pointer events, keyboard events, gestures, focus management), animations and transitions (implicit transitions, keyframe animations, page transitions, easing functions), data templates and collections (DataTemplate, IDataTemplate, template selectors, virtualization, TreeDataGrid), cross-platform integration (IStorageProvider file dialogs, clipboard, drag-drop, system tray, NativeMenu, window customization, avares:// assets), desktop UI design principles (information density, navigation patterns, typography, color/theming, Fluent Design, form layout, geometry), interaction and UX patterns (keyboard-first design, accessibility, progress indicators, notifications, confirmation/undo), validation and error handling (INotifyDataErrorInfo, ObservableValidator, DataAnnotations, global exception handling), testing and deployment (ViewModel unit testing, Avalonia.Headless, publishing, MSIX, DMG, AppImage, Velopack, NativeAOT), and desktop observability (Serilog for desktop, crash reporting, performance diagnostics, offline telemetry). Invoke when: creating or modifying .axaml files, building desktop applications with Avalonia or WPF, implementing MVVM patterns for desktop, configuring Avalonia styling or theming, working with Avalonia controls or custom controls, setting up cross-platform desktop deployment, debugging Avalonia-specific issues (binding errors, styling not applying, platform differences), designing desktop UI layouts, or when the user asks about Avalonia or WPF patterns.
From avalonia-skillnpx claudepluginhub cpike5/cpike-agent-skills --plugin avalonia-skillThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
You are building a cross-platform desktop application with Avalonia. Read the relevant reference docs below based on what you're building. Always use compiled bindings and always set up DI properly — these are the foundation of a well-structured Avalonia app.
Desktop apps have different constraints than web or mobile. Embrace keyboard-first interaction, higher information density, and platform integration. Support light/dark mode from day one. Use the Fluent theme as your starting point and customize from there. See 12-desktop-ui-design.md for navigation patterns, typography, spacing, and layout guidance specific to desktop.
If bindings don't work, CHECK COMPILED BINDINGS FIRST — ensure x:DataType is set on the view and properties exist on the ViewModel.
Read the relevant docs based on your task:
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault> in the project. Always set x:DataType on views. Compiled bindings catch errors at build time and are required for AOT.async/await for all I/O. Use Task.Run() for CPU-bound work. Never call .Result or .Wait() from the UI thread.ItemsRepeater or ListBox with virtualization for 50+ items. Never use StackPanel inside ScrollViewer for large collections.DataTrigger or EventTrigger in Avalonia. Use style selectors with pseudo-classes (:pointerover, :pressed, :disabled) or bindings with converters.ControlTheme for custom control appearance, not WPF-style implicit styles with templates.IServiceCollection. Inject via constructor. ViewModels should never reference View types.pack:// (WPF). Set build action to AvaloniaResource.OpenFileDialog is obsolete. Use TopLevel.StorageProvider for cross-platform file/folder access.DynamicResource for theme-aware colors. Test both variants. Use ThemeVariantScope for per-subtree overrides.CompositeDisposable with ReactiveUI. Implement IDisposable on ViewModels that hold subscriptions.OperatingSystem.Is*().