SkillCoding & development
Trace a request through a codebase
Follow one request from entry point to storage or external boundary with concrete file references.
✳Claude Code
MIT · FreeView skill
Mandatory skills, conventions, and behavioral rules for Avalonia UI development using the Zafiro toolkit.
--- name: avalonia-zafiro-development description: "Mandatory skills, conventions, and behavioral rules for Avalonia UI development using the Zafiro toolkit." risk: safe source: community date_added: "2026-02-27" --- # 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](core-technical-skills.md): Fundamental skills and architectural principles. - [Naming & Coding Standards](naming-standards.md): Rules for naming, fields, and error handling. - [Avalonia, Zafiro & Reactive Rules](avalonia-reactive-rules.md): Specific guidelines for UI, Zafiro integration, and DynamicData pipelines. - [Zafiro Shortcuts](zafiro-shortcuts.md): Concise mappings for common Rx/Zafiro operations. - [Common Patterns](patterns.md): Advanced patterns like `RefreshableCollection` and Validation. ## Compatibility and validation These are project/toolkit conventions, not universal .NET rules; follow the actual repository’s requirements and pinned Zafiro/ReactiveUI/DynamicData APIs. Verify shortcut semantics (especially null/empty/whitespace distinctions) instead of assuming table equivalence. Validate the collection’s intended empty/all-valid behavior: filtering valid items then testing non-empty does not prove every item is valid. Preserve cancellation, UI-thread scheduling and disposal ownership when adapting reactive examples. ## 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.--- name: avalonia-zafiro-development description: "Mandatory skills, conventions, and behavioral rules for Avalonia UI development using the Zafiro toolkit." risk: safe source: community date_added: "2026-02-27" --- # 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](core-technical-skills.md): Fundamental skills and architectural principles. - [Naming & Coding Standards](naming-standards.md): Rules for naming, fields, and error handling. - [Avalonia, Zafiro & Reactive Rules](avalonia-reactive-rules.md): Specific guidelines for UI, Zafiro integration, and DynamicData pipelines. - [Zafiro Shortcuts](zafiro-shortcuts.md): Concise mappings for common Rx/Zafiro operations. - [Common Patterns](patterns.md): Advanced patterns like `RefreshableCollection` and Validation. ## Compatibility and validation These are project/toolkit conventions, not universal .NET rules; follow the actual repository’s requirements and pinned Zafiro/ReactiveUI/DynamicData APIs. Verify shortcut semantics (especially null/empty/whitespace distinctions) instead of assuming table equivalence. Validate the collection’s intended empty/all-valid behavior: filtering valid items then testing non-empty does not prove every item is valid. Preserve cancellation, UI-thread scheduling and disposal ownership when adapting reactive examples. ## 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.
Imported SKILL.md format for Claude Code, Codex and Cursor. Review the complete instructions and required tools before use. Package integrity checked; individual agent behavior has not been tested.