
syncfusion-aspnetcore-ribbon
Implement the Syncfusion ASP.NET Core Ribbon control using Razor Tag Helpers. Use this skill when the user mentions Syncfusion ASP.NET Core Ribbon, , , , Razor Tag Helpers, ribbon implementation, tabs, groups, items, file menu, backstage, layouts, events, or ASP.NET Core ribbon setup. Covers installation, tag helper registration, component structure, items, events, theming, accessibility, and advanced patterns.
- Installs
- 105
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/syncfusion/aspnetcore-ui-components-skills --skill syncfusion-aspnetcore-ribbon- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads syncfusion-aspnetcore-ribbon automatically when relevant.
- 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.
Syncfusion ASP.NET Core Ribbon Control
Overview
A comprehensive skill for implementing the Syncfusion EJ2 Ribbon component in ASP.NET Core applications using Razor Tag Helpers. This skill covers installation, setup, component structure, all item types, events, theming, and advanced features. The Ribbon component is a feature-rich navigation control that:
- Organizes commands in tabs and groups - Tabbed interface with logical grouping
- Supports 7 item types - Button, CheckBox, DropDown, SplitButton, ComboBox, ColorPicker, GroupButton
- Provides file menu & backstage - Traditional file menu or modern backstage view
- Contextual tabs on demand - Tabs appear when needed (e.g., on image/table selection)
- Gallery items - Visual selection of styles, templates, or options
- Responsive layouts - Classic (multi-row) and Simplified (compact) modes
- Keyboard navigation - KeyTips for Alt+key shortcuts
- WCAG 2.1 compliant - Full accessibility support with ARIA
- Built-in themes - Material, Bootstrap, Fluent, Tailwind, Fabric
Navigation Guide
Getting Started
📄 Read: references/getting-started.md
- NuGet package installation
- Tag Helper registration in _ViewImports.cshtml
- CSS and script setup in _Layout.cshtml
- First working example with complete setup
- Available themes (Material, Bootstrap, Fluent, Tailwind, Fabric)
- Advanced feature registration (no separate module injection needed in ASP.NET Core)
- Localization with
localeproperty - State persistence with
enablePersistence
Ribbon Structure
📄 Read: references/ribbon-structure.md
- Component hierarchy (Ribbon → Tab → Group → Collection → Item)
- Adding tabs with
<e-ribbon-tab> - Adding groups with
<e-ribbon-group> - Adding collections and items
- Organizing ribbon content
- Best practices for structure
Items & Groups Configuration
📄 Read: references/items-and-groups.md
- All 7 item types (Button, CheckBox, DropDown, SplitButton, ComboBox, ColorPicker, GroupButton, Template)
- Exact
RibbonXxxSettingsconfiguration for each type - Group properties (header, collapsibility, priority, overflow)
- Item sizing (Large, Medium, Small)
- Display options (Auto, Classic, Simplified, Overflow)
- Disabled states
Tabs & Groups Management
📄 Read: references/tabs-and-groups.md
- Tab management patterns
- Multi-tab setup examples
- Group organization
- Collapsibility control (
isCollapsible) - Priority handling (higher = collapses first)
- Launcher icons
- Group overflow behavior
Layouts & Display Modes
📄 Read: references/layouts-display-modes.md
- Classic layout (default, multi-row)
- Simplified layout (compact, single-row)
- Layout switching
- Responsive resizing behavior
- Item sizing progression (Large → Medium → Small)
- Minimized state
- Hide layout switcher option
File Menu & Backstage
📄 Read: references/file-menu-backstage.md
- File menu basics (
<e-ribbon-filemenusettings>) - Menu item configuration with
MenuItemlist - Backstage view (
<e-ribbon-backstagemenusettings>) - Backstage items with content
- Footer items and separators
- Back button customization
Contextual Tabs & Gallery
📄 Read: references/contextual-tabs-gallery.md
- Contextual tabs on demand
- Visibility control with conditions
- Gallery items (
type=Gallery) - Gallery groups with headers
- Gallery item properties (content, iconCss, disabled)
- Visual selection patterns
Events & Accessibility
📄 Read: references/events-accessibility.md
- Ribbon events (tabSelected, tabSelecting, itemClick, etc.)
- KeyTips configuration (
enableKeyTips,keyTipproperty) - Keyboard navigation
- WCAG 2.1 compliance
- ARIA attributes support
- RTL support (
enableRtl)
Customization & Theming
📄 Read: references/customization-theming.md
- Built-in themes table (5 themes)
- Theme CSS import paths
- Theme switching implementation
- CSS customization classes
- Dark mode support
- Custom icons and styling
Tooltips & Help
📄 Read: references/tooltips-help-pane.md
- Item tooltips with
RibbonTooltipSettings - Title and content properties
- Custom tooltip HTML
- Help pane component patterns
- Contextual help implementation
Methods & Properties
📄 Read: references/methods-and-properties.md
- Ribbon methods (getComponent, destroy)
- Key events and callbacks
- Property access patterns
- Programmatic control
- State management
Troubleshooting
📄 Read: references/troubleshooting.md
- Common issues and solutions
- Tag helper registration problems
- Data binding issues
- Event handling troubleshooting
- Performance optimization
- Styling problems
- ASP.NET Core-specific gotchas
Key Properties & Events
Essential Properties:
id- Unique identifier for the ribbonactiveLayout- Set toClassicorSimplifiedisMinimized- Collapse/expand the ribbon (true/false)enableKeyTips- Enable keyboard shortcuts (true/false)enableRtl- Right-to-left support (true/false)hideLayoutSwitcher- Hide layout switcher button (true/false)layoutSwitcherKeyTip- KeyTip character for the layout switcher buttonhelpPaneTemplate- CSS selector or HTML string for the right-side help paneenablePersistence- Persist ribbon state across page reloads (true/false)locale- Locale string for built-in UI text (e.g.,"en-us","fr-FR")
Key Events:
created- Triggered after component creationtabSelected- Triggered after tab selection (args.selectedIndex,args.previousIndex,args.isContextual)tabSelecting- Triggered before tab selection (args.cancelto prevent,args.isInteracted)ribbonCollapsing- Triggered before ribbon collapses (args.cancelto prevent)ribbonExpanding- Triggered before ribbon expands (args.cancelto prevent)ribbonLayoutSwitched- Triggered after layout switch (args.activeLayout)launcherIconClick- Triggered when a group launcher icon is clicked (args.groupId)overflowPopupOpen- Triggered when overflow popup opens (args.element,args.cancel)overflowPopupClose- Triggered when overflow popup closes (args.element,args.cancel)
Quick Start
Basic Ribbon with Tabs & Groups
@using Syncfusion.EJ2
@using Syncfusion.EJ2.Ribbon
@using Syncfusion.EJ2.Navigations
<ejs-ribbon id="ribbon">
<e-ribbon-tabs>
<e-ribbon-tab header="Home">
<e-ribbon-groups>
<e-ribbon-group header="Clipboard">
<e-ribbon-collections>
<e-ribbon-collection>
<e-ribbon-items>
<e-ribbon-item type=Button>
<e-ribbon-buttonsettings iconCss="e-icons e-paste" content="Paste"></e-ribbon-buttonsettings>
</e-ribbon-item>
</e-ribbon-items>
</e-ribbon-collection>
</e-ribbon-collections>
</e-ribbon-group>
</e-ribbon-groups>
</e-ribbon-tab>
<e-ribbon-tab header="Insert">
<e-ribbon-groups>
<e-ribbon-group header="Tables">
<e-ribbon-collections>
<e-ribbon-collection>
<e-ribbon-items>
<e-ribbon-item type=Button>
<e-ribbon-buttonsettings iconCss="e-icons e-table" content="Table"></e-ribbon-buttonsettings>
</e-ribbon-item>
</e-ribbon-items>
</e-ribbon-collection>
</e-ribbon-collections>
</e-ribbon-group>
</e-ribbon-groups>
</e-ribbon-tab>
</e-ribbon-tabs>
</ejs-ribbon>
With File Menu
@{
List<MenuItem> fileOptions = new List<MenuItem>() {
new MenuItem { Text = "New", IconCss = "e-icons e-file-new" },
new MenuItem { Text = "Open", IconCss = "e-icons e-folder-open" },
new MenuItem { Text = "Save", IconCss = "e-icons e-save" }
};
}
<ejs-ribbon id="ribbon">
<e-ribbon-filemenusettings visible="true" menuItems=fileOptions></e-ribbon-filemenusettings>
<e-ribbon-tabs>
<!-- tabs -->
</e-ribbon-tabs>
</ejs-ribbon>
Common Patterns
Pattern: Multi-Tab Ribbon with Multiple Groups
<ejs-ribbon id="ribbon">
<e-ribbon-tabs>
<e-ribbon-tab header="Home">
<e-ribbon-groups>
<e-ribbon-group header="Clipboard" orientation=Row>
<!-- Items -->
</e-ribbon-group>
<e-ribbon-group header="Font" orientation=Row enableGroupOverflow=true>
<!-- Items -->
</e-ribbon-group>
</e-ribbon-groups>
</e-ribbon-tab>
<e-ribbon-tab header="View">
<e-ribbon-groups>
<e-ribbon-group header="Views" orientation=Row>
<!-- Items -->
</e-ribbon-group>
</e-ribbon-groups>
</e-ribbon-tab>
</e-ribbon-tabs>
</ejs-ribbon>
Pattern: Multiple Item Types in Groups
@{
List<string> fontOptions = new List<string>() { "Arial", "Calibri", "Cambria", "Georgia" };
}
<e-ribbon-group header="Formatting">
<e-ribbon-collections>
<e-ribbon-collection>
<e-ribbon-items>
<!-- ComboBox -->
<e-ribbon-item type=ComboBox>
<e-ribbon-comboboxsettings dataSource=fontOptions index=0 width="120px"></e-ribbon-comboboxsettings>
</e-ribbon-item>
<!-- ColorPicker -->
<e-ribbon-item type=ColorPicker allowedSizes=Small>
<e-ribbon-colorpickersettings value="#123456"></e-ribbon-colorpickersettings>
</e-ribbon-item>
<!-- Toggle Button -->
<e-ribbon-item type=Button allowedSizes=Small>
<e-ribbon-buttonsettings iconCss="e-icons e-bold" isToggle=true></e-ribbon-buttonsettings>
</e-ribbon-item>
</e-ribbon-items>
</e-ribbon-collection>
</e-ribbon-collections>
</e-ribbon-group>
Pattern: Event Handling
<ejs-ribbon id="ribbon"
tabSelected="onTabSelected"
tabSelecting="onTabSelecting"
ribbonLayoutSwitched="onLayoutSwitched"
launcherIconClick="onLauncherClick">
<!-- ribbon content -->
</ejs-ribbon>
<script>
function onTabSelected(args) {
console.log('Tab selected:', args.selectedIndex);
console.log('Previous tab:', args.previousIndex);
console.log('Is contextual:', args.isContextual);
}
function onTabSelecting(args) {
console.log('Tab selecting:', args.selectedIndex);
// args.cancel = true; // Prevent selection if needed
}
function onLayoutSwitched(args) {
console.log('Layout changed to:', args.activeLayout); // 'Classic' or 'Simplified'
}
function onLauncherClick(args) {
console.log('Launcher clicked for group:', args.groupId);
}
</script>
Workflow Pattern
When a user needs Ribbon functionality:
- Identify scope: Tab organization, item types, file menu, events needed
- Start with Getting Started: Installation and basic setup
- Choose references based on features:
- Items configuration → items-and-groups.md
- Layout/responsive → layouts-display-modes.md
- File menu → file-menu-backstage.md
- Keyboard/accessibility → events-accessibility.md
- Look & feel → customization-theming.md
- Implement patterns following copy-paste examples
- Debug issues → troubleshooting.md
FAQ
What does the syncfusion-aspnetcore-ribbon skill do?
Implement the Syncfusion ASP.NET Core Ribbon control using Razor Tag Helpers. Use this skill when the user mentions Syncfusion ASP.NET Core Ribbon, , , , Razor Tag Helpers, ribbon implementation, tabs, groups, items, file menu, backstage, layouts, events, or ASP.NET Core ribbon setup. Covers installation, tag helper registration, component structure, items, events, theming, accessibility, and advanced patterns.
How do I install syncfusion-aspnetcore-ribbon?
Run npx skills add https://github.com/syncfusion/aspnetcore-ui-components-skills --skill syncfusion-aspnetcore-ribbon 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-aspnetcore-ribbon/ (personal) or .claude/skills/syncfusion-aspnetcore-ribbon/ (project).
Which AI agents can use syncfusion-aspnetcore-ribbon?
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-aspnetcore-ribbon 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-aspnetcore-ribbon?
It is published by syncfusion in syncfusion/aspnetcore-ui-components-skills. It has 105 recorded installs.
More from syncfusion/aspnetcore-ui-components-skills
syncfusion-aspnetcore-charts
syncfusion/aspnetcore-ui-components-skills
Implements Syncfusion ASP.NET Core Chart (SfChart) for data visualization. Use this when building charts, visualizing time-series or categorical data, or creating dashboards. Covers series configuration (line, bar, pie), axes, tooltips, legends, and customization for ASP.NET Core applications.
syncfusion-aspnetcore-license
syncfusion/aspnetcore-ui-components-skills
Open the skill to read its SKILL.md instructions.
syncfusion-aspnetcore-common
syncfusion/aspnetcore-ui-components-skills
CONFIGURATION GUIDE — Assist with Syncfusion ASP.NET Core EJ2 components setup, localization, and version compatibility. Use when: installing Syncfusion packages, configuring globalization/localization, selecting compatible versions.
syncfusion-aspnetcore-grid
syncfusion/aspnetcore-ui-components-skills
Implements Syncfusion ASP.NET Core Grid component for feature-rich data tables and grids. Use this when working with data display, sorting, filtering, grouping, aggregates, editing, or exporting. This skill covers grid configuration, CRUD operations, virtual scrolling or infinite scrolling, hierarchy grids, state persistence, and advanced data management features for data-intensive applications.
syncfusion-aspnetcore-security
syncfusion/aspnetcore-ui-components-skills
Open the skill to read its SKILL.md instructions.
syncfusion-aspnetcore-gantt-chart
syncfusion/aspnetcore-ui-components-skills
Open the skill to read its SKILL.md instructions.
Popular frontend & design skills
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-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.
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.
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.
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.