MCPInstall

syncfusion-winui-shimmer

Guide for implementing the Syncfusion WinUI Shimmer control to display loading placeholders and skeleton screens. Use this skill when implementing shimmer effects, skeleton screens, content loading animations, or loading placeholders during data fetching in WinUI applications. Essential for enhancing perceived performance during async operations, list loading, profile loading, article loading, or any content loading scenario requiring visual feedback.

Installs
47
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/syncfusion/winui-ui-components-skills --skill syncfusion-winui-shimmer
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads syncfusion-winui-shimmer automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Implementing WinUI Shimmer

When to Use This Skill

Use this skill when the user needs to:

  • Display skeleton screens during content loading
  • Show shimmer effects as loading placeholders
  • Enhance perceived performance during data fetching
  • Create loading animations for lists, profiles, articles, or videos
  • Provide visual feedback during async content loading
  • Implement modern loading UX patterns (skeleton loaders)

Always apply this skill when the user mentions: shimmer effects, skeleton screens, loading placeholders, content loading animations, shimmer loaders, or skeleton UI in WinUI applications.

Component Overview

SfShimmer is a Syncfusion WinUI control that displays animated placeholder content (skeleton screens) during loading operations. It provides 7 built-in shimmer types and supports custom layouts to match any content structure.

Namespace: Syncfusion.UI.Xaml.Core
NuGet Package: Syncfusion.Core.WinUI
Platform: WinUI 3 Desktop (.NET 5+, Windows App SDK 1.0+)

Key Advantage: Improves perceived performance by showing content structure while data loads, reducing user frustration during wait times.

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Installation and NuGet package setup
  • Namespace imports and basic initialization
  • Default shimmer type (CirclePersona)
  • License registration requirements
  • First complete example

Built-in Shimmer Types

📄 Read: references/built-in-types.md

  • 7 built-in shimmer types (CirclePersona, SquarePersona, Profile, Article, Video, Feed, Shopping)
  • Type property usage
  • Visual descriptions and comparisons
  • Choosing the right type for your content
  • Switching between types

Custom Layouts

📄 Read: references/custom-layouts.md

  • CustomLayout property for creating custom shimmer designs
  • Using Grid, StackPanel, Rectangle elements
  • Complex layout examples
  • Matching shimmer to actual content structure
  • Best practices and performance

Customization Options

📄 Read: references/customization.md

  • Fill property (background color)
  • WaveColor property (animation color)
  • WaveWidth property (wave width control)
  • WaveDuration property (animation speed)
  • RepeatCount property (repeat views)
  • Combining customizations

Quick Start Example

<Page
    xmlns:syncfusion="using:Syncfusion.UI.Xaml.Core">
    <Grid>
        <syncfusion:SfShimmer 
            x:Name="shimmer"
            Type="Article"
            Fill="#F6F6F6"
            WaveColor="#E0E0E0"
            RepeatCount="3"/>
    </Grid>
</Page>
using Syncfusion.UI.Xaml.Core;
using Microsoft.UI;

// Create and configure Shimmer
SfShimmer shimmer = new SfShimmer
{
    Type = ShimmerType.Article,
    Fill = Colors.LightGray,
    WaveColor = Colors.White,
    RepeatCount = 3
};

// Add to UI
this.Content = shimmer;

Common Patterns

1. Simple Profile Loading Shimmer

<syncfusion:SfShimmer Type="Profile"/>

When to use: User profile pages, account screens, contact details loading.

2. Article/Blog Loading with Repeat

<Grid>
    <syncfusion:SfShimmer 
        Type="Article"
        RepeatCount="5"
        Fill="#F5F5F5"
        WaveColor="#E0E0E0"/>
</Grid>

When to use: Blog feeds, news articles, text-heavy content loading.

3. Shopping/Product Grid Shimmer

<syncfusion:SfShimmer 
    Type="Shopping"
    RepeatCount="6"
    WaveDuration="1500"/>

When to use: E-commerce product grids, shopping catalogs, item galleries.

4. Video/Media Feed Shimmer

<syncfusion:SfShimmer 
    Type="Video"
    RepeatCount="4"
    Fill="#000000"
    WaveColor="#333333"/>

When to use: Video streaming apps, media galleries, YouTube-like feeds.

5. Conditional Shimmer Display

