Skill · em Construir interface
avalonia-viewmodels-zafiro
Optimal ViewModel and Wizard creation patterns for Avalonia using Zafiro and ReactiveUI.
Procedência
- Origem: davila7/claude-code-templates
- Caminho:
cli-tool/components/skills/development/avalonia-viewmodels-zafiro - Versão fixada:
57f899e5394bb8ca166f38eacae8f0853cbfe033 - Licença: MIT
- Espelhado em 25/09/2026
- 1 download no Claude Code Templates (lido em 25/09/2026)
Antes de instalar
5 arquivos · 8,3 KB · só texto, nenhum script
Instalar na sua CLI
O comando baixa a versão fixada (commit 57f899e) direto da origem, para a pasta que a CLI lê. Precisa de curl (macOS e Linux); no Windows não há comando, porque o Rook Labs é para macOS.
Claude Code
Neste projeto: instala em .claude/skills/avalonia-viewmodels-zafiro/.
d=".claude/skills/avalonia-viewmodels-zafiro" u="https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/cli-tool/components/skills/development/avalonia-viewmodels-zafiro" curl -fsSL --create-dirs \ -o "$d/SKILL.md" "$u/SKILL.md" \ -o "$d/composition.md" "$u/composition.md" \ -o "$d/navigation_sections.md" "$u/navigation_sections.md" \ -o "$d/viewmodels.md" "$u/viewmodels.md" \ -o "$d/wizards.md" "$u/wizards.md" \ -o "$d/LICENSE" "https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/LICENSE"
Global: instala em ~/.claude/skills/avalonia-viewmodels-zafiro/.
d="$HOME/.claude/skills/avalonia-viewmodels-zafiro" u="https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/cli-tool/components/skills/development/avalonia-viewmodels-zafiro" curl -fsSL --create-dirs \ -o "$d/SKILL.md" "$u/SKILL.md" \ -o "$d/composition.md" "$u/composition.md" \ -o "$d/navigation_sections.md" "$u/navigation_sections.md" \ -o "$d/viewmodels.md" "$u/viewmodels.md" \ -o "$d/wizards.md" "$u/wizards.md" \ -o "$d/LICENSE" "https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/LICENSE"
Codex
Neste projeto: instala em .agents/skills/avalonia-viewmodels-zafiro/.
d=".agents/skills/avalonia-viewmodels-zafiro" u="https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/cli-tool/components/skills/development/avalonia-viewmodels-zafiro" curl -fsSL --create-dirs \ -o "$d/SKILL.md" "$u/SKILL.md" \ -o "$d/composition.md" "$u/composition.md" \ -o "$d/navigation_sections.md" "$u/navigation_sections.md" \ -o "$d/viewmodels.md" "$u/viewmodels.md" \ -o "$d/wizards.md" "$u/wizards.md" \ -o "$d/LICENSE" "https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/LICENSE"
Global: instala em ~/.agents/skills/avalonia-viewmodels-zafiro/.
d="$HOME/.agents/skills/avalonia-viewmodels-zafiro" u="https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/cli-tool/components/skills/development/avalonia-viewmodels-zafiro" curl -fsSL --create-dirs \ -o "$d/SKILL.md" "$u/SKILL.md" \ -o "$d/composition.md" "$u/composition.md" \ -o "$d/navigation_sections.md" "$u/navigation_sections.md" \ -o "$d/viewmodels.md" "$u/viewmodels.md" \ -o "$d/wizards.md" "$u/wizards.md" \ -o "$d/LICENSE" "https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/LICENSE"
Antigravity
Neste projeto: instala em .agents/skills/avalonia-viewmodels-zafiro/.
d=".agents/skills/avalonia-viewmodels-zafiro" u="https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/cli-tool/components/skills/development/avalonia-viewmodels-zafiro" curl -fsSL --create-dirs \ -o "$d/SKILL.md" "$u/SKILL.md" \ -o "$d/composition.md" "$u/composition.md" \ -o "$d/navigation_sections.md" "$u/navigation_sections.md" \ -o "$d/viewmodels.md" "$u/viewmodels.md" \ -o "$d/wizards.md" "$u/wizards.md" \ -o "$d/LICENSE" "https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/LICENSE"
Global: instala em ~/.gemini/antigravity-cli/skills/avalonia-viewmodels-zafiro/.
d="$HOME/.gemini/antigravity-cli/skills/avalonia-viewmodels-zafiro" u="https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/cli-tool/components/skills/development/avalonia-viewmodels-zafiro" curl -fsSL --create-dirs \ -o "$d/SKILL.md" "$u/SKILL.md" \ -o "$d/composition.md" "$u/composition.md" \ -o "$d/navigation_sections.md" "$u/navigation_sections.md" \ -o "$d/viewmodels.md" "$u/viewmodels.md" \ -o "$d/wizards.md" "$u/wizards.md" \ -o "$d/LICENSE" "https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/LICENSE"
Peça ao Rook
Já usa o Rook Labs? Cole no chat do Rook: instale a skill https://rooklabs.sh/marketplace/cct.avalonia-viewmodels-zafiro
Prévia do SKILL.md
---
name: avalonia-viewmodels-zafiro
description: Optimal ViewModel and Wizard creation patterns for Avalonia using Zafiro and ReactiveUI.
---
# Avalonia ViewModels with Zafiro
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
- [ViewModels & Commands](viewmodels.md): Creating robust ViewModels and handling commands.
- [Wizards & Flows](wizards.md): Building multi-step wizards with `SlimWizard`.
- [Navigation & Sections](navigation_sections.md): Managing navigation and section-based UIs.
- [Composition & Mapping](composition.md): Best practices for View-ViewModel wiring and DI.
## 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.