agentsclimarketplace

Syncfusion aspnetcore accumulation chart

Skill syncfusion/aspnetcore-ui-components-skills/skills/syncfusion-aspnetcore-accumulation-chart

This repository contains AI Skills of ASPNET Core UI Components

Install
npx -y skills add syncfusion/aspnetcore-ui-components-skills --skill syncfusion-aspnetcore-accumulation-chart

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Implement Syncfusion ASP.NET Core Accumulation Charts for proportional data visualization. Use this when creating pie charts, doughnut charts, pyramid charts, or funnel charts in ASP.NET Core applications. This skill covers chart setup, data binding, legends, tooltips, data labels, grouping, and accessibility features. Suitable for visualizing market share, sales distribution, survey results, and other percentage-based data representations.

SKILL.md

34.1 KB, as published. Nobody here has run it

Implementing Syncfusion ASP.NET Core Accumulation Charts

A comprehensive skill for implementing Syncfusion's ASP.NET Core Accumulation Chart component. This component renders circular data visualizations including Pie, Doughnut, Pyramid, and Funnel charts using Scalable Vector Graphics (SVG).

Table of Contents

When to Use This Skill

Use this skill when you need to:

  • Create pie, doughnut, pyramid, or funnel charts in ASP.NET Core applications
  • Visualize proportional data or percentage distributions
  • Display hierarchical data with pyramid/funnel charts
  • Add data labels, tooltips, and legends to accumulation charts
  • Implement interactive features (exploding slices, selection, drill-down)
  • Handle grouped data or empty points in charts
  • Export or print accumulation charts
  • Make charts accessible (WCAG 2.2 compliant)
  • Dynamically update chart data in real-time
  • Customize chart appearance with themes, colors, and gradients

Component Overview

AccumulationChart is a circular graphics component that divides data into segments to illustrate numerical proportions. It supports:

  • Chart Types: Pie (including Doughnut variant), Pyramid, Funnel
    • Note: Doughnut is achieved by setting innerRadius on a Pie chart, not a separate type
  • Smart Labels: Automatic label positioning to prevent overlapping
  • Grouping: Combine small data points based on value or count
  • Semi-Charts: Customize start and end angles for semi-pie/doughnut
  • Legend: Display additional point information
  • Tooltips: Interactive data point details
  • Empty Points: Graceful handling of missing data
  • Accessibility: Full WCAG 2.2 Level A & AA compliance
  • Export: PNG, JPEG, SVG, PDF formats
  • Print: Direct browser printing support

Documentation and Navigation Guide

Getting Started

๐Ÿ“„ Read: references/getting-started.md

When to read: Setting up accumulation charts for the first time, or need complete installation and basic implementation guidance.

What you'll learn:

  • Prerequisites and system requirements
  • Installing Syncfusion NuGet packages
  • Registering tag helpers and script resources
  • Creating your first pie/doughnut chart
  • Basic data binding (dataSource, xName, yName)
  • CSS theme imports and script manager setup
  • Running and testing the chart
  • Complete minimal working example

Chart Types and Variants

๐Ÿ“„ Read: references/chart-types.md

When to read: Need to implement specific chart types (Pie, Doughnut, Pyramid, Funnel) or customize chart geometry and appearance.

What you'll learn:

  • Pie chart implementation and configuration
  • Doughnut chart with inner radius and center labels
  • Pyramid chart with width, gap, and neck customization
  • Funnel chart with neck dimensions
  • Radius customization for all chart types
  • Start and end angles for semi-pie/semi-doughnut
  • Exploding slices (single and multiple points)
  • Chart center positioning
  • Complete code examples for each type

Data Visualization Features

๐Ÿ“„ Read: references/data-visualization.md

When to read: Enhancing charts with data labels, tooltips, legends, colors, or custom styling.

What you'll learn:

  • Data label visibility, positioning, and templates
  • Smart labels for overlap prevention
  • Connector lines for outside labels
  • Tooltip configuration and templates
  • Legend positioning, alignment, and customization
  • Title and subtitle configuration
  • Point colors and gradient fills
  • Text mapping from data source
  • Border and margin customization
  • Complete styling patterns

Data Handling

๐Ÿ“„ Read: references/data-handling.md