<Grid>
    <!-- Shimmer while loading -->
    <syncfusion:SfShimmer 
        x:Name="shimmer"
        Type="Feed"
        Visibility="{x:Bind IsLoading, Mode=OneWay}"/>
    
    <!-- Actual content when loaded -->
    <ListView 
        x:Name="contentListView"
        Visibility="{x:Bind IsLoaded, Mode=OneWay}"
        ItemsSource="{x:Bind Items}"/>
</Grid>
private bool isLoading = true;
public bool IsLoading
{
    get => isLoading;
    set
    {
        isLoading = value;
        OnPropertyChanged();
    }
}

public bool IsLoaded => !IsLoading;

private async void LoadContentAsync()
{
    IsLoading = true;
    
    try
    {
        var data = await FetchDataAsync();
        contentListView.ItemsSource = data;
    }
    finally
    {
        IsLoading = false;
    }
}

When to use: Toggle between shimmer and actual content based on loading state.

6. Custom Layout for Specific UI

<syncfusion:SfShimmer>
    <syncfusion:SfShimmer.CustomLayout>
        <Grid RowSpacing="10" ColumnSpacing="15">
            <Grid.RowDefinitions>
                <RowDefinition Height="60"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="60"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            
            <!-- Profile image placeholder -->
            <Ellipse Grid.Row="0" Grid.RowSpan="2" Width="60" Height="60"/>
            
            <!-- Name placeholder -->
            <Rectangle Grid.Row="0" Grid.Column="1" 
                      Height="15" RadiusX="3" RadiusY="3"
                      HorizontalAlignment="Left" Width="200"/>
            
            <!-- Description placeholder -->
            <Rectangle Grid.Row="1" Grid.Column="1" 
                      Height="12" RadiusX="3" RadiusY="3"
                      HorizontalAlignment="Left" Width="250"/>
            
            <!-- Content placeholder -->
            <Rectangle Grid.Row="2" Grid.ColumnSpan="2" 
                      Height="100" RadiusX="5" RadiusY="5"/>
        </Grid>
    </syncfusion:SfShimmer.CustomLayout>
</syncfusion:SfShimmer>

When to use: Custom content structure not matching built-in types.

Key Properties

PropertyTypeDefaultDescription
TypeShimmerTypeCirclePersonaThe built-in shimmer layout type. Options: CirclePersona, SquarePersona, Profile, Article, Video, Feed, Shopping.
CustomLayoutUIElementnullCustom layout for creating shimmer designs that match your specific content structure.
FillBrush#F6F6F6Background color of the shimmer view (placeholder color).
WaveColorBrushWhiteColor of the animated wave that moves across the shimmer.
WaveWidthdouble200Width of the animated wave in pixels. Larger values = wider wave.
WaveDurationint1000Duration of the wave animation in milliseconds. Higher values = slower animation.
RepeatCountint1Number of times the built-in shimmer view is repeated vertically. Useful for lists.

Common Use Cases

List/Feed Loading

  • Social media feeds
  • News article lists
  • Product catalogs
  • Comment sections
  • Search results

Best Types: Feed, Article, Shopping

Profile/User Loading

  • User profiles
  • Contact cards
  • Account details
  • Team member displays
  • About sections

Best Types: Profile, CirclePersona, SquarePersona

Media Loading

  • Video thumbnails
  • Image galleries
  • Media players
  • Streaming content
  • Photo albums

Best Types: Video, Custom layout with image placeholders

E-commerce

  • Product grids
  • Shopping carts
  • Product details
  • Category pages
  • Wishlists

Best Types: Shopping, Custom layouts

Implementation Tips

  1. Match Shimmer to Content: Design shimmer layouts that closely resemble the actual content structure for seamless transitions.

  2. Use RepeatCount for Lists: Set RepeatCount to match the expected number of items visible in the viewport.

  3. Timing:

    • Show shimmer immediately when loading starts
    • Hide shimmer when content is ready to display
    • Typical shimmer duration: 500ms - 3000ms
  4. Color Theming:

    • Light theme: Fill = #F6F6F6, WaveColor = White
    • Dark theme: Fill = #2C2C2C, WaveColor = #3C3C3C
  5. Performance: Shimmer animations are GPU-accelerated. Multiple shimmers can run simultaneously without performance issues.

  6. Accessibility: Shimmer is purely visual. Ensure screen readers announce loading state separately using live regions or status messages.

  7. Wave Speed:

    • Fast loading (<2s): WaveDuration = 800-1000ms
    • Normal loading (2-5s): WaveDuration = 1000-1500ms
    • Slow loading (>5s): WaveDuration = 1500-2000ms
  8. Custom Layouts: Use Rectangle elements with rounded corners (RadiusX/RadiusY) and Ellipse for circular placeholders.

