MCPInstall

syncfusion-javascript-rich-text-editor

Implements the Syncfusion Rich Text Editor and Markdown Editor using TypeScript (ej2-richtexteditor). Supports both HTML (WYSIWYG) and Markdown modes via editorMode on a single RichTextEditor class. Use this skill for toolbar setup, image/media/table handling, inline or iframe editing, AI assistant, smart editing, import/export, and all content editor scenarios.

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-rich-text-editor
  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-rich-text-editor 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 Rich Text Editor

A unified skill for implementing the Syncfusion Rich Text Editor (RTE) and Markdown Editor in TypeScript. Both editors share the same RichTextEditor class and @syncfusion/ej2-richtexteditor package — the only difference is the editorMode property and which feature module you inject.

Editor Mode Decision Guide

User wants WYSIWYG / formatted HTML content? → Use editorMode: 'HTML' (default), inject HtmlEditor

User wants markdown / plain text with preview? → Use editorMode: 'Markdown', inject MarkdownEditor

User wants iframe isolation? → Add iframeSettings: { enable: true } to HTML mode

User wants inline editing? → Add inlineMode: { enable: true } to HTML mode

When to Use This Skill

Use this skill when the user needs to:

  • Build a rich text / WYSIWYG editor for blog posts, comments, emails, CMS content
  • Build a markdown editor with live preview for documentation, note-taking, developer tools
  • Customize the toolbar — add/remove items, change layout, add custom tools
  • Insert media — images, audio, video, file browser integration
  • Enable smart editing — @mention, slash commands, emoji picker, mail merge
  • Add AI writing assistance to the editor
  • Handle editor value — get/set HTML or markdown content, auto-save, character count
  • Work with tables and links inside the editor
  • Configure validation — form integration, XHTML validation, read-only mode
  • Style or theme the editor — fonts, colors, CSS customization
  • Import/export content — Word/PDF/Markdown import and export

Trigger keywords: RichTextEditor, MarkdownEditor, editorMode, WYSIWYG, rich text, markdown editor, content editor, text formatting, ej2-richtexteditor, HtmlEditor, inline editor, iframe editor


Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Package installation and CSS imports
  • Module injection (HtmlEditor vs MarkdownEditor)
  • HTML editor initialization
  • Markdown editor initialization
  • Toolbar configuration at setup
  • Feature module reference table

Editor Modes & Types

📄 Read: references/editor-modes.md

  • HTML mode vs Markdown mode decision
  • Iframe editor (style-isolated editing)
  • Inline editing (toolbar appears on selection)
  • Resizable editor
  • editorMode API and switching modes

Toolbar Configuration

📄 Read: references/toolbar.md

  • Toolbar types: Expand, MultiRow, Scrollable, Popup
  • Toolbar position: Top / Bottom
  • Sticky (floating) toolbar
  • Quick toolbars for image, link, table, audio, video, text
  • Separator usage (| and -)

Tools (Built-in & Custom)

📄 Read: references/tools.md

  • Complete built-in tools catalog (text, font, alignment, lists, etc.)
  • Adding and removing toolbar tools
  • Creating custom toolbar commands
  • Enabling / disabling toolbar items programmatically
  • Text formatting, styling, fullscreen tools

Editor Value (Get/Set/Save)

📄 Read: references/editor-value.md

  • Set initial content with value / valueTemplate
  • Get HTML content: editor.value, getHtml(), getText()
  • Change events and auto-save (saveInterval)
  • Character count and max length
  • Encoded HTML output (enableHtmlEncode)
  • Source code editing (SourceCode tool)
  • Placeholder text

Insert Image & Media

📄 Read: references/insert-image-media.md

  • Insert images (URL, upload, drag-drop)
  • Insert audio and video
  • File browser integration
  • Upload configuration (server upload, rename)
  • Image/media quick toolbar

Tables

📄 Read: references/table.md

  • Creating tables (toolbar, programmatic)
  • Table quick toolbar operations
  • Cell properties, alignment, merge/split
  • Table style customization

Links

📄 Read: references/link.md

  • Insert hyperlinks
  • Link quick toolbar (Open, Edit, Remove)
  • Auto-linking URLs

Smart Editing

📄 Read: references/smart-editing.md

  • @mention integration
  • Slash menu / slash commands
  • Emoji picker
  • Mail merge with dynamic placeholders

AI Assistant

📄 Read: references/ai-assistant.md

  • Integrating AI assistant panel
  • AI assistant properties and configuration
  • Customizing AI suggestions UI

Markdown-Specific Features

📄 Read: references/markdown-features.md

  • Supported markdown syntax (headings, lists, bold, italic, etc.)
  • Custom markdown format definitions
  • Live markdown preview (split-pane)
  • Insert image / table in markdown mode
  • Mention support in markdown mode
  • Toolbar items specific to markdown

Content Operations

📄 Read: references/content-operations.md

  • Code block support
  • Text selection API
  • Clipboard cleanup
  • Paste cleanup (Word paste, HTML cleanup)
  • Undo/redo configuration
  • Execute command programmatically (executeCommand)
  • Enter key configuration (P, BR, DIV)

Import & Export

📄 Read: references/import-export.md

  • Import Word/HTML documents into the editor
  • Export editor content to Word / PDF
  • Markdown import/export

Style & Appearance

📄 Read: references/style-appearance.md

  • CSS customization and cssClass
  • Style encapsulation
  • Adding custom Google fonts
  • Spell and grammar check
  • Globalization (RTL, localization)
  • Tailwind CSS preflight workarounds
  • Default font configuration
  • Placeholder text styling

Validation & Security

📄 Read: references/validation-security.md

  • HTML form integration with RTE
  • XHTML validation and XSS prevention
  • Read-only mode

How-To Scenarios

📄 Read: references/how-to.md

  • RTE inside Dialog
  • RTE inside Tab control
  • File attachment support
  • File size restrictions
  • Format code blocks
  • Custom shortcut keys
  • Save functionality
  • Cursor position control
  • Rename images on server

Properties Reference

📄 Read: references/properties.md

  • Complete list of all RichTextEditor properties with types, defaults, and descriptions
  • Sub-type details for complex model properties (toolbar, image, table, font, color, AI assistant, etc.)
  • Code examples for key properties

Methods Reference

📄 Read: references/methods.md

  • Complete list of all public instance methods with signatures and return types
  • Parameter details and usage examples
  • executeCommand with full CommandName enum and argument interfaces
  • Static Inject method and available module list

Events Reference

📄 Read: references/events.md

  • Complete list of all component events with types and event argument details
  • Lifecycle events: created, destroyed, blur, focus, change
  • Upload events for images, audio, and video
  • AI Assistant events: aiAssistantPromptRequest, aiAssistantToolbarClick, aiAssistantStopRespondingClick
  • Toolbar, popup, dialog, quick toolbar, resize, and selection events

Quick Start

npm install @syncfusion/ej2-angular-richtexteditor
npm install @syncfusion/ej2-tailwind3-theme

HTML Editor (WYSIWYG)

/* styles.css */
@import '../node_modules/@syncfusion/ej2-tailwind3-theme/styles/rich-text-editor/index.css';
import { RichTextEditor, Toolbar, Link, Image, HtmlEditor, QuickToolbar } from '@syncfusion/ej2-richtexteditor';
RichTextEditor.Inject(Toolbar, Link, Image, HtmlEditor, QuickToolbar);

const editor = new RichTextEditor({
  toolbarSettings: {
    items: ['Bold', 'Italic', 'Underline', '|', 'Formats', 'Alignments',
            'OrderedList', 'UnorderedList', '|', 'CreateLink', 'Image', '|',
            'SourceCode', 'Undo', 'Redo']
  },
  value: '<p>Start editing here...</p>'
});
editor.appendTo('#editor');
<!-- index.html -->
<div id="editor"></div>

Markdown Editor

import { RichTextEditor, Toolbar, Link, Image, MarkdownEditor } from '@syncfusion/ej2-richtexteditor';
RichTextEditor.Inject(Toolbar, Link, Image, MarkdownEditor);

const editor = new RichTextEditor({
  editorMode: 'Markdown',
  toolbarSettings: {
    items: ['Bold', 'Italic', 'StrikeThrough', 'InlineCode', '|',
            'Formats', 'Blockquote', '|', 'OrderedList', 'UnorderedList',
            'CreateLink', 'Image', 'CreateTable', '|', 'Undo', 'Redo']
  },
  value: '## Hello Markdown\n\nStart writing here...'
});
editor.appendTo('#editor');

Common Patterns

Get editor value on form submit

const form = document.getElementById('myForm');
form.addEventListener('submit', () => {
  const content = editor.value; // HTML string or Markdown string
  console.log(content);
});

Auto-save content

const editor = new RichTextEditor({
  saveInterval: 5000, // save every 5 seconds of inactivity
  change: (args) => {
    localStorage.setItem('draft', args.value);
  }
});

Read-only mode

editor.readonly = true;

Programmatically set content

editor.value = '<p>New content</p>';
editor.dataBind(); // apply the change

Module Injection Reference

FeatureModule to Inject
HTML editingHtmlEditor
Markdown editingMarkdownEditor
ToolbarToolbar
HyperlinksLink
ImagesImage
AudioAudio
VideoVideo
TablesTable
Quick toolbarsQuickToolbar
Paste cleanupPasteCleanup
Character countCount
ResizeResize
File managerFileManager
MentionMention (from ej2-dropdowns)

Inject only what you need — each module adds to bundle size. Always call RichTextEditor.Inject(...) before new RichTextEditor(...).

FAQ

What does the syncfusion-javascript-rich-text-editor skill do?

Implements the Syncfusion Rich Text Editor and Markdown Editor using TypeScript (ej2-richtexteditor). Supports both HTML (WYSIWYG) and Markdown modes via editorMode on a single RichTextEditor class. Use this skill for toolbar setup, image/media/table handling, inline or iframe editing, AI assistant, smart editing, import/export, and all content editor scenarios.

How do I install syncfusion-javascript-rich-text-editor?

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

Which AI agents can use syncfusion-javascript-rich-text-editor?

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-rich-text-editor 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-rich-text-editor?

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-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-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.

syncfusion-javascript-license

syncfusion/javascript-ui-controls-skills

Open the skill to read its SKILL.md instructions.

syncfusion-javascript-popups

syncfusion/javascript-ui-controls-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