When to read: Working with complex data scenarios like grouping small values, handling missing data, or updating charts dynamically.

What you'll learn:

  • Grouping points by value or count threshold
  • Group settings (threshold, mode, color, name)
  • Empty points handling (null/undefined values)
  • Empty point modes (Zero, Drop, Average, Gap)
  • Dynamic data updates and live scenarios
  • Data source binding patterns
  • Sorting and ordering data
  • Edge cases and troubleshooting

Advanced Features

๐Ÿ“„ Read: references/advanced-features.md

When to read: Implementing annotations, export/print functionality, or migrating from EJ1 to EJ2.

What you'll learn:

  • Chart annotations (text, shapes, images)
  • Annotation positioning (coordinate, region, alignment)
  • Export to image formats (PNG, JPEG, SVG)
  • Export to PDF
  • Print functionality and customization
  • EJ1 to EJ2 API migration guide
  • Performance optimization tips
  • Complex implementation patterns

Accessibility

๐Ÿ“„ Read: references/accessibility.md

When to read: Making charts accessible for users with disabilities or ensuring WCAG 2.2 compliance.

What you'll learn:

  • WCAG 2.2 Level A & AA compliance features
  • Keyboard navigation (Tab, arrow keys, Enter)
  • ARIA attributes and roles
  • Screen reader support and announcements
  • High contrast theme support
  • Focus indicators and visual feedback
  • Color contrast requirements
  • Accessible color palettes
  • Testing with assistive technologies
  • Complete accessible chart implementation

Quick Start Example

Here's a minimal example to render a pie chart in ASP.NET Core:

1. Install Package

Install-Package Syncfusion.EJ2.AspNet.Core -Version <your_version_here>

2. Register Tag Helper (~/Pages/_ViewImports.cshtml)

@addTagHelper *, Syncfusion.EJ2

3. Add Scripts (~/Pages/Shared/_Layout.cshtml)

<head>
    <!-- Syncfusion JS -->
    <script src="<!-- Add the appropriate Syncfusion CDN script link here -->"></script>
</head>
<body>
    <!-- Content -->
    <ejs-scripts></ejs-scripts>
</body>

4. Create Pie Chart (~/Pages/Index.cshtml)

@{
    List<PieChartData> chartData = new List<PieChartData>
    {
        new PieChartData { xValue = "Chrome", yValue = 37 },
        new PieChartData { xValue = "Firefox", yValue = 22 },
        new PieChartData { xValue = "Safari", yValue = 19 },
        new PieChartData { xValue = "Edge", yValue = 12 },
        new PieChartData { xValue = "Others", yValue = 10 }
    };
}

<ejs-accumulationchart id="pieChart" enableSmartLabels="true" title="Browser Market Share" subTitle="Pie chart showing browser usage distribution">
    <e-accumulation-series-collection>
        <e-accumulation-series dataSource="@chartData" xName="xValue" yName="yValue" name="Browsers">
            <e-accumulationseries-datalabel visible="true" position="Outside" name="text" format="p0">
                <e-connectorstyle type="Curve" length="20"></e-connectorstyle>
                <e-font fontWeight="600"></e-font>
            </e-accumulationseries-datalabel>
        </e-accumulation-series>
    </e-accumulation-series-collection>
    <e-accumulationchart-legendsettings position="Bottom" alignment="Center" toggleVisibility="true">
    </e-accumulationchart-legendsettings>
    <e-accumulationchart-tooltipsettings enable="true" format="${point.x}: <b>${point.y}%</b>" header="Browser">
    </e-accumulationchart-tooltipsettings>
</ejs-accumulationchart>

Key Points:

  • title and subTitle are direct attributes on <ejs-accumulationchart>, NOT child tags
  • <e-font> is the correct child tag inside <e-accumulationseries-datalabel>, NOT <e-datalabelfont>
  • Use format="p0" for percentage without decimals

5. Define Data Model (~/Pages/Index.cshtml.cs or separate class)

public class PieChartData
{
    public string xValue { get; set; }
    public double yValue { get; set; }
}

Result: A basic pie chart displaying browser usage statistics.

Common Patterns

Pattern 1: Doughnut/Donut Chart with Center Label

