Skip to content

linuxdevel/avalonia-skills

v0.1.0MIT

Version-aware skills for building, styling, testing, and deploying Avalonia apps.

    _            _             _        ____  _    _ _ _
   / \__   ____ _| | ___  _ __ (_) __ _ / ___|| | _(_) | |___
  / _ \ \ / / _` | |/ _ \| '_ \| |/ _` |\___ \| |/ / | | / __|
 / ___ \ 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

SkillDescription
avaloniaMaster router — detects project version, identifies task and loads the correct subskill
avalonia-versionsVersion/feature matrix for 11.3 / 12.0 / 12.1, renamed & removed APIs, migration and upgrade notes
avalonia-xamlXAML markup, .axaml files, namespaces, code-behind, markup extensions
avalonia-layoutPanels (Grid, StackPanel, DockPanel, Canvas, WrapPanel), alignment, margins
avalonia-stylingStyles, ControlThemes, style selectors, pseudoclasses, theme variants
avalonia-data-bindingCompiled bindings, converters, MultiBinding, validation, collection views
avalonia-data-templatesDataTemplate, ItemTemplate, template selection, TreeDataTemplate
avalonia-mvvmMVVM pattern, CommunityToolkit.Mvvm, ReactiveUI, ViewLocator, navigation
avalonia-controlsRouter to control sub-skills
avalonia-controls/inputButton, TextBox, ComboBox, Slider, CheckBox, DatePicker, etc.
avalonia-controls/data-displayTextBlock, ListBox, DataGrid, TreeView, Carousel
avalonia-controls/layoutBorder, ScrollViewer, SplitView, Expander, Viewbox
avalonia-controls/navigationTabControl, Menu, ContextMenu, TrayIcon
avalonia-controls/mediaImage, PathIcon, MediaPlayer, WebView
avalonia-custom-controlsUserControl, TemplatedControl, StyledProperty, custom drawing
avalonia-graphics-animationBrushes, transforms, keyframe animations, transitions
avalonia-input-interactionPointer, keyboard, gestures, drag-and-drop, focus
avalonia-property-systemStyledProperty, DirectProperty, AttachedProperty, value priority
avalonia-eventsRouted events, bubbling, tunneling, OnApplyTemplate
avalonia-servicesClipboard, file dialogs, notifications, StorageProvider
avalonia-app-developmentApp structure, lifetimes, resource dictionaries, assets
avalonia-testingHeadless UI tests, ViewModel unit tests, Avalonia.Headless
avalonia-deploymentWindows, macOS, Linux, WASM, Android, iOS packaging
avalonia-wpf-migrationWPF → Avalonia mapping, API differences, migration patterns
avalonia-threadingUI thread rules, Dispatcher, async/await, DispatcherTimer, background work
avalonia-mobileAndroid/iOS lifetimes, safe areas, input pane, back button, haptics
avalonia-interop-renderingComposition API, Skia/OpenGL drawing, NativeControlHost, WinForms/WPF/WinUI embedding
avalonia-performanceDevTools, virtualization, rendering cost, trimming, NativeAOT
avalonia-pro-maxRouter for visual design / UI polish — beautiful Avalonia UIs
avalonia-pro-max/design-systemSemantic tokens, palettes, typography, spacing, theme variants
avalonia-pro-max/themesFluentAvalonia, SukiUI, Semi, Material, ShadUI, Ursa selection matrix
avalonia-pro-max/componentsProduction XAML recipes: buttons, cards, nav, dialogs, forms
avalonia-pro-max/motionTransitions, animations, easings, reduced-motion
avalonia-pro-max/accessibilityAutomationProperties, contrast, keyboard nav, screen readers
avalonia-pro-max/layout-patternsResponsive, breakpoints, sidebar/nav, dashboards
avalonia-pro-max/icons-imageryIcon libraries, SVG, brand assets, image optimization
avalonia-pro-max/review-checklistPre-merge / pre-release UI audit checklist
avalonia-pro-max/preview-serverGenerate 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/input or avalonia-controls/data-display

Requirements

  • git or curl (for the installer)
  • A compatible AI agent: OpenCode, Claude Code, or any agent that supports the skills directory convention

License

MIT