_ _ _ ____ _ _ _ _
/ \__ ____ _| | ___ _ __ (_) __ _ / ___|| | _(_) | |___
/ _ \ \ / / _` | |/ _ \| '_ \| |/ _` |\___ \| |/ / | | / __|
/ ___ \ V / (_| | | (_) | | | | | (_| | ___) | <| | | \__ \
/_/ \_\_/ \__,_|_|\___/|_| |_|_|\__,_||____/|_|\_\_|_|_|___/
AI agent skills for building Avalonia cross-platform .NET apps
A collection of dense reference skills that help AI coding agents (OpenCode, Claude Code, and others) write correct, idiomatic Avalonia UI code. Covers Avalonia 11.3, 12.0 and 12.1 (latest stable 12.1.4) — the full framework from XAML to deployment. Version-specific APIs are labelled (12.0+), (12.1+) or (11.x), and the agent detects your project's version before writing code.
Each skill is a focused reference document: real code patterns, key APIs, and the common mistakes that trip up even experienced developers. A master router skill automatically routes AI to the right subskill for any task.
Install
Codex plugin
From a local checkout, register the marketplace and install the plugin with a current Codex CLI:
codex plugin marketplace add .
codex plugin add avalonia-skills@avalonia-skills-marketplace
Start a new chat and use the avalonia-skills:avalonia skill for an Avalonia task. In Codex desktop, the registered Avalonia Skills marketplace also exposes the plugin in the Plugins directory. For Git-backed distribution, register the repository's Git URL with codex plugin marketplace add instead of a local path.
The root plugin.json uses the portable Agent Plugins format, with Codex presentation metadata under extensions.com.openai. The package bundles the avalonia router and its nested references under skills/; it needs no MCP server, credentials, hooks, or install script.
Shell installer
curl -LsSf https://raw.githubusercontent.com/linuxdevel/Avalonia-skills/main/install.sh | bash
The installer:
- Downloads skills to
~/.local/share/avalonia-skills/ - Creates symlinks in all detected agent directories (
~/.config/opencode/skills/,~/.claude/skills/,~/.agents/skills/) - Is idempotent — safe to re-run to update
Custom target directory
Pass --target with a real directory you want the skills symlinked into (e.g. an agent skills dir the installer doesn't auto-detect):
curl -LsSf https://raw.githubusercontent.com/linuxdevel/Avalonia-skills/main/install.sh | bash -s -- --target ~/my-agent/skills
The installer refuses obvious placeholder paths like
/path/to/skills.
Skills
| Skill | Description |
|---|---|
avalonia | Master router — detects project version, identifies task and loads the correct subskill |
avalonia-versions | Version/feature matrix for 11.3 / 12.0 / 12.1, renamed & removed APIs, migration and upgrade notes |
avalonia-xaml | XAML markup, .axaml files, namespaces, code-behind, markup extensions |
avalonia-layout | Panels (Grid, StackPanel, DockPanel, Canvas, WrapPanel), alignment, margins |
avalonia-styling | Styles, ControlThemes, style selectors, pseudoclasses, theme variants |
avalonia-data-binding | Compiled bindings, converters, MultiBinding, validation, collection views |
avalonia-data-templates | DataTemplate, ItemTemplate, template selection, TreeDataTemplate |
avalonia-mvvm | MVVM pattern, CommunityToolkit.Mvvm, ReactiveUI, ViewLocator, navigation |
avalonia-controls | Router to control sub-skills |
avalonia-controls/input | Button, TextBox, ComboBox, Slider, CheckBox, DatePicker, etc. |
avalonia-controls/data-display | TextBlock, ListBox, DataGrid, TreeView, Carousel |
avalonia-controls/layout | Border, ScrollViewer, SplitView, Expander, Viewbox |
avalonia-controls/navigation | TabControl, Menu, ContextMenu, TrayIcon |
avalonia-controls/media | Image, PathIcon, MediaPlayer, WebView |
avalonia-custom-controls | UserControl, TemplatedControl, StyledProperty, custom drawing |
avalonia-graphics-animation | Brushes, transforms, keyframe animations, transitions |
avalonia-input-interaction | Pointer, keyboard, gestures, drag-and-drop, focus |
avalonia-property-system | StyledProperty, DirectProperty, AttachedProperty, value priority |
avalonia-events | Routed events, bubbling, tunneling, OnApplyTemplate |
avalonia-services | Clipboard, file dialogs, notifications, StorageProvider |
avalonia-app-development | App structure, lifetimes, resource dictionaries, assets |
avalonia-testing | Headless UI tests, ViewModel unit tests, Avalonia.Headless |
avalonia-deployment | Windows, macOS, Linux, WASM, Android, iOS packaging |
avalonia-wpf-migration | WPF → Avalonia mapping, API differences, migration patterns |
avalonia-threading | UI thread rules, Dispatcher, async/await, DispatcherTimer, background work |
avalonia-mobile | Android/iOS lifetimes, safe areas, input pane, back button, haptics |
avalonia-interop-rendering | Composition API, Skia/OpenGL drawing, NativeControlHost, WinForms/WPF/WinUI embedding |
avalonia-performance | DevTools, virtualization, rendering cost, trimming, NativeAOT |
avalonia-pro-max | Router for visual design / UI polish — beautiful Avalonia UIs |
avalonia-pro-max/design-system | Semantic tokens, palettes, typography, spacing, theme variants |
avalonia-pro-max/themes | FluentAvalonia, SukiUI, Semi, Material, ShadUI, Ursa selection matrix |
avalonia-pro-max/components | Production XAML recipes: buttons, cards, nav, dialogs, forms |
avalonia-pro-max/motion | Transitions, animations, easings, reduced-motion |
avalonia-pro-max/accessibility | AutomationProperties, contrast, keyboard nav, screen readers |
avalonia-pro-max/layout-patterns | Responsive, breakpoints, sidebar/nav, dashboards |
avalonia-pro-max/icons-imagery | Icon libraries, SVG, brand assets, image optimization |
avalonia-pro-max/review-checklist | Pre-merge / pre-release UI audit checklist |
avalonia-pro-max/preview-server | Generate 3 design variants, render each via Avalonia.Headless, serve an HTML gallery for the user to pick |
How it works
When you start working on an Avalonia project, the AI agent loads the avalonia master skill. The master skill identifies what you're doing and routes to the appropriate subskill for accurate, dense reference.
Examples:
- Writing data bindings → loads
avalonia-data-binding - Styling a control → loads
avalonia-styling - Migrating from WPF → loads
avalonia-wpf-migration - Adding a Button or DataGrid → loads
avalonia-controls/inputoravalonia-controls/data-display
Requirements
gitorcurl(for the installer)- A compatible AI agent: OpenCode, Claude Code, or any agent that supports the skills directory convention
License
MIT