<ejs-accumulationchart id="container">
    <e-accumulation-series-collection>
        <e-accumulation-series dataSource="chartData" xName="x" yName="y" innerRadius="65%">
            <!-- innerRadius goes on series, NOT on chart -->
        </e-accumulation-series>
    </e-accumulation-series-collection>
    <e-accumulationchart-centerlabel text="Mobile<br>Browsers<br>Statistics">
    </e-accumulationchart-centerlabel>
    <e-accumulationchart-legendsettings visible="false">
    </e-accumulationchart-legendsettings>
</ejs-accumulationchart>

Use Case: Dashboard KPIs with center text showing total value.

Pattern 2: Pie Chart with Smart Labels and Tooltips

<ejs-accumulationchart id="smartLabelChart" enableSmartLabels="true" title="Market Share" subTitle="Distribution by browser">
    <e-accumulation-series-collection>
        <e-accumulation-series dataSource="@chartData" xName="xValue" yName="yValue">
            <e-accumulationseries-datalabel visible="true" 
                                          position="Outside" 
                                          name="text"
                                          format="p0">
                <e-connectorstyle type="Curve" length="20"></e-connectorstyle>
                <e-font fontWeight="600"></e-font>
            </e-accumulationseries-datalabel>
        </e-accumulation-series>
    </e-accumulation-series-collection>
    <e-accumulationchart-legendsettings position="Bottom" alignment="Center" toggleVisibility="true">
    </e-accumulationchart-legendsettings>
    <e-accumulationchart-tooltipsettings enable="true" format="${point.x}: <b>${point.y}%</b>" header="Browser">
    </e-accumulationchart-tooltipsettings>
</ejs-accumulationchart>

Use Case: Preventing label overlap in charts with many small slices.

Pattern 3: Grouped Data with Small Values

<ejs-accumulationchart id="groupedChart">
    <e-accumulation-series-collection>
        <e-accumulation-series dataSource="@chartData" 
                              xName="xValue" 
                              yName="yValue"
                              groupTo="11">
        </e-accumulation-series>
    </e-accumulation-series-collection>
</ejs-accumulationchart>

Use Case: Combining values below 11% into a single "Others" group.

Pattern 4: Funnel Chart with Export

<button id="exportBtn">Export as PNG</button>

<ejs-accumulationchart id="funnelChart">
    <e-accumulation-series-collection>
        <e-accumulation-series dataSource="@chartData" 
                              xName="xValue" 
                              yName="yValue" 
                              type="Funnel"
                              neckWidth="15%"
                              neckHeight="18%">
        </e-accumulation-series>
    </e-accumulation-series-collection>
</ejs-accumulationchart>

<script>
    document.getElementById('exportBtn').onclick = function() {
        var chart = document.getElementById('funnelChart').ej2_instances[0];
        chart.export('PNG', 'funnel-chart');
    };
</script>

Use Case: Sales funnel visualization with image export.

API Reference

AccumulationChart Class

Represents the main accumulation chart component. All properties are defined in the Syncfusion.EJ2.Charts namespace.

Constructor

public AccumulationChart()

Core Properties

