Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add halay08/fullstack-agent-skills --skill "avalonia-layout-zafiro"
Install specific skill from multi-skill repository
# Description
Guidelines for modern Avalonia UI layout using Zafiro.Avalonia, emphasizing shared styles, generic components, and avoiding XAML redundancy.
# SKILL.md
name: avalonia-layout-zafiro
description: Guidelines for modern Avalonia UI layout using Zafiro.Avalonia, emphasizing shared styles, generic components, and avoiding XAML redundancy.
allowed-tools: Read, Write, Edit, Glob, Grep
Avalonia Layout with Zafiro.Avalonia
Master modern, clean, and maintainable Avalonia UI layouts.
Focus on semantic containers, shared styles, and minimal XAML.
π― Selective Reading Rule
Read ONLY files relevant to the layout challenge!
π Content Map
| File | Description | When to Read |
|---|---|---|
themes.md |
Theme organization and shared styles | Setting up or refining app themes |
containers.md |
Semantic containers (HeaderedContainer, EdgePanel, Card) |
Structuring views and layouts |
icons.md |
Icon usage with IconExtension and IconOptions |
Adding and customizing icons |
behaviors.md |
Xaml.Interaction.Behaviors and avoiding Converters |
Implementing complex interactions |
components.md |
Generic components and avoiding nesting | Creating reusable UI elements |
π Related Project (Exemplary Implementation)
For a real-world example, refer to the Angor project:
/mnt/fast/Repos/angor/src/Angor/Avalonia/Angor.Avalonia.sln
β Checklist for Clean Layouts
- [ ] Used semantic containers? (e.g.,
HeaderedContainerinstead ofBorderwith manual header) - [ ] Avoided redundant properties? Use shared styles in
axamlfiles. - [ ] Minimized nesting? Flatten layouts using
EdgePanelor generic components. - [ ] Icons via extension? Use
{Icon fa-name}andIconOptionsfor styling. - [ ] Behaviors over code-behind? Use
Interaction.Behaviorsfor UI-logic. - [ ] Avoided Converters? Prefer ViewModel properties or Behaviors unless necessary.
β Anti-Patterns
DON'T:
- Use hardcoded colors or sizes (literals) in views.
- Create deep nesting of Grid and StackPanel.
- Repeat visual properties across multiple elements (use Styles).
- Use IValueConverter for simple logic that belongs in the ViewModel.
DO:
- Use DynamicResource for colors and brushes.
- Extract repeated layouts into generic components.
- Leverage Zafiro.Avalonia specific panels like EdgePanel for common UI patterns.
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.