MCPInstall

avalonia

Expert guidance for developing cross-platform desktop applications with Avalonia UI framework. Use when building, debugging, or optimizing Avalonia apps including MVVM architecture, XAML design, data binding, styling, theming, custom controls, and cross-platform deployment for Windows, macOS, Linux, iOS, Android, and WebAssembly.

Installs
265
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/markpitt/claude-skills --skill avalonia
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads avalonia automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Avalonia UI Framework - Orchestration Hub

Modular guidance for cross-platform desktop and mobile development using Avalonia, a WPF-inspired XAML-based framework for .NET.

Quick Reference: When to Load Which Resource

Task/GoalLoad Resource
MVVM patterns, data binding, dependency injection, value convertersresources/mvvm-databinding.md
UI controls reference (layouts, inputs, collections, menus)resources/controls-reference.md
Custom controls, advanced layouts, performance optimization, virtualizationresources/custom-controls-advanced.md
Styling, themes, animations, control templatesresources/styling-guide.md
Reactive patterns, commands, observables, animationsresources/reactive-animations.md
Windows, macOS, Linux, iOS, Android implementation detailsresources/platform-specific.md

Framework Overview

Avalonia is a cross-platform XAML framework supporting:

  • Platforms: Windows, macOS, Linux, iOS, Android, WebAssembly
  • Architecture: MVVM with ReactiveUI support
  • Styling: CSS-like selectors with Fluent/Simple themes
  • Features: Data binding, reactive commands, observable collections, custom controls
  • Modern .NET: .NET 6+ and .NET Standard 2.0

Standard Project Structure

MyAvaloniaApp/
├── MyAvaloniaApp/                  # Shared code
│   ├── App.axaml
│   ├── Views/                      # XAML views
│   ├── ViewModels/                 # Business logic + state
│   ├── Models/                     # Data models
│   ├── Services/                   # Application services
│   ├── Converters/                 # Value converters
│   ├── Assets/                     # Images, fonts
│   └── Styles/                     # Style resources
├── MyAvaloniaApp.Desktop/          # Desktop-specific (Win/Mac/Linux)
├── MyAvaloniaApp.Android/          # Android-specific (optional)
├── MyAvaloniaApp.iOS/              # iOS-specific (optional)
└── MyAvaloniaApp.Browser/          # WebAssembly (optional)

Getting Started

Minimal Setup

// Program.cs
public static void Main(string[] args)
{
    BuildAvaloniaApp().StartWithClassicDesktopLifetime(args);
}

public static AppBuilder BuildAvaloniaApp() =>
    AppBuilder.Configure<App>()
        .UsePlatformDetect()
        .LogToTrace();
<!-- App.axaml -->
<Application xmlns="https://github.com/avaloniaui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             x:Class="MyApp.App">
    <Application.Styles>
        <FluentTheme />
    </Application.Styles>
</Application>
<!-- Views/MainWindow.axaml -->
<Window xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        x:Class="MyApp.Views.MainWindow"
        Title="My Application"
        Width="800"
        Height="600">
    <StackPanel Padding="20" Spacing="10">
        <TextBlock Text="Hello, Avalonia!" FontSize="24" FontWeight="Bold" />
    </StackPanel>
</Window>

Core Patterns