PropertyTypeDefaultDescriptionAPI Reference
AccessibilityAccumulationAccessibilitynullOptions to improve accessibility for accumulation chart elementsAccumulationAccessibility
AnnotationsList<AccumulationAnnotationSettings>nullAnnotations for highlighting specific data pointsAccumulationAnnotationSettings
BackgroundstringnullBackground color (hex or rgba)-
BackgroundImagestringnullBackground image URL-
BorderAccumulationChartBordernullChart border configurationAccumulationChartBorder
CenterAccumulationChartCenternullCenter position of pie/doughnut (x, y percentages)AccumulationChartCenter
CenterLabelAccumulationChartCenterLabelnullCenter label configuration for doughnut chartsAccumulationChartCenterLabel
DataSourceobjectnullChart data collection-
EnableAnimationbooltrueEnable chart animation on load-
EnableBorderOnMouseMovebooltrueEnable border on mouse hover-
EnableExportbooltrueEnable export to JPEG, PNG, SVG, PDF, XLSX, CSV-
EnableHtmlSanitizerboolfalseSanitize untrusted HTML in chart content-
EnablePersistenceboolfalsePersist component state across page reloads-
EnableRtlboolfalseEnable right-to-left rendering-
EnableSmartLabelsbooltrueAuto-arrange labels to prevent overlap-
FocusBorderColorstring-Focus border color for accessibility-
FocusBorderMargindouble0Focus border margin-
FocusBorderWidthdouble1.5Focus border width-
HeightstringnullChart height (e.g., "450px", "100%")-
HighlightColorstring""Color for highlighting data points on hover-
HighlightModeAccumulationHighlightModeNoneHighlight mode: None or PointAccumulationHighlightMode
HighlightPatternSelectionPatternNonePattern for highlighting series/pointsSelectionPattern
IsMultiSelectboolfalseEnable multiple point selection (requires selectionMode=Point)-
LegendSettingsAccumulationChartLegendSettingsnullLegend configurationAccumulationChartLegendSettings
Localestring""Culture/localization override (default: en-US)-
MarginAccumulationChartMarginnullChart margins (left, right, top, bottom)AccumulationChartMargin
NoDataTemplateobjectnullTemplate for empty chart state-
SelectedDataIndexesobjectnullInitial selected point indexes-
SelectionModeAccumulationSelectionModeNoneSelection mode: None or PointAccumulationSelectionMode
SelectionPatternSelectionPatternNonePattern for selected series/pointsSelectionPattern
SeriesList<AccumulationSeries>nullChart series collectionAccumulationSeries
SubTitlestringnullChart subtitle text-
SubTitleStyleAccumulationChartSubTitleStylenullSubtitle font and stylingAccumulationChartSubTitleStyle
ThemeAccumulationThemeMaterialVisual themeAccumulationTheme
TitlestringnullChart title text-
TitleStyleAccumulationChartTitleStyleSettingsnullTitle font and stylingAccumulationChartTitleStyleSettings
TooltipAccumulationChartTooltipSettingsnullTooltip configurationAccumulationChartTooltipSettings
UseGroupingSeparatorboolfalseUse thousand separator for numbers-
WidthstringnullChart width (e.g., "100px", "100%")-

Event Properties

EventTypeDescription
AfterExportstringTriggered after export completes
AnimationCompletestringTriggered after animation completes
AnnotationRenderstringTriggered before annotation renders
BeforeExportstringTriggered before export starts
BeforePrintstringTriggered before print starts
BeforeResizestringTriggered before window resize
ChartDoubleClickstringTriggered on double-click
ChartMouseClickstringTriggered on mouse click
ChartMouseDownstringTriggered on mouse down
ChartMouseLeavestringTriggered when cursor leaves
ChartMouseMovestringTriggered on mouse move/hover
ChartMouseUpstringTriggered on mouse up
LegendClickstringTriggered after legend click
LegendRenderstringTriggered before legend renders
LoadstringTriggered before chart loads
LoadedstringTriggered after chart loads
PointClickstringTriggered when point is clicked
PointMovestringTriggered when point is hovered
PointRenderstringTriggered before point renders
ResizedstringTriggered after window resize completes
SelectionCompletestringTriggered after selection completes
SeriesRenderstringTriggered before series renders
TextRenderstringTriggered before data label renders
TooltipRenderstringTriggered before tooltip renders

AccumulationSeries Class

Represents a data series in the accumulation chart.

Properties

