MCPInstall

syncfusion-vue-kanban

Implements the Syncfusion Vue Kanban component for column-based task board UIs with drag-and-drop, swimlanes, WIP constraints, and virtual scrolling. Use this when building sprint boards, kanban boards, workflow trackers, or any column-based task management UI. Covers data binding (local and remote), cards, columns, dialog, events, and accessibility.

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

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/syncfusion/vue-ui-components-skills --skill syncfusion-vue-kanban
  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-vue-kanban 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 Syncfusion Vue Kanban

A column-based task board that groups cards by a status field, supports drag-and-drop reordering, swimlane row grouping, column validation (WIP limits), and virtual scrolling for large datasets.

When to Use This Skill

  • User needs a Kanban / sprint board with status columns (To Do, In Progress, Done, etc.)
  • User wants drag-and-drop card movement between columns or across swimlane rows
  • User needs to bind Kanban to a REST API, OData, or local JSON dataset
  • User wants to group cards by assignee, team, or any field (swimlanes)
  • User needs WIP limits (min/max card counts per column)
  • User wants virtual scrolling for 1000+ cards without performance issues
  • User wants to customize card layout with a template or apply custom CSS

Component Overview

ConceptWhat it does
keyFieldBoard-level field that maps data records to columns (e.g. "Status")
cardSettingsSpecifies headerField (unique ID) and contentField (body text)
<e-columns>Declare each board column; keyField on column matches data values
swimlaneSettingsGroups cards into horizontal rows by a data field
allowDragAndDropEnables/disables card drag between columns (default: true)
enableVirtualizationEnables virtual scrolling for large datasets

Documentation and Navigation Guide

Component Overview

📄 Read: references/overview.md

  • Full feature list with descriptions (drag-and-drop, swimlanes, WIP, virtual scrolling, etc.)
  • When-to-use decision table matching user needs to features
  • Package installation and all required CSS imports
  • Minimal working example

Accessibility

📄 Read: references/accessibility.md

  • WCAG 2.2 and Section 508 compliance summary
  • All WAI-ARIA attributes (aria-label, aria-expanded, aria-selected, aria-grabbed, etc.)
  • Full keyboard shortcut reference
  • Disabling keyboard interaction (allowKeyboard: false)
  • Screen reader support details
  • RTL accessibility with enableRtl
  • Testing with axe-core and accessibility checker tools

Getting Started

📄 Read: references/getting-started.md

  • Vite + Vue 3 project setup
  • Package installation (@syncfusion/ej2-vue-kanban)
  • CSS imports (tailwind3 theme)
  • Minimal Kanban with columns
  • Populating cards from a local data array
  • Enabling swimlanes on first render

Data Binding

📄 Read: references/data-binding.md

  • Binding local JSON arrays
  • Remote data with DataManager + ODataAdaptor / ODataV4Adaptor
  • Web API binding with WebApiAdaptor
  • CRUD operations with UrlAdaptor (insertUrl, updateUrl, removeUrl)
  • Custom adaptor by extending ODataAdaptor
  • Sending extra query parameters with Query.addParams
  • Loading data dynamically via Ajax
  • Handling HTTP errors with actionFailure

Cards

📄 Read: references/cards.md

  • headerField (mandatory unique ID) and contentField
  • Hiding the card header with showHeader: false
  • Custom card layout using Vue component template
  • Card selection: None / Single / Multiple (selectionType)
  • Multi-select with Ctrl+click / Shift+click

Columns

📄 Read: references/columns.md

  • Single-key and multi-key column mapping
  • Column header text and header templates
  • Toggle columns (expand/collapse) with allowToggle
  • Rendering a column initially collapsed (isExpanded: false)
  • Stacked headers grouping multiple columns
  • Column-level drag-and-drop reordering (allowColumnDragAndDrop)

Dialog (Add / Edit / Delete Cards)

📄 Read: references/dialog.md

  • Default built-in dialog (double-click to open)
  • Custom dialog fields with dialogSettings.fields
  • Custom field labels and field types
  • Field validation with validationRules
  • Full dialog template using Vue component
  • Preventing dialog open with dialogOpen event
  • Programmatic openDialog() and closeDialog()

Dimensions (Height and Width)

📄 Read: references/dimensions.md

  • Auto height/width (default)
  • Pixel dimensions (height="550px", :width="650")
  • Percentage dimensions (width="100%", height="100%")
  • When to use each mode

Events

📄 Read: references/events.md

  • Action events: actionBegin, actionComplete, actionFailure
  • Card events: cardClick, cardDoubleClick, cardRendered
  • Column drag events: columnDragStart, columnDrag, columnDrop
  • Data events: dataBinding, dataBound, dataSourceChanged, dataStateChange
  • Dialog events: dialogOpen, dialogClose
  • Card drag events: dragStart, drag, dragStop
  • Lifecycle: created, queryCellInfo

Swimlanes

