MCPInstall

syncfusion-vue-rich-text-editor

Implements the Syncfusion Vue Rich Text Editor (ejs-richtexteditor) supporting both HTML (WYSIWYG) and Markdown editing modes via the editorMode API from @syncfusion/ej2-vue-richtexteditor. Use this skill for toolbar customization, image upload, paste cleanup, inline editing, AI assistant integration, slash menu, emoji picker, and mention support in Vue applications.

Installs
67
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-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-vue-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 the Syncfusion Vue Rich Text Editor

The Syncfusion Vue Rich Text Editor (ejs-richtexteditor) is a single, unified editor component that supports two primary modes:

  • HTML mode (default) — WYSIWYG editor that returns valid HTML markup
  • Markdown mode — plain-text editing with Markdown syntax, rendered via a third-party library like marked

Both modes share the same Vue component and @syncfusion/ej2-vue-richtexteditor package. The editorMode prop and the injected service module (HtmlEditor vs MarkdownEditor) are what differentiate them.

When to Use This Skill

  • User wants to add a rich text / WYSIWYG editor to a Vue app
  • User wants a Markdown editor with preview support
  • User needs to customize the toolbar (types, items, sticky, floating)
  • User wants to insert images, audio, video, tables, or links
  • User needs paste-from-Word cleanup, inline editing, or IFrame mode
  • User wants to integrate AI Assistant, slash menu, emoji picker, or @mentions
  • User needs form validation, read-only mode, or XHTML validation
  • User needs to get/set editor value or work with events and selection API

Mode Selection Guide

GoalModeInject
WYSIWYG HTML outputeditorMode="HTML" (default)HtmlEditor
Markdown text with #, **bold** syntaxeditorMode="Markdown"MarkdownEditor
IFrame-isolated editingHTML mode + IFrame configHtmlEditor, HtmlEditor render mode
Live markdown preview split-paneMarkdown mode + marked libraryMarkdownEditor

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Package installation (@syncfusion/ej2-vue-richtexteditor)
  • CSS imports and theme setup
  • Module injection reference table (all available services)
  • Minimal HTML editor setup (Composition API + Options API)
  • Minimal Markdown editor setup
  • Running the application

Editor Modes (HTML vs Markdown)

📄 Read: references/editor-modes.md

  • HTML mode — default WYSIWYG, returns HTML markup
  • Markdown mode — editorMode="Markdown", returns Markdown text
  • Supported Markdown tags and selection formatting
  • Converting Markdown to HTML with marked library
  • Live markdown preview implementation
  • Side-by-side split-pane preview with Splitter component

Toolbar Configuration

📄 Read: references/toolbar-configuration.md

  • Toolbar types: Expand, MultiRow, Scrollable, Popup
  • Sticky/floating toolbar (enableFloating, floatingToolbarOffset)
  • Toolbar position (top/bottom) and toolbarSettings
  • Enabling/disabling toolbar items programmatically
  • Custom toolbar button templates

Toolbar Tools Reference

📄 Read: references/toolbar-tools.md

  • All built-in toolbar items by category (text formatting, font, alignment, lists, links, images, tables, undo/redo, misc)
  • Markdown-specific toolbar items
  • Removing or reordering built-in tools
  • toolbarSettings.items array configuration

Quick Toolbars

📄 Read: references/quick-toolbars.md

  • Context-aware toolbars for images, links, tables, audio, video
  • Customizing quickToolbarSettings per element type
  • Default quick toolbar items and overrides
  • Enabling/disabling quick toolbars

Inserting Images

📄 Read: references/insert-images.md

  • Image insertion via toolbar (URL and file upload)
  • Server-side upload with insertImageSettings
  • Drag-and-drop image support
  • Image resize, alignment, caption, alt text
  • Renaming images on server, checking image size limits
  • Image module injection

Inserting Media (Audio & Video)

📄 Read: references/insert-media.md

  • Audio insertion with Audio module
  • Video insertion with Video module
  • File browser integration
  • Media quick toolbar options

Inserting Tables

📄 Read: references/insert-table.md

  • Table insertion in HTML mode and Markdown mode
  • Default table structure (2×2 with header row)
  • Table quick toolbar (rows, columns, merge, properties)
  • Table Table module injection

Editor Value & Content

📄 Read: references/editor-value.md

  • Setting initial value via :value prop
  • Getting editor value via getValue() method
  • Two-way binding with v-model
  • Placeholder text (placeholder prop)
  • Character count and maxLength
  • change, input, blur events
  • execCommand API for programmatic formatting
  • Selection API and cursor positioning

Smart Editing Features

📄 Read: references/smart-editing.md

  • Slash menu (/ command palette) with slashMenuSettings
  • Emoji picker toolbar integration
  • Mention support (@mention) with MentionModule
  • Mail merge fields

Paste Cleanup

📄 Read: references/paste-cleanup.md

  • Pasting content from Word/browser with formatting control
  • pasteCleanupSettings: prompt, plainText, keepFormat
  • Stripping denied tags/attributes (deniedTags, deniedAttrs)
  • PasteCleanup module injection
  • Clipboard event handling

Editor Types (Inline, IFrame, Resizable)

📄 Read: references/editor-types.md

  • Inline editing mode (content-editable in-place editing)
  • IFrame mode (style isolation from page)
  • Resizable editor (enableResize, resize handles)
  • When to choose each render type

AI Assistant

📄 Read: references/ai-assistant.md

  • AIAssistantService provider injection
  • AICommands and AIQuery toolbar items
  • AI pop-up with predefined prompt dropdown
  • Customizing AI assistant behavior and properties

Validation & Security

📄 Read: references/validation-security.md

  • Form integration and submit-on-form
  • XHTML validation mode
  • Read-only mode (readonly prop)
  • Max length validation
  • Spell and grammar check integration

Accessibility & Globalization

📄 Read: references/accessibility-globalization.md

  • WCAG 2.2 and Section 508 compliance
  • Keyboard navigation and shortcuts
  • RTL (right-to-left) support
  • Globalization and locale configuration
  • Custom keyboard shortcut overrides

API Reference - Events

📄 Read: references/vue-events.md

  • Lifecycle events (created, destroyed)
  • Editor action events (actionBegin, actionComplete, toolbarClick)
  • Content change events (change, selectionChanged, focus, blur)
  • Dialog events (beforeDialogOpen, dialogOpen, dialogClose)
  • File upload events (image, audio, video uploads)
  • Toolbar and popup events
  • AI Assistant events
  • Advanced events (paste, resize, export, import)

API Reference - Methods

📄 Read: references/vue-methods.md

  • Content access methods (getHtml, getText, getXhtml, getContent, getCharCount)
  • Selection and range methods (getSelection, getRange, selectAll, selectRange)
  • Command execution (executeCommand with all available commands)
  • Toolbar management (enable, disable, remove toolbar items)
  • Dialog methods (showDialog, closeDialog)
  • Focus and state methods (focusIn, focusOut, refreshUI, destroy)
  • AI Assistant methods (show/hide popup, execute prompt, manage history)
  • Utility methods (sanitizeHtml, print, fullscreen, source code, emoji picker)

API Reference - Properties (Core)

📄 Read: references/properties-core.md

  • Core configuration (value, valueTemplate, placeholder, enabled, readonly, cssClass, htmlAttributes)
  • Dimensions and layout (width, height, enableResize)
  • Editor modes and behavior (editorMode, enterKey, shiftEnterKey, enableTabKey, enableAutoUrl, enableMarkdownAutoFormat)
  • Toolbar configuration (toolbarSettings with enable, enableFloating, position, type, items, itemConfigs)
  • Toolbar customization (floatingToolbarOffset, showTooltip)
  • Quick toolbar settings (for images, links, tables, audio, video with actionOnScroll, enableAppendToBody)
  • Font and text formatting (fontFamily, fontSize, fontColor, backgroundColor, format, lineHeight, formatPainterSettings)
  • List formatting (bulletFormatList, numberFormatList)
  • Media insertion settings (insertImageSettings, insertAudioSettings, insertVideoSettings, fileManagerSettings)
  • Table settings (tableSettings with width, resize, styles)
  • Paste and clipboard (pasteCleanupSettings with prompt, keepFormat, deniedAttrs/Tags, allowedStyleProps; enableClipboardCleanup)

API Reference - Properties (Advanced)

📄 Read: references/properties-advanced.md

  • AI Assistant settings (aiAssistantSettings with commands, prompts, suggestions, popup dimensions, toolbar settings, bannerTemplate)
  • Advanced features (slashMenuSettings, emojiPickerSettings, codeBlockSettings, formatter, keyConfig for custom shortcuts)
  • Validation and limits (maxLength, showCharCount, enableHtmlSanitizer, enableHtmlEncode, enableXhtml)
  • Localization and accessibility (locale with L10n translations, enableRtl for right-to-left languages)
  • IFrame mode (iframeSettings with enable, attributes, resources, metaTags, sandbox)
  • Inline mode (inlineMode with enable, onSelection for toolbar display)
  • Import and export (importWord, exportWord with serviceUrl/fileName/stylesheet, exportPdf with serviceUrl/fileName/stylesheet)
  • Persistence and auto-save (enablePersistence with localStorage, autoSaveOnIdle, saveInterval in milliseconds)
  • Undo/redo (undoRedoSteps for history limit, undoRedoTimer for debounce delay)

Quick Start

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

HTML Editor (Composition API)

<template>
  <ejs-richtexteditor :value="value" :toolbarSettings="toolbarSettings" />
</template>

<script setup>
import { provide } from 'vue';
import {
  RichTextEditorComponent as EjsRichtexteditor,
  Toolbar, Link, Image, HtmlEditor, QuickToolbar
} from '@syncfusion/ej2-vue-richtexteditor';

const value = '<p>Start editing here...</p>';
const toolbarSettings = {
  items: ['Bold', 'Italic', 'Underline', '|', 'Formats', 'Alignments',
    'OrderedList', 'UnorderedList', '|', 'CreateLink', 'Image', '|', 'Undo', 'Redo']
};
provide('richtexteditor', [Toolbar, Link, Image, HtmlEditor, QuickToolbar]);
</script>

<style>
@import '../node_modules/@syncfusion/ej2-tailwind3-theme/styles/rich-text-editor/index.css';
</style>

Markdown Editor (Composition API)

<template>
  <ejs-richtexteditor
    editorMode="Markdown"
    :value="value"
    :toolbarSettings="toolbarSettings"
  />
</template>

<script setup>
import { provide } from 'vue';
import {
  RichTextEditorComponent as EjsRichtexteditor,
  Toolbar, Link, Image, MarkdownEditor
} from '@syncfusion/ej2-vue-richtexteditor';

const value = '**Hello** from Markdown editor!';
const toolbarSettings = {
  items: ['Bold', 'Italic', 'StrikeThrough', '|',
    'Formats', 'OrderedList', 'UnorderedList', '|',
    'CreateLink', 'Image', '|', 'Undo', 'Redo']
};
provide('richtexteditor', [Toolbar, Link, Image, MarkdownEditor]);
</script>

Key Module Injection Reference

FeatureModule to Inject
HTML editing (default)HtmlEditor
Markdown editingMarkdownEditor
ToolbarToolbar
HyperlinksLink
ImagesImage
AudioAudio
VideoVideo
TablesTable
Quick toolbarsQuickToolbar
Paste cleanupPasteCleanup
Slash menuSlashMenu
AI AssistantAIAssistantService
Character countCount

Always inject modules in provide('richtexteditor', [...modules]).

Common Patterns

Controlled value with v-model

<ejs-richtexteditor v-model:value="content" />

Getting value programmatically

<ejs-richtexteditor ref="rteRef" />
<!-- In script: -->
const html = rteRef.value.ej2Instances.getHTML();
const text = rteRef.value.ej2Instances.getText();

Markdown editor + live HTML preview

Use editorMode="Markdown" with a change event handler that passes the content through marked.parse() into a preview <div>. See references/editor-modes.md for the full split-pane implementation.

Decide: HTML mode or Markdown mode?

  • Need formatted output to store as HTML → use HTML mode
  • Need lightweight text with syntax users can read/edit as plain text → use Markdown mode
  • Need rich media (images, video, audio, tables with formatting) → use HTML mode
  • Need developer-friendly source that renders in GitHub/Notion → use Markdown mode

FAQ

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

Implements the Syncfusion Vue Rich Text Editor (ejs-richtexteditor) supporting both HTML (WYSIWYG) and Markdown editing modes via the editorMode API from @syncfusion/ej2-vue-richtexteditor. Use this skill for toolbar customization, image upload, paste cleanup, inline editing, AI assistant integration, slash menu, emoji picker, and mention support in Vue applications.

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

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

Which AI agents can use syncfusion-vue-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-vue-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-vue-rich-text-editor?

It is published by syncfusion in syncfusion/vue-ui-components-skills. It has 67 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-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-gantt-chart

syncfusion/vue-ui-components-skills

Open the skill to read its SKILL.md instructions.

syncfusion-vue-barcode

syncfusion/vue-ui-components-skills

Open the skill to read its SKILL.md instructions.

syncfusion-vue-common

syncfusion/vue-ui-components-skills

Common utilities and features for Syncfusion Vue components. 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 Vue components.

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