PropertyTypeDefaultDescriptionAPI Reference
DataSourceobject[]nullSeries data collection-
XNamestringnullField name for X values (categories)-
YNamestringnullField name for Y values (numeric data)-
Typestring"Pie"Series type: Pie, Pyramid, Funnel (Doughnut = Pie + innerRadius)-
Radiusstring"80%"Chart radius (percentage or pixels)-
InnerRadiusstring"0%"Inner radius for doughnut effect (percentage)-
StartAngledouble0Start angle in degrees (0-360)-
EndAngledouble360End angle in degrees (0-360)-
ExplodeboolfalseEnable explosion on click-
ExplodeIndexdoublenullIndex of pre-exploded point-
ExplodeOffsetstring"10%"Distance exploded slice moves-
GroupTostringnullGrouping threshold (value or percentage)-
GroupModestring"Value"Group mode: Value or Point-
GroupNamestring"Others"Name for grouped points-
PyramidModestring"Linear"Pyramid mode: Linear or Surface-
FunnelModestring"Standard"Funnel mode: Standard or Trapezoidal-
NeckWidthstring"20%"Funnel neck width (percentage)-
NeckHeightstring"20%"Funnel neck height (percentage)-
Widthstring"80%"Pyramid/Funnel width (percentage)-
Heightstring"80%"Pyramid/Funnel height (percentage)-
GapRatiodouble0Gap between pyramid/funnel segments-
Palettesstring[]nullCustom color palette-
PointColorMappingstringnullField name for point colors-
PointRenderstringnullEvent triggered before point renders-
DataLabelAccumulationDataLabelSettingsnullData label configurationAccumulationDataLabelSettings
EmptyPointSettingsAccumulationChartEmptyPointSettingsnullEmpty point handlingAccumulationChartEmptyPointSettings
ConnectorStyleAccumulationChartConnectornullConnector line stylingAccumulationChartConnector
BorderAccumulationChartBordernullSeries border stylingAccumulationChartBorder
LegendShapeLegendShapeSeriesTypeLegend icon shapeLegendShape
TooltipMappingNamestringnullField for custom tooltip content-

AccumulationDataLabelSettings Class

Configures data labels displayed on data points.

Properties

PropertyTypeDefaultDescription
VisibleboolfalseShow/hide data labels
Positionstring"Outside"Label position: Inside or Outside
NamestringnullField name for label text
TemplatestringnullHTML template for labels
FormatstringnullNumber format (e.g., "p1", "n2", "c2")
TextWrapstring"Normal"Text wrapping: Normal, Wrap, AnyWhere
MaxWidthdoublenullMax label width (pixels)
FontobjectnullFont configuration
BorderobjectnullLabel border configuration
ConnectorStylestring"Line"Connector type: Line or Curve

AccumulationChartLegendSettings Class

Configures the legend for the chart.

Properties

PropertyTypeDefaultDescriptionAPI Reference
VisibleboolfalseShow/hide legend-
Positionstring"Right"Legend position: Top, Bottom, Left, RightLegendPosition
Alignmentstring"Center"Legend alignment: Near, Center, FarAlignment
Widthstring"0"Legend width (pixels or percentage)-
Heightstring"0"Legend height (pixels or percentage)-
ReverseboolfalseReverse legend item order-
Layoutstring"Vertical"Layout: Vertical or Horizontal-
MaximumColumnsdoublenullMax columns in horizontal layout-
ShapeWidthdouble15Legend shape width-
ShapeHeightdouble15Legend shape height-
TitleobjectnullLegend title configuration-
TemplatestringnullCustom HTML template for legend-
TextWrapstring"Normal"Text wrapping: Normal or Wrap-
MaximumLabelWidthdoublenullMax legend item label width-
EnablePagesboolfalseEnable paging for large legends-
ToggleVisibilitybooltrueToggle point visibility on legend click-

AccumulationChartTooltipSettings Class

Configures tooltips for the chart.

Properties

PropertyTypeDefaultDescription
EnableboolfalseEnable/disable tooltips
HeaderstringnullCustom tooltip header
FormatstringnullTooltip text format
TemplatestringnullHTML template for tooltips
FillstringnullTooltip background color
BorderobjectnullTooltip border configuration
TextStyleobjectnullTooltip text styling
LocationobjectnullFixed tooltip position (x, y)
Opacitydouble1Tooltip opacity
SharedboolfalseShow shared tooltip

Available Enumerations

EnumValuesDescription
AccumulationThemeFabric, FabricDark, Bootstrap4, Bootstrap, BootstrapDark, HighContrastLight, HighContrast, Tailwind, TailwindDark, Bootstrap5, Bootstrap5Dark, Fluent, FluentDark, Fluent2, Fluent2Dark, Fluent2HighContrast, Material3, Material3Dark, Material, MaterialDarkChart theme options
AccumulationHighlightModeNone, PointHighlight behavior
AccumulationSelectionModeNone, PointSelection behavior
SelectionPatternNone, Chessboard, Dots, DiagonalForward, Crosshatch, Pacman, DiagonalBackward, Grid, Turquoise, Star, Triangle, Circle, Tile, HorizontalDash, VerticalDash, Rectangle, Box, VerticalStripe, HorizontalStripe, BubblePattern options for highlighting/selection
LegendShapeCircle, Rectangle, Triangle, Diamond, Cross, HorizontalLine, VerticalLine, Pentagon, InvertedTriangle, SeriesTypeLegend icon shapes

