Skip to content
← Back to all skills
Developmentsafecommunity

avalonia-zafiro-development

Mandatory skills, conventions, and behavioral rules for Avalonia UI development using the Zafiro toolkit.

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

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.

When to Use

This skill is applicable to execute the workflow or actions described in the overview.

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
— Field Manual

The 1,441 skills, demystified in one PDF.

A free editorial guide we wrote for the Skills Atlas: taxonomy, the 25 must-know skills, anti-patterns, and learning paths by profile.

  • 70+ pages, table of contents, ready to print.
  • Sent by email — link valid 7 days.
  • You can unsubscribe in one click anytime.

No spam. We never share your email. Unsubscribe in one click.