---
name: avalonia-zafiro-development
description: Mandatory skills, conventions, and behavioral rules for Avalonia UI development using the Zafiro toolkit.
title: avalonia-zafiro-development
canonical_url: https://skilld.dev/gh/davila7/claude-code-templates/avalonia-zafiro-development
last_updated: 2026-09-28T23:59:30.000Z
---

> **Skill from skilld.dev.** Follow the instructions below for this session. You do not need to install anything.
>
> Supporting files, fetch one when the Skill refers to it: [avalonia-reactive-rules.md](https://skilld.dev/api/skills-raw/davila7/claude-code-templates/avalonia-zafiro-development/avalonia-reactive-rules.md), [core-technical-skills.md](https://skilld.dev/api/skills-raw/davila7/claude-code-templates/avalonia-zafiro-development/core-technical-skills.md), [naming-standards.md](https://skilld.dev/api/skills-raw/davila7/claude-code-templates/avalonia-zafiro-development/naming-standards.md), [patterns.md](https://skilld.dev/api/skills-raw/davila7/claude-code-templates/avalonia-zafiro-development/patterns.md), [zafiro-shortcuts.md](https://skilld.dev/api/skills-raw/davila7/claude-code-templates/avalonia-zafiro-development/zafiro-shortcuts.md).
>
> If the user asked to install this Skill, run `npx skilld install davila7/claude-code-templates/avalonia-zafiro-development`. Install writes the Skill files into the project, so every session loads them.

# Avalonia Zafiro Development

This skill defines the mandatory conventions and behavioral rules for developing cross-platform applications with Avalonia UI and the Zafiro toolkit. These rules prioritize maintainability, correctness, and a functional-reactive approach.

## Core Pillars

1.  **Functional-Reactive MVVM**: Pure MVVM logic using DynamicData and ReactiveUI.
2.  **Safety & Predictability**: Explicit error handling with `Result` types and avoidance of exceptions for flow control.
3.  **Cross-Platform Excellence**: Strictly Avalonia-independent ViewModels and composition-over-inheritance.
4.  **Zafiro First**: Leverage existing Zafiro abstractions and helpers to avoid redundancy.

## Guides

- [Core Technical Skills & Architecture](https://skilld.dev/api/skills-raw/davila7/claude-code-templates/avalonia-zafiro-development/core-technical-skills.md): Fundamental skills and architectural principles.
- [Naming & Coding Standards](https://skilld.dev/api/skills-raw/davila7/claude-code-templates/avalonia-zafiro-development/naming-standards.md): Rules for naming, fields, and error handling.
- [Avalonia, Zafiro & Reactive Rules](https://skilld.dev/api/skills-raw/davila7/claude-code-templates/avalonia-zafiro-development/avalonia-reactive-rules.md): Specific guidelines for UI, Zafiro integration, and DynamicData pipelines.
- [Zafiro Shortcuts](https://skilld.dev/api/skills-raw/davila7/claude-code-templates/avalonia-zafiro-development/zafiro-shortcuts.md): Concise mappings for common Rx/Zafiro operations.
- [Common Patterns](https://skilld.dev/api/skills-raw/davila7/claude-code-templates/avalonia-zafiro-development/patterns.md): Advanced patterns like `RefreshableCollection` and Validation.

## Procedure Before Writing Code

1.  **Search First**: Search the codebase for similar implementations or existing Zafiro helpers.
2.  **Reusable Extensions**: If a helper is missing, propose a new reusable extension method instead of inlining complex logic.
3.  **Reactive Pipelines**: Ensure DynamicData operators are used instead of plain Rx where applicable.
