Avalonia ViewModels with Zafiro

SkillAI & models

Optimal ViewModel and Wizard creation patterns for Avalonia using Zafiro and ReactiveUI.

Available today. Use it from your connected AI after setup.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the Avalonia ViewModels with Zafiro skill

What this skill tells your AI

The instructions your AI receives, as published by davila7/claude-code-templates in cli-tool/components/skills/development/avalonia-viewmodels-zafiro/SKILL.md and read by ahel’s review.

This skill provides a set of best practices and patterns for creating ViewModels, Wizards, and managing navigation in Avalonia applications, leveraging the power of ReactiveUI and the Zafiro toolkit.

Core Principles

  1. Functional-Reactive Approach: Use ReactiveUI (ReactiveObject, WhenAnyValue, etc.) to handle state and logic.
  2. Enhanced Commands: Utilize IEnhancedCommand for better command management, including progress reporting and name/text attributes.
  3. Wizard Pattern: Implement complex flows using SlimWizard and WizardBuilder for a declarative and maintainable approach.
  4. Automatic Section Discovery: Use the [Section] attribute to register and discover UI sections automatically.
  5. Clean Composition: map ViewModels to Views using DataTypeViewLocator and manage dependencies in the CompositionRoot.

Guides

Example Reference

For real-world implementations, refer to the Angor project:

  • CreateProjectFlowV2.cs: Excellent example of complex Wizard building.
  • HomeViewModel.cs: Simple section ViewModel using functional-reactive commands.

Signals

GitHub stars
32k
Forks
4k
Last commit
Sep 2026
Advanced
Item type
skill
Key
avalonia-viewmodels-zafiro-davila7
Source
github.com/davila7/claude-code-templates