agentleFS
linuxdevellinuxdevel/Avalonia-skills/skills/avalonia/SKILL.md

avalonia

Skill50 starsChanged 7 days agoMITView on GitHub

Use when working with Avalonia UI framework — building, styling, binding, animating, or deploying Avalonia apps with .NET.

2 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Rule 2: Always load the matching subskill before writing or reviewing Avalonia code.

    line 15

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Avalonia UI

Overview

Avalonia is a cross-platform .NET UI framework using XAML (.axaml), with its own Skia-based rendering engine, supporting Windows, macOS, Linux, iOS, Android, and WASM.

Supported versions: 11.3 (legacy), 12.0, 12.1 (current stable, 12.1.4). Default for new projects: latest 12.1.x on net10.0.

Rule 1 — version first: Before writing or reviewing code, detect the project's Avalonia version (Avalonia PackageReference in *.csproj / Directory.Packages.props). Many APIs differ between 11.x and 12.x (clipboard, drag-drop, Android lifetime, Watermark, window decorations, compiled-binding default). Load avalonia-versions when unsure whether a feature exists in that version, or when migrating/upgrading.

Rule 2: Always load the matching subskill before writing or reviewing Avalonia code. Subskills mark version-specific content as (12.0+), (12.1+) or (11.x); unlabelled content works in all supported versions.

Rule 3 — documentation lookup: Prefer available MCP documentation tools before browsing: use an Avalonia-specific documentation provider first, then a general library-documentation provider such as Context7. Identify suitable tools by their descriptions and capabilities, not a fixed server alias. Follow the official documentation links when suitable MCP tools are unavailable or their results are incomplete, unrelated, or do not establish the target version. Verify version-specific behavior against matching documentation, tagged source, and the project's Avalonia packages. MCP providers are optional; keep the official links as sources and fallback.

Bundled references: Resolve each route relative to this skill's directory: avalonia-xaml means avalonia-xaml/SKILL.md, and avalonia-pro-max/motion means avalonia-pro-max/motion/SKILL.md. Read the matching file even when the host exposes only the avalonia entrypoint. Resolve that file's supporting links and scripts relative to its own directory.

Routing Table

TaskLoad subskill
Which version? Feature availability, 11→12 migration, 12.0→12.1 upgradeavalonia-versions
XAML markup, .axaml files, namespaces, code-behindavalonia-xaml
Panels, Grid, StackPanel, alignment, marginsavalonia-layout
Styles, control themes, selectors, pseudoclasses, themesavalonia-styling
{Binding}, compiled bindings, converters, validationavalonia-data-binding
DataTemplate, ItemTemplate, template selectionavalonia-data-templates
MVVM pattern, INotifyPropertyChanged, ICommand, CommunityToolkitavalonia-mvvm
Built-in controls (Button, TextBox, GroupBox, TableView, DataGrid, pages, etc.)avalonia-controls
Custom UserControl, TemplatedControl, drawing controlsavalonia-custom-controls
Brushes, transforms, animations, transitionsavalonia-graphics-animation
Pointer, keyboard, gestures, drag-and-dropavalonia-input-interaction
StyledProperty, DirectProperty, AttachedPropertyavalonia-property-system
Routed events, bubbling, tunnelingavalonia-events
Clipboard, file dialogs, notifications, storageavalonia-services
App structure, resource dictionaries, app lifetimeavalonia-app-development
Headless testing, UI automationavalonia-testing
Packaging for macOS/Windows/Linux/WASMavalonia-deployment
Migrating from WPFavalonia-wpf-migration
UI thread, Dispatcher, async/await, background work, timersavalonia-threading
Android/iOS app concerns: lifetimes, safe areas, soft keyboard, back button, hapticsavalonia-mobile
Composition API, direct Skia/OpenGL, NativeControlHost, embedding Avalonia in WinForms/WPF/WinUIavalonia-interop-rendering
Slow UI, profiling, DevTools, virtualization, startup time, trimming, NativeAOTavalonia-performance
Designing/polishing UI for visual quality, picking themes, building a design system, motion, accessibility, layout patterns, icons, pre-ship reviewavalonia-pro-max

Notable Community Packages

A curated short-list of the most commonly needed community packages:

NeedPackage
Message box dialogsMsgBox.Avalonia
Hot reload during devHotAvalonia
SVG imagesSvg.Skia
Animated GIFsAvaloniaGif
ChartsLiveChartsCore.SkiaSharpView.Avalonia or ScottPlot.Avalonia
Code editor controlAvaloniaEdit
Docking layoutDock.Avalonia
Behaviors (DataTrigger replacement)Avalonia.Xaml.Behaviors
Node editorNodifyAvalonia (GitHub: BAndysc)
Material themeMaterial.Avalonia
Fluent/WinUI controlsFluentAvalonia
Rich dialog serviceHanumanInstitute.MvvmDialogs.Avalonia
VLC media playerLibVLCSharp.Avalonia
PDF viewerMuPDFCore
Deployment packagingPupNet Deploy (GitHub: kuiperzone/PupNet-Deploy)

Full community list: https://github.com/AvaloniaCommunity/awesome-avalonia

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.