Shimmer vs Other Loading Patterns

Use Shimmer when:

  • Content structure is known beforehand
  • Loading time is 500ms - 5 seconds
  • Showing list-based or structured content
  • Modern app with emphasis on perceived performance

Use BusyIndicator when:

  • Content structure is unknown
  • Generic loading indication needed
  • Modal/blocking operations
  • Very quick (<500ms) or very long (>10s) operations

Use ProgressBar when:

  • Determinate progress can be shown
  • File uploads/downloads
  • Progress percentage is available
  • Sequential operations with measurable progress

Related Documentation

  • Built-in Types: See references/built-in-types.md for detailed comparison of all 7 shimmer types
  • Custom Layouts: See references/custom-layouts.md for creating custom shimmer designs
  • Customization: See references/customization.md for appearance and animation options

FAQ

What does the syncfusion-winui-shimmer skill do?

Guide for implementing the Syncfusion WinUI Shimmer control to display loading placeholders and skeleton screens. Use this skill when implementing shimmer effects, skeleton screens, content loading animations, or loading placeholders during data fetching in WinUI applications. Essential for enhancing perceived performance during async operations, list loading, profile loading, article loading, or any content loading scenario requiring visual feedback.

How do I install syncfusion-winui-shimmer?

Run npx skills add https://github.com/syncfusion/winui-ui-components-skills --skill syncfusion-winui-shimmer in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-winui-shimmer/ (personal) or .claude/skills/syncfusion-winui-shimmer/ (project).

Which AI agents can use syncfusion-winui-shimmer?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is syncfusion-winui-shimmer safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains syncfusion-winui-shimmer?

It is published by syncfusion in syncfusion/winui-ui-components-skills. It has 47 recorded installs.

More from syncfusion/winui-ui-components-skills

View all →

syncfusion-winui-getting-started

syncfusion/winui-ui-components-skills

Comprehensive guide for setting up Syncfusion WinUI components, including license registration, NuGet package installation, system requirements verification, and troubleshooting. Use this skill when users need help with Syncfusion licensing, installation, WinUI component configuration, theme setup, or resolving installation errors.

syncfusion-winui-datagrid

syncfusion/winui-ui-components-skills

Guide for implementing Syncfusion WinUI DataGrid (SfDataGrid) for tabular data display in desktop applications. Use this skill when working with data grids, sorting, filtering, grouping, or CRUD operations. Covers data binding, column configuration, master-details views, Excel export, and performance optimization including data virtualization and custom templates.

syncfusion-winui-badge

syncfusion/winui-ui-components-skills

Guide implementation of the Syncfusion WinUI Badge control (SfBadge) for displaying notification badges and status indicators. Use this skill when working with badge notifications, unread count badges, BadgeContainer, or notification overlays in WinUI applications. Covers shapes, colors, positioning, alignment, animations, and customization patterns.

syncfusion-winui-treeview

syncfusion/winui-ui-components-skills

Comprehensive guide for implementing Syncfusion WinUI TreeView (SfTreeView) control in desktop applications. Use this skill when working with hierarchical data display, tree structures, or node-based navigation. Covers TreeView implementation for file explorers, organization charts, category browsers, and expandable/collapsible data visualization in WinUI applications.

syncfusion-winui-numberbox

syncfusion/winui-ui-components-skills

Learn to implement Syncfusion WinUI NumberBox (SfNumberBox) control for numeric input with validation, custom formatting, and value restrictions. Use this skill when you need numeric input fields with currency, percentage, or decimal formatting in WinUI applications.

syncfusion-winui-treegrid

syncfusion/winui-ui-components-skills

Guide for implementing Syncfusion WinUI TreeGrid (SfTreeGrid) components for displaying hierarchical or self-relational data. Use this skill when working with tree-structured grids, parent-child data relationships, or expandable grid rows. Covers TreeGrid features for organizational charts, file system displays, and multi-level data representation in WinUI applications.

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs