MCPInstall

syncfusion-javascript-scheduler

Implement the Syncfusion Essential JS 2 TypeScript Scheduler (Schedule) component for event and appointment management. Use this when working with scheduling interfaces, calendar views, appointment CRUD operations, or resource management. This skill covers scheduler setup, views configuration, appointments handling, recurring events, resource scheduling, timeline views, editor templates, exporting functionality, timezone support, styling, and accessibility features.

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

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/syncfusion/javascript-ui-controls-skills --skill syncfusion-javascript-scheduler
  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-javascript-scheduler 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 TypeScript Scheduler

A comprehensive skill for implementing the Syncfusion EJ2 TypeScript Schedule (Scheduler) component — a full-featured calendar and appointment management UI supporting multiple views, recurring events, resource grouping, drag-and-drop, inline editing, and data export.

When to Use This Skill

  • Setting up and initializing the Scheduler in a TypeScript project
  • Configuring calendar views (Day, Week, WorkWeek, Month, Year, Agenda, Timeline variants)
  • Binding local or remote appointment data to the Scheduler
  • Implementing CRUD (create, read, update, delete) for events
  • Working with recurring events and the RecurrenceEditor
  • Configuring multiple resources and grouped views
  • Customizing the event editor popup or quick info templates
  • Exporting Scheduler data to Excel, CSV, or iCalendar (.ics)
  • Handling timezones for global user bases
  • Styling, theming, and accessibility compliance

Documentation and Navigation Guide

Getting Started & Module Injection

📄 Read: references/getting-started.md

  • Package dependencies and npm installation
  • CSS imports and theme configuration
  • Module injection with Schedule.Inject()
  • Initializing the Scheduler and appending to DOM
  • Populating appointments with eventSettings.dataSource
  • Setting selectedDate and currentView
  • Individual per-view configuration with views array

Views Configuration

📄 Read: references/views.md

  • All 12 view types and their module requirements
  • Per-view options (startHour, endHour, timeScale, showWeekend, etc.)
  • Extended views using interval and displayName
  • Timeline view orientations and Agenda view options

Appointments & Recurring Events

📄 Read: references/appointments.md

  • Normal, spanned, all-day, and recurring event types
  • iCal RecurrenceRule string syntax (FREQ, BYDAY, COUNT, UNTIL, etc.)
  • Recurrence exceptions and editing individual/following occurrences
  • Built-in event fields reference table
  • Custom field mapping via eventSettings.fields
  • Preventing overlaps with allowOverlap, custom ordering with sortComparer

Data Binding

📄 Read: references/data-binding.md

  • Local JSON array binding via eventSettings.dataSource
  • Remote binding with DataManager and ODataV4Adaptor
  • AJAX loading pattern using ej2-base Ajax
  • Server-side date range filtering with includeFiltersInQuery
  • Passing query parameters with eventSettings.query
  • Google Calendar API integration via dataBinding event

CRUD Actions

📄 Read: references/crud-actions.md

  • Creating events via editor, quick popup, or addEvent() method
  • Updating and deleting with saveEvent() and deleteEvent()
  • Server-side CRUD using UrlAdaptor + crudUrl
  • Field validation with validation property (required, regex)
  • actionBegin / actionComplete lifecycle events
  • Enabling read-only mode

Editor Template & Quick Info

📄 Read: references/editor-template.md

  • Customizing default editor fields via popupOpen
  • Full editor replacement with editorTemplate
  • editorHeaderTemplate and editorFooterTemplate
  • Custom quick info popups with quickInfoTemplates
  • showQuickInfo toggle and closeEditor() method
  • Custom timezone dropdown via timezoneDataSource

Resources & Grouping

📄 Read: references/resources.md

  • Defining resources with resources property and field mappings
  • Single and multi-level grouping via group.resources
  • Date-based grouping with group.byDate
  • allowMultiple for multi-resource event assignment
  • Resource-specific working hours, colors, and CSS classes
  • Expandable resource rows in Timeline views

Working Days, Hours & Timescale

📄 Read: references/working-days-timescale.md

  • workDays, showWeekend, showWeekNumber, firstDayOfWeek
  • workHours highlight, start, and end configuration
  • startHour / endHour for visible time range
  • timeScale with interval and slotCount
  • Major/minor slot templates
  • scrollTo() for programmatic time scroll

Cell, Header & View Customization

📄 Read: references/cell-header-customization.md

  • cellTemplate with elementType conditions
  • renderCell event for targeted cell modifications
  • cellHeaderTemplate for Month view date headers
  • Header bar: showHeaderBar, toolbarItems, dateHeaderTemplate
  • Timeline headerRows property for Year/Month/Week/Date/Hour rows
  • minDate / maxDate for date range restrictions

Exporting & Printing

📄 Read: references/exporting.md

  • exportToExcel() with ExportOptions (fileName, fields, customData, etc.)
  • CSV export via exportType: 'csv'
  • excelExport event for pre-export customization
  • exportToICalendar() to .ics format
  • importICalendar() from a file Blob
  • print() method with beforePrint event

Timezone Handling

📄 Read: references/timezone.md

  • timezone property (IANA timezone string)
  • Per-event StartTimezone / EndTimezone fields
  • Timezone utility class: offset(), convert(), add(), remove()
  • Customizing the timezone dropdown with timezoneData
  • UTC mode for global/multi-region teams

Recurrence Editor

📄 Read: references/recurrence-editor.md

  • Standalone RecurrenceEditor component setup
  • frequencies and endTypes property configuration
  • change event for getting generated rule string
  • setRecurrenceRule() and getRecurrenceDates() methods

Styling & Theming

📄 Read: references/scheduler-styling.md

  • CSS class selector reference for all Scheduler elements
  • View-scoped selectors (.e-vertical-view, .e-month-view, etc.)
  • State classes: selected cells, selected appointments
  • Resource row selectors for Timeline views
  • Block and read-only appointment styles

Advanced Features

📄 Read: references/advanced-features.md

  • Context menu integration with ContextMenu
  • Clipboard: allowClipboard, cut(), copy(), paste(), beforePaste event
  • Virtual scrolling with allowVirtualScrolling and enableLazyLoading
  • rowAutoHeight for Timeline and Month views
  • State persistence with enablePersistence
  • Islamic/Hijri calendar via calendarMode: 'Islamic'
  • Scheduler dimensions: height and width
  • Accessibility, WCAG 2.2, keyboard shortcuts

Quick Start

import { Schedule, Day, Week, WorkWeek, Month, Agenda } from '@syncfusion/ej2-schedule';

// Inject required view modules
Schedule.Inject(Day, Week, WorkWeek, Month, Agenda);

let scheduleObj: Schedule = new Schedule({
    height: '550px',
    selectedDate: new Date(2018, 1, 15),
    currentView: 'Week',
    eventSettings: {
        dataSource: [
            {
                Id: 1,
                Subject: 'Team Meeting',
                StartTime: new Date(2018, 1, 15, 10, 0),
                EndTime: new Date(2018, 1, 15, 12, 0)
            }
        ]
    }
});
scheduleObj.appendTo('#Schedule');
/* In styles.css */
@import '../../node_modules/@syncfusion/ej2-base/styles/fluent2.css';
@import '../../node_modules/@syncfusion/ej2-buttons/styles/fluent2.css';
@import '../../node_modules/@syncfusion/ej2-calendars/styles/fluent2.css';
@import '../../node_modules/@syncfusion/ej2-dropdowns/styles/fluent2.css';
@import '../../node_modules/@syncfusion/ej2-inputs/styles/fluent2.css';
@import '../../node_modules/@syncfusion/ej2-navigations/styles/fluent2.css';
@import '../../node_modules/@syncfusion/ej2-popups/styles/fluent2.css';
@import '../../node_modules/@syncfusion/ej2-schedule/styles/fluent2.css';

Common Patterns

Pattern 1: Switch to Month View with Weekend Hidden

import { Schedule, Month } from '@syncfusion/ej2-schedule';

Schedule.Inject(Month);
let scheduleObj: Schedule = new Schedule({
    height: '550px',
    currentView: 'Month',
    showWeekend: false,
    eventSettings: { dataSource: [...] }
});
scheduleObj.appendTo('#Schedule');

Pattern 2: Custom Field Names

let scheduleObj: Schedule = new Schedule({
    height: '550px',
    eventSettings: {
        dataSource: myData,
        fields: {
            id: 'EventId',
            subject: { name: 'Title' },
            startTime: { name: 'From' },
            endTime: { name: 'To' },
            isAllDay: { name: 'AllDay' }
        }
    }
});
scheduleObj.appendTo('#Schedule');

Pattern 3: Programmatic Event Creation

let eventData: Object = {
    Id: 10,
    Subject: 'New Event',
    StartTime: new Date(2018, 1, 15, 14, 0),
    EndTime: new Date(2018, 1, 15, 16, 0)
};
scheduleObj.addEvent(eventData);

Pattern 4: Resource-Grouped Timeline

import { Schedule, TimelineViews } from '@syncfusion/ej2-schedule';

Schedule.Inject(TimelineViews);
let scheduleObj: Schedule = new Schedule({
    height: '550px',
    currentView: 'TimelineWeek',
    group: { resources: ['Rooms'] },
    resources: [{
        field: 'RoomId',
        title: 'Room',
        name: 'Rooms',
        dataSource: [
            { RoomText: 'Room 1', Id: 1, RoomColor: '#cb6bb2' },
            { RoomText: 'Room 2', Id: 2, RoomColor: '#56ca85' }
        ],
        textField: 'RoomText',
        idField: 'Id',
        colorField: 'RoomColor'
    }],
    eventSettings: { dataSource: [...] }
});
scheduleObj.appendTo('#Schedule');

Key Properties Reference

PropertyTypeDescription
heightstringScheduler height ('550px', '100%', 'auto')
widthstringScheduler width
selectedDateDateCurrently displayed date
currentViewstringActive view name
viewsViewsModel[]Per-view configuration array
eventSettingsEventSettingsModelData source and field mappings
groupGroupModelResource grouping configuration
resourcesResourcesModel[]Resource definitions
workDaysnumber[]Days of week to show (0=Sun–6=Sat)
workHoursWorkHoursModelWork hour highlight and range
showWeekendbooleanShow/hide Saturday and Sunday
timezonestringIANA timezone string for display
enablePersistencebooleanPersist state in localStorage
readonlybooleanDisable all CRUD interactions
allowClipboardbooleanEnable cut/copy/paste for events

FAQ

What does the syncfusion-javascript-scheduler skill do?

Implement the Syncfusion Essential JS 2 TypeScript Scheduler (Schedule) component for event and appointment management. Use this when working with scheduling interfaces, calendar views, appointment CRUD operations, or resource management. This skill covers scheduler setup, views configuration, appointments handling, recurring events, resource scheduling, timeline views, editor templates, exporting functionality, timezone support, styling, and accessibility features.

How do I install syncfusion-javascript-scheduler?

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

Which AI agents can use syncfusion-javascript-scheduler?

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-javascript-scheduler 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-javascript-scheduler?

It is published by syncfusion in syncfusion/javascript-ui-controls-skills. It has 65 recorded installs.

More from syncfusion/javascript-ui-controls-skills

View all →

syncfusion-javascript-grid

syncfusion/javascript-ui-controls-skills

Implements Syncfusion JavaScript 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, hierarchy grids, state persistence, and advanced data management features for data-intensive applications.

syncfusion-javascript-common

syncfusion/javascript-ui-controls-skills

Common utilities and features for Syncfusion JavaScript controls. Use this skill when the user needs to implement animations, drag-and-drop, state persistence, RTL support, localization, globalization, security, templates, and advanced features for Syncfusion JavaScript controls.

syncfusion-javascript-popups

syncfusion/javascript-ui-controls-skills

Comprehensive guide for implementing Syncfusion EJ2 JavaScript Popup components including Dialog, Predefined Dialog (DialogUtility), and Tooltip. Use this when building modal/modeless dialogs, alert/confirm windows, draggable dialogs, resizable windows, popovers, tooltips, and overlaid content with custom positioning, animations, WCAG 2.2 accessibility, forms integration, and event handling in TypeScript/JavaScript applications.

syncfusion-javascript-dropdowns

syncfusion/javascript-ui-controls-skills

Comprehensive guide for implementing Syncfusion TypeScript dropdown components including AutoComplete, ComboBox, Mention, Dropdownlist, Multiselect, ListBox, and MultiColumn ComboBox. Use this when building selection interfaces, data binding, filtering, cascading dropdowns, dual list transfer, custom templates, and accessible dropdown experiences.

syncfusion-javascript-license

syncfusion/javascript-ui-controls-skills

Use this skill when the user asks about Syncfusion JavaScript licensing, license keys, license registration, license validation errors, trial licenses, or license troubleshooting. This skill provides comprehensive guidance on generating, registering, and managing Syncfusion license keys for JavaScript applications, including edition-based and platform-based licensing models, registration methods, CI/CD integration, and resolving common licensing errors.

DevOps & Cloud72 installs

syncfusion-javascript-tab

syncfusion/javascript-ui-controls-skills

This skill enables creating and customizing Syncfusion TypeScript Tab components, including tab navigation, tab headers, styling, responsive layouts, dynamic content loading, animations, and multi-panel organization.

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