📄 Read: references/swimlane.md

  • Rendering swimlane rows with swimlaneSettings.keyField
  • Custom row label text with textField
  • Custom swimlane header template
  • Sorting rows (Ascending / Descending)
  • Cross-row drag-and-drop (allowDragAndDrop: true in swimlaneSettings)
  • Empty row display (showEmptyRow)
  • Card count badge (showItemCount)
  • Frozen swimlane header while scrolling (enableFrozenRows)

Drag and Drop

📄 Read: references/drag-and-drop.md

  • Disabling drag-and-drop globally (allowDragAndDrop: false)
  • Per-column drag/drop control (allowDrag, allowDrop)
  • Cross-swimlane drag-and-drop
  • Kanban-to-Kanban drag-and-drop (externalDropId, dragStop, addCard, deleteCard)
  • Kanban to TreeView drag-and-drop
  • Kanban to Scheduler drag-and-drop

Localization and RTL

📄 Read: references/localization.md

  • All locale keys reference table
  • Loading translations with L10n.load()
  • Setting locale prop on the board
  • Right-to-left (RTL) mode with enableRtl

Public Methods

📄 Read: references/methods.md

  • Card CRUD: addCard, updateCard, deleteCard, getCardDetails
  • Column methods: addColumn, deleteColumn, showColumn, hideColumn, getColumnData
  • Dialog: openDialog, closeDialog
  • Data: getSwimlaneData
  • Selection: getSelectedCards
  • UI: refreshHeader, refreshUI, showSpinner, hideSpinner, destroy

State Persistence

📄 Read: references/persistence.md

  • Enabling enablePersistence to save state in localStorage
  • Persisted state: data source, column expand/collapse, swimlane expand/collapse
  • Setting a unique id to avoid key collisions
  • Clearing persisted state

Priority and Sort Settings

📄 Read: references/priority-and-sort.md

  • cardSettings.priority for rank-based card positioning
  • sortSettings.sortBy: 'Index', 'DataSourceOrder', 'Custom'
  • sortSettings.field for field-mapped ordering
  • sortSettings.direction: 'Ascending' / 'Descending'

Responsive Mode

📄 Read: references/responsive-mode.md

  • Mobile layout: column sizing, swipe navigation, tap-and-hold drag
  • Swimlane popup menu on mobile
  • Single and multiple card selection on touch devices

Tooltip

📄 Read: references/tooltip.md

  • Enabling default card tooltip (enableTooltip)
  • e-tooltip-text class for custom element tooltips
  • Custom tooltip template via tooltipTemplate

Customization and Troubleshooting

📄 Read: references/customization-and-troubleshooting.md

  • CSS class reference table
  • Sticky/fixed column headers
  • Column WIP validation (minCount, maxCount, constraintType)
  • WAI-ARIA attributes
  • Full keyboard shortcut reference
  • Theme Studio

Virtual Scrolling

📄 Read: references/virtual-scrolling.md

  • Enabling virtualization (enableVirtualization: true)
  • Setting cardHeight in pixels
  • Remote data service configuration for virtual scrolling
  • Known limitations (swimlane + virtualization, card position, % height)

How-To Recipes

📄 Read: references/how-to.md

  • Dynamically change column properties at runtime
  • Replace all columns at runtime
  • Filter cards with a Query
  • Search cards by text with Query.search()
  • Handle column header double-click

Properties Reference

📄 Read: references/properties.md

  • Complete root-level prop table (all types, defaults, descriptions)
  • cardSettings sub-properties (headerField, contentField, selectionType, priority, etc.)
  • columns sub-properties (keyField, allowToggle, minCount, maxCount, transitionColumns, etc.)
  • dialogSettings and DialogFieldsModel fields
  • sortSettings, swimlaneSettings, stackedHeaders interfaces
  • All enum values: SelectionType, ConstraintType, SortOrderBy, SortDirection

Style and CSS Customization

📄 Read: references/style.md

  • Full CSS class reference table for header cells and WIP limit indicators
  • CSS classes for card elements (header, content, footer, tags, color stripe)
  • Swimlane row and cell CSS selectors
  • Compact table-scoped selector variants
  • Fixed / sticky Kanban header (height-based and position: sticky)
  • Theme Studio for generating custom themes

Validation (WIP Limits)

📄 Read: references/validation.md

  • minCount — minimum cards required per column/cell
  • maxCount — maximum cards allowed per column/cell
  • constraintType: 'Column' (default) vs 'Swimlane' scope
  • Visual feedback: highlight colors when limits are violated
  • CSS classes to customize validation highlight colors

Quick Start

<template>
  <div id="app">
    <ejs-kanban id="kanban" keyField="Status" :dataSource="kanbanData" :cardSettings="cardSettings">
      <e-columns>
        <e-column headerText="To Do"       keyField="Open"></e-column>
        <e-column headerText="In Progress" keyField="InProgress"></e-column>
        <e-column headerText="Testing"     keyField="Testing"></e-column>
        <e-column headerText="Done"        keyField="Close"></e-column>
      </e-columns>
    </ejs-kanban>
  </div>
</template>

<script setup>
import { KanbanComponent as EjsKanban, ColumnDirective as EColumn, ColumnsDirective as EColumns }
  from '@syncfusion/ej2-vue-kanban';
import { extend } from '@syncfusion/ej2-base';

const rawData = [
  { Id: 1, Status: 'Open',       Summary: 'Analyze requirements', Assignee: 'Nancy' },
  { Id: 2, Status: 'InProgress', Summary: 'Improve performance',  Assignee: 'Andrew' },
  { Id: 3, Status: 'Testing',    Summary: 'Fix IE browser bug',   Assignee: 'Janet' },
  { Id: 4, Status: 'Close',      Summary: 'Deploy to production', Assignee: 'Nancy' },
];

const kanbanData = extend([], rawData, null, true);
const cardSettings = { contentField: 'Summary', headerField: 'Id' };
</script>

<style>
@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
@import '../node_modules/@syncfusion/ej2-vue-kanban/styles/tailwind3.css';
</style>

Common Patterns

Add swimlanes (group by assignee)

<ejs-kanban keyField="Status" :dataSource="kanbanData"
  :cardSettings="cardSettings" :swimlaneSettings="swimlaneSettings">
  ...columns...
</ejs-kanban>

<script setup>
const swimlaneSettings = { keyField: 'Assignee' };
</script>

Bind to remote OData service

<script setup>
import { DataManager, ODataAdaptor } from '@syncfusion/ej2-data';

const kanbanData = new DataManager({
  url: 'https://your-api.com/api/Tasks',
  adaptor: new ODataAdaptor(),
  crossDomain: true
});
</script>

Enable WIP limits on a column

<e-column headerText="In Progress" keyField="InProgress" :maxCount="5" :minCount="1"></e-column>

Enable virtual scrolling for large data

<ejs-kanban :enableVirtualization="true" keyField="Status" :dataSource="largeDataset"
  :cardSettings="{ headerField: 'Id', contentField: 'Summary' }">
  ...
</ejs-kanban>

Key Props Reference

PropTypePurpose
keyFieldStringData field that maps records to columns
dataSourceArray / DataManagerCards data source
cardSettingsObjectheaderField (required), contentField, template, selectionType
swimlaneSettingsObjectkeyField, textField, allowDragAndDrop, showEmptyRow, enableFrozenRows
allowDragAndDropBooleanBoard-level card drag-and-drop (default: true)
allowColumnDragAndDropBooleanReorder columns by dragging headers
enableVirtualizationBooleanVirtual scrolling for large datasets
enableTooltipBooleanShow tooltip on card hover
constraintTypeString'Column' or 'Swimlane' for WIP validation

FAQ

What does the syncfusion-vue-kanban skill do?

Implements the Syncfusion Vue Kanban component for column-based task board UIs with drag-and-drop, swimlanes, WIP constraints, and virtual scrolling. Use this when building sprint boards, kanban boards, workflow trackers, or any column-based task management UI. Covers data binding (local and remote), cards, columns, dialog, events, and accessibility.

How do I install syncfusion-vue-kanban?

Run npx skills add https://github.com/syncfusion/vue-ui-components-skills --skill syncfusion-vue-kanban 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-vue-kanban/ (personal) or .claude/skills/syncfusion-vue-kanban/ (project).

Which AI agents can use syncfusion-vue-kanban?

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-vue-kanban 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-vue-kanban?

It is published by syncfusion in syncfusion/vue-ui-components-skills. It has 62 recorded installs.

More from syncfusion/vue-ui-components-skills

View all →

syncfusion-vue-grid

syncfusion/vue-ui-components-skills

Implements Syncfusion Vue 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-vue-scheduler

syncfusion/vue-ui-components-skills

Implement event scheduling, calendar views, and appointment management using Syncfusion Vue Scheduler component. Use this skill when working with calendars, event scheduling, appointment booking systems, resource management, timeline views, recurring events, drag-and-drop event handling, or any scenario involving time-based event visualization and management in Vue applications. Trigger for scheduler implementations, calendar integrations, booking systems, meeting planners, task schedulers, or resource allocation tools.

syncfusion-vue-rich-text-editor

syncfusion/vue-ui-components-skills

Open the skill to read its SKILL.md instructions.

syncfusion-vue-gantt-chart

syncfusion/vue-ui-components-skills

Open the skill to read its SKILL.md instructions.

syncfusion-vue-blockeditor

syncfusion/vue-ui-components-skills

Implement Syncfusion Vue BlockEditor component for block-based content editing with rich text, images, tables, and interactive blocks. Use this skill ALWAYS when user needs block editor, notion-style editor, content blocks, rich text blocks, document editor with blocks, modular content editor, or mentions @syncfusion/ej2-vue-blockeditor, BlockEditor, block-based editing, content management editor, collaborative editing, real-time collaboration. Covers all 14 block types, 5 content types, drag-and-drop, menus, methods, events, real-time collaborative editing with Yjs support, user presence and remote cursors, version history, and Composition API patterns.

syncfusion-vue-barcode

syncfusion/vue-ui-components-skills

Open the skill to read its SKILL.md instructions.

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