AgentStack
SKILL verified MIT Self-run

Avalonia Pro Max/components

skill-linuxdevel-avalonia-skills-components · by linuxdevel

Use when building production-quality Avalonia screens — copy-paste XAML recipes for cards, primary/secondary/icon buttons, dialogs, sidebar nav, command bar, settings page, forms with validation, empty states, toasts, badges, skeletons. All recipes use semantic tokens from the design-system sub-skill.

No reviews yet
0 installs
13 views
0.0% view→install

Install

$ agentstack add skill-linuxdevel-avalonia-skills-components

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Avalonia Pro Max/components? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Component Recipes

All recipes assume the design tokens from avalonia-pro-max/design-system are loaded (SurfaceBrush, AccentBrush, TextPrimaryBrush, RadiusLg, Space*, etc.).


Buttons

Reusable Button Styles


  
  
    
    
    
    
    
    
      
        
        
        
      
    
    
  

  
    
  

  
  
    
    
  
  
    
    
  

  
  
    
    
    
    
  
  
    
  

  
  
    
    
  
  
    
  

  
  
    
    
  

  
  
    
    
    
  

  
  
    
    
    
  
  
    
    
    
  

  
  
    
    
  

Usage:


  

Card


  
    
    
    
  

  
  
  
  
  
  

  
  
    
      
    
  

  

Sidebar Navigation (FluentAvalonia NavigationView)


  
    
      
        
      
    
    
      
        
      
    
    
    
      
        
      
    
  

  
    
      
        
      
    
  

  

For non-FluentAvalonia apps, build a sidebar with SplitView:


  
    
      
        
          
            
              
              
            
          
        
      
    
  
  

App Shell (Title bar + sidebar + content)


  
    
      
        
      
    

    
      
      
        
      

      
      
    
  

Dialog (FluentAvalonia ContentDialog)

var dialog = new ContentDialog
{
    Title = "Delete project?",
    Content = "This action cannot be undone. All files will be permanently deleted.",
    PrimaryButtonText = "Delete",
    CloseButtonText = "Cancel",
    DefaultButton = ContentDialogButton.Close
};
dialog.PrimaryButtonClick += (_, _) => viewModel.ConfirmDelete();
await dialog.ShowAsync();

For destructive actions, style the primary button with the danger class via PrimaryButtonStyle.


Form with Inline Validation


  
    
    
    
  

  
    
    
    
  

  

  
  
  

  
  

  
  

  

Use INotifyDataErrorInfo on the ViewModel; the :error pseudoclass auto-applies.


Empty State


  
    
    
    
    
  

Toast / Notification (Avalonia built-in)

// In Window/UserControl
private WindowNotificationManager _notif;

protected override void OnLoaded(RoutedEventArgs e)
{
    base.OnLoaded(e);
    _notif = new WindowNotificationManager(TopLevel.GetTopLevel(this))
    {
        Position = NotificationPosition.BottomRight,
        MaxItems = 3
    };
}

_notif.Show(new Notification(
    "Project created",
    "‘Acme website redesign’ is ready.",
    NotificationType.Success));

Badge


  

Status variants: swap Background to SuccessBrush, WarningBrush, DangerBrush, or muted (SurfaceMutedBrush + TextSecondaryBrush).


Skeleton (loading placeholder)


  
    
      
        
          
          
          
        
      
    
  

Use Ursa.Avalonia's Skeleton control if you depend on Ursa.


Settings Row (FluentAvalonia SettingsExpander pattern)


  
    
      
    
    
      
        
      
    
    
      
        
      
    
  

Common Mistakes

  • Hand-rolling button styles per view — define once in Styles/Buttons.axaml, use Classes="..." everywhere.
  • Padding="10" on an icon-only button — total target shrinks below 36px, fails 44pt accessibility on touch.
  • Forgetting AutomationProperties.Name on icon-only buttons — screen readers announce nothing.
  • Validating with red-only feedback — combine :error border with helper text.
  • Cards stacked at the same elevation — use ShadowSm or 1px border, not ShadowLg, for in-page cards.
  • Using ContentDialog for non-blocking info — use a toast/notification instead.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.