Related Classes

ClassNamespaceDescriptionAPI Reference
AccumulationChartBorderSyncfusion.EJ2.ChartsBorder configurationAccumulationChartBorder
AccumulationChartCenterSyncfusion.EJ2.ChartsCenter positionAccumulationChartCenter
AccumulationChartMarginSyncfusion.EJ2.ChartsMargin configurationAccumulationChartMargin
AccumulationChartConnectorSyncfusion.EJ2.ChartsConnector line stylingAccumulationChartConnector
AccumulationChartEmptyPointSettingsSyncfusion.EJ2.ChartsEmpty point handlingAccumulationChartEmptyPointSettings
AccumulationAnnotationSettingsSyncfusion.EJ2.ChartsAnnotation configurationAccumulationAnnotationSettings
AccumulationAccessibilitySyncfusion.EJ2.ChartsAccessibility optionsAccumulationAccessibility

Key Properties

AccumulationChart Properties

PropertyTypeDescriptionExample
enableSmartLabelsbooleanAuto-arrange labels to prevent overlaptrue
centerobjectPosition of chart center (x, y percentages){x: "50%", y: "50%"}
legendSettingsobjectLegend configuration (position, alignment){visible: true, position: 'Right'}
tooltipSettingsobjectTooltip configuration and templates{enable: true, format: '${point.x}: ${point.y}'}
titlestringChart title text"Browser Market Share"
heightstringChart height"450px"
widthstringChart width"100%"
themestringVisual theme"Material"
backgroundstringBackground color"#ffffff"

AccumulationSeries Properties

PropertyTypeDescriptionExample
typestringChart type: Pie, Pyramid, Funnel (Doughnut = Pie + innerRadius)"Pie"
dataSourceobject[]Data collection@chartData
xNamestringField for category labels"xValue"
yNamestringField for values"yValue"
radiusstringChart radius (percentage or pixel)"80%"
innerRadiusstringInner radius for doughnut (percentage)"40%"
startAnglenumberStart angle in degrees0
endAnglenumberEnd angle in degrees360
explodebooleanEnable slice explosion on clicktrue
explodeIndexnumberIndex of pre-exploded slice2
explodeOffsetstringExplode distance"10%"
groupTostringThreshold for grouping"11"
groupModestringGroup by: Point, Value"Value"

DataLabel Properties

PropertyTypeDescriptionExample
visiblebooleanShow/hide data labelstrue
positionstringInside or Outside"Outside"
namestringField name for label text"text"
templatestringCustom HTML template"<div>${point.x}: ${point.y}%</div>"
connectorStylestringLine or Curve"Curve"
fontobjectFont customization{size: '12px', color: '#000'}

Common Use Cases

1. Market Share Analysis

Display product/service market distribution with pie charts showing competitor percentages.

2. Budget Allocation

Visualize department spending or resource allocation with doughnut charts and center totals.

3. Survey Results

Present poll or survey responses with grouped categories for small values.

4. Sales Funnel Tracking

Monitor conversion stages from leads to customers using funnel charts.

5. Organizational Hierarchy

Display team size distribution or role distribution with pyramid charts.

6. Mobile Dashboards

Create responsive data visualizations optimized for touch interactions and small screens.

7. Report Generation

Export charts as images or PDFs for automated reporting systems.

8. Real-Time Monitoring

Update charts dynamically to show live statistics (server status, user activity).

Related Components

  • Chart: For line, bar, column, area, and other Cartesian charts
  • RangeNavigator: For timeline-based data exploration
  • StockChart: For financial data visualization
  • TreeMap: For hierarchical data with rectangles

Browser Support

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)
  • Opera (latest)

Additional Resources


Next Steps:

  1. Read getting-started.md for detailed installation
  2. Explore chart-types.md for type-specific features
  3. Review data-visualization.md for styling
  4. Check accessibility.md for compliance requirements

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.