MVVM Architecture Pattern

  1. View (XAML): UI presentation with data bindings
  2. ViewModel (C#): State management and commands
  3. Model (C#): Business logic and data access
  4. Service: Cross-cutting concerns (DI/IoC)

Load resources/mvvm-databinding.md for:

  • ViewModel base classes
  • Data binding modes and paths
  • Multi-binding and converters
  • Dependency injection setup
  • Design-time data

Reactive Programming Pattern

Leverage ReactiveUI for event-driven UI updates:

this.WhenAnyValue(x => x.SearchText)
    .Debounce(TimeSpan.FromMilliseconds(300))
    .Subscribe(text => PerformSearch(text));

Load resources/reactive-animations.md for:

  • Reactive properties and commands
  • Observable sequences
  • Animations and transitions
  • Performance optimization

Platform-Adaptive Pattern

Design once, adapt per platform:

<OnPlatform Default="16">
    <On Options="Windows" Content="14" />
    <On Options="macOS" Content="15" />
</OnPlatform>

Load resources/platform-specific.md for:

  • Runtime platform detection
  • Platform-specific services
  • Conditional UI rendering
  • Native dialogs and features

Navigation by Task

"I need to build a form with validation"

  1. Load resources/mvvm-databinding.md → Implement ViewModel with property validation
  2. Load resources/controls-reference.md → Find TextBox, ComboBox, Button controls
  3. Load resources/reactive-animations.md → Add debounced validation with observables

"I'm seeing poor performance with large lists"

  1. Load resources/custom-controls-advanced.md → Enable virtualization
  2. Load resources/mvvm-databinding.md → Use compiled bindings
  3. Load resources/reactive-animations.md → Debounce/throttle updates

"I need platform-specific behavior"

  1. Load resources/platform-specific.md → Implement service interfaces
  2. Load resources/mvvm-databinding.md → Register platform implementations via DI
  3. Platform-specific resources/ → Implement per-platform project

"I want custom styling and animations"

  1. Load resources/styling-guide.md → Define styles and themes
  2. Load resources/reactive-animations.md → Add animations to styles
  3. Load resources/custom-controls-advanced.md → Custom control templates

"I'm building a complex control"

  1. Load resources/custom-controls-advanced.md → TemplatedControl or UserControl pattern
  2. Load resources/mvvm-databinding.md → Attached properties and data binding
  3. Load resources/styling-guide.md → Control templates and styling

Resource Organization

mvvm-databinding.md (Primary)

  • Architecture overview
  • ViewModel patterns with ReactiveUI
  • Binding modes and syntax
  • Value converters
  • Collections and list binding
  • Design-time data
  • Master-detail and tab patterns

controls-reference.md (Primary)

  • Layout controls (Grid, StackPanel, DockPanel, etc.)
  • Input controls (TextBox, Button, CheckBox, ComboBox, etc.)
  • Display controls (TextBlock, Image, ProgressBar, etc.)
  • Collection controls (ListBox, DataGrid, TreeView, etc.)
  • Navigation (Menu, TabControl, SplitView, etc.)
  • Shapes and drawing

styling-guide.md (Primary)

  • CSS-like selectors (type, class, pseudo-classes)
  • Resource dictionaries and themes
  • Control templates
  • Data templates
  • Animations and transitions
  • Easing functions
  • Theme variants (light/dark)

reactive-animations.md (Advanced)

  • ReactiveUI integration
  • Reactive properties
  • Reactive commands (sync and async)
  • Observable sequences
  • Filtering, transformation, combining
  • Programmatic animations
  • Common patterns (search, validation, auto-complete)

custom-controls-advanced.md (Advanced)

  • Custom TemplatedControl creation
  • User control composition
  • Advanced layouts
  • Virtualization
  • Performance optimization
  • Render transforms
  • Graphics and drawing

platform-specific.md (Advanced)

  • Runtime platform detection
  • Multi-project structure
  • Service abstractions
  • Platform-specific implementations
  • Window management per platform
  • File system access
  • Native features (Windows DLL, macOS Cocoa, etc.)

Common Workflows

Build a Desktop App (Windows/macOS/Linux)

1. → Setup: Standard project structure + FluentTheme
2. → Create Views and ViewModels following MVVM
3. → Use controls-reference for UI layouts
4. → Add styles with styling-guide
5. → Implement services with DI (mvvm-databinding)
6. → Add animations with reactive-animations
7. → Test on each platform with platform-specific guidance

Build a Cross-Platform Mobile+Desktop App

1. → Create shared project + platform-specific projects
2. → Define service interfaces in shared code (mvvm-databinding)
3. → Implement services per platform (platform-specific)
4. → Use OnPlatform for adaptive UI
5. → Register platform implementations via DI
6. → Test thoroughly on each target (iOS/Android/Windows/Mac)

Add Real-Time Search

1. → Create SearchViewModel (mvvm-databinding)
2. → Use ObservableCollection for results (mvvm-databinding)
3. → Implement with reactive search pattern (reactive-animations)
4. → Debounce input to reduce API calls
5. → Display with ListBox (controls-reference)
6. → Style with appropriate CSS selectors (styling-guide)

Build Complex Data-Driven UI

1. → Design ViewModel hierarchy (mvvm-databinding)
2. → Create master-detail view (mvvm-databinding)
3. → Use DataGrid for tabular data (controls-reference)
4. → Add sorting/filtering with observables (reactive-animations)
5. → Optimize with virtualization (custom-controls-advanced)
6. → Add custom controls if needed (custom-controls-advanced)

Best Practices Summary

Architecture

  • Maintain strict MVVM separation of concerns
  • Use dependency injection for testability
  • Keep business logic in ViewModels, not Views

Performance

  • Enable compiled bindings with x:DataType
  • Virtualize large collections
  • Debounce rapid updates

Styling

  • Use resource dictionaries for consistency
  • Support light and dark themes
  • Test styles on all target platforms

Reactive Patterns

  • Use observables for event-driven updates
  • Debounce/throttle input-triggered operations
  • Always handle ThrownExceptions on commands

Testing

  • Unit test ViewModels in isolation
  • Use Avalonia.Headless for UI testing
  • Provide design-time DataContext in XAML

Cross-Platform Deployment

  • Windows: ClickOnce, MSI, portable exe
  • macOS: DMG, homebrew
  • Linux: AppImage, snap, flatpak
  • Mobile: Apple App Store, Google Play Store
  • Web: Static hosting (WASM runtime required)

Refer to resources/platform-specific.md for platform-specific build and deployment guidance.


Navigation: Choose a resource above based on your task. Each resource is self-contained with comprehensive examples and best practices.

FAQ

What does the avalonia skill do?

Expert guidance for developing cross-platform desktop applications with Avalonia UI framework. Use when building, debugging, or optimizing Avalonia apps including MVVM architecture, XAML design, data binding, styling, theming, custom controls, and cross-platform deployment for Windows, macOS, Linux, iOS, Android, and WebAssembly.

How do I install avalonia?

Run npx skills add https://github.com/markpitt/claude-skills --skill avalonia in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/avalonia/ (personal) or .claude/skills/avalonia/ (project).

Which AI agents can use avalonia?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is avalonia safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains avalonia?

It is published by markpitt in markpitt/claude-skills. It has 265 recorded installs.

More from markpitt/claude-skills

View all →

blazor-expert

markpitt/claude-skills

Comprehensive Blazor development expertise covering Blazor Server, WebAssembly, and Hybrid apps. Use when building Blazor components, implementing state management, handling routing, JavaScript interop, forms and validation, authentication, or optimizing Blazor applications. Includes best practices, architecture patterns, and troubleshooting guidance.

microsoft-graph

markpitt/claude-skills

Orchestration hub for Microsoft Graph API across Microsoft 365 services. Use for Graph API integrations, querying Microsoft 365 data, and building applications that interact with Azure AD.

Backend & APIs257 installs

kiss-principle

markpitt/claude-skills

Apply the K.I.S.S principle (Keep It Simple, Stupid) to reduce complexity, improve maintainability, and solve problems elegantly. Use when designing systems, writing code, planning solutions, creating documentation, architecting features, or making decisions where simplicity drives quality and efficiency.

Docs & Writing244 installs

markdown-formatter

markpitt/claude-skills

Formats markdown files according to best practices and common style guidelines. Use when cleaning up markdown documentation, ensuring consistent formatting, or standardizing README files.

Docs & Writing241 installs

azure-devops

markpitt/claude-skills

Comprehensive skill for working with Azure DevOps REST API across all services including Boards (work items, queries, backlogs), Repos (Git, pull requests, commits), Pipelines (builds, releases, deployments), Test Plans, Artifacts, organizations, projects, security, extensions, and more. Use when implementing Azure DevOps integrations, automating DevOps workflows, or building applications that interact with Azure DevOps services.

DevOps & Cloud189 installs

github-api

markpitt/claude-skills

Orchestrates comprehensive GitHub API access across all services. Intelligently routes API operations to specialized resource files covering authentication, repositories, issues/PRs, workflows, security, and more. Use when implementing GitHub integrations, automating operations, or building applications that interact with GitHub.

Backend & APIs145 installs

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs