
syncfusion-vue-diagram
Build interactive diagrams using Syncfusion Vue Diagram, including flowcharts, BPMN workflows, UML diagrams, Entity Relationship (ER) diagrams, swimlanes, and organizational charts. Trigger when working with Vue diagram components such as nodes, connectors, shapes, ports, labels, layouts, symbol palettes, serialization/deserialization with unsaved changes detection, Mermaid syntax support, data binding, interactive editing, and exporting diagrams for visualization and process flows.
- Installs
- 63
- 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-diagram- 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-vue-diagram 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.
Implementing Diagrams with Syncfusion Vue
The Syncfusion Vue Diagram component enables you to create interactive, customizable diagrams for visualizing complex processes, organizational hierarchies, workflows, and data relationships. From simple flowcharts to advanced BPMN diagrams and UML representations, the Diagram component provides comprehensive tools for visual communication.
When to Use This Skill
- Flowcharts & Process Diagrams — Visualize workflows, decision trees, or procedural flows
- Organizational Charts — Represent hierarchical structures with automatic layouts
- BPMN Workflows — Design business process models with activities, gateways, and events
- UML Diagrams — Create class diagrams, sequence diagrams, and structured relationships
- Mind Maps & Radial Trees — Organize ideas and concepts hierarchically
- Swimlane Diagrams — Show processes across multiple actors or departments
- Custom Shapes & Connectors — Build tailored diagrams with styled nodes and labeled connections
- Interactive Visualization — Enable drag-drop, selection, pan/zoom, and user interaction
Navigation Guide
Getting Started
📄 Read: references/getting-started.md
- Installation and npm packages (Vue 2/3/Next.js/Preact)
- Project setup with Vite/CRA
- CSS imports and theme configuration
- Basic DiagramComponent usage
- Module injection basics
Core Elements: Nodes
📄 Read: references/nodes.md
- Creating and adding nodes to diagrams
- Node positioning (offsetX/Y, width/height)
- Node shape types (Flow, Basic, Path)
- Styling nodes (fill, stroke, opacity, shadows)
- Node customization and templates
- Expand/collapse functionality
- Node events and callbacks
Core Elements: Connectors
📄 Read: references/connectors.md
- Connector types (Straight, Orthogonal, Bezier)
- Segment configuration and routing
- Connecting nodes via sourceID/targetID
- Advanced segments and bezier curves
- Connector customization and styling
- Connector events and interaction
Annotations: Labels & Text
📄 Read: references/labels-and-annotations.md
- Adding labels to nodes and connectors
- Label styling (font, color, alignment, rotation)
- Label interaction (edit, drag, resize)
- Label positioning and offset
- Label events
Connection Points: Ports
📄 Read: references/ports.md
- Port types and connection points on nodes
- Port positioning and visibility
- Port appearance and styling
- Connecting connectors to specific ports
- Port interaction and events
Shapes & Visual Styling
📄 Read: references/shapes-and-styles.md
- Built-in shape types (Flow, Basic, Path, Image, HTML)
- Flow chart shape reference
- Style properties (fill, stroke, dash, shadow)
- CSS class customization
- Theme integration
BPMN Diagrams
📄 Read: references/bpmn-diagrams.md
- BPMN module injection and setup
- BPMN shape overview and types
- Activities (task, subprocess, expanded subprocess)
- Events (start, end, intermediate)
- Gateways (exclusive, parallel, inclusive)
- Flows (sequence, message, association)
- Data objects and data sources
- Groups and text annotations
UML Diagrams
📄 Read: references/uml-diagrams.md
- UML class diagrams
- Classifier shapes (class, interface, enumeration)
- UML relationships and associations
- UML sequence diagram elements and participants
- Participant stereotypes (Actor, Boundary, Control, Entity, Database, Default)
- Message types (Synchronous, Asynchronous, Reply, Create, Delete, Self)
- Activation boxes and lifelines
- Complete workflow examples
Entity Relationship Diagrams
📄 Read: references/implementing-entity-relationship-diagrams.md
- Entity Relationship (ER) diagram concepts and models
- ER shape configuration with fields and properties
- Field constraints (NotNull, Unique, Primary Key, Foreign Key)
- Relationship types and multiplicities (One, OneAndOnlyOne, Many, ZeroOrOne, OneOrMany, ZeroOrMany)
- ER connectors and relationship configuration
- Runtime field management and manipulation
Automatic Layouts
📄 Read: references/layouts.md
- Hierarchical tree layout
- Organizational chart layout
- Mindmap layout
- Radial tree layout
- Flowchart layout
- Complex hierarchical configurations
- Layout customization and spacing
- Layout events and callbacks
Swimlanes & Phases
📄 Read: references/swimlanes.md
- Swimlane structure and overview
- Creating lanes and phases
- Swimlane children and header configuration
- Swimlane palette
- Swimlane interaction
Grouping & Containers
📄 Read: references/groups-and-containers.md
- Grouping nodes together
- Group operations (add/remove children)
- Container nodes and nesting
- Padding and layout within containers
Symbol Palette
📄 Read: references/symbol-palette.md
- SymbolPaletteComponent setup
- Defining palette symbols
- Drag & drop to diagram
- Palette customization (icons, search, size)
- Palette events and interactions
Data Binding
📄 Read: references/data-binding.md
- DataManager and dataSourceSettings
- id/parentId mapping for hierarchies
- Rendering org-charts from JSON data
- Remote data via DataManager (OData/Web API/REST)
- setNodeTemplate for data-driven rendering
Interaction & Tools
📄 Read: references/interaction-and-tools.md
- Selection, drag, resize interactions
- Tool modes (pointer, draw, pan)
- Constraints (node, connector, diagram)
- Commands and keyboard shortcuts
- Undo/Redo functionality
- Context menus
- User handles
Serialization & Export
📄 Read: references/serialization-and-export.md
- Save/load diagrams as JSON
- Export to image (PNG, SVG, JPG) — use
exportDiagram(inject PrintAndExport) - Print functionality
- Visio file import/export (experimental; inject ImportAndExportVisio)
- Mermaid syntax support with
saveDiagramAsMermaid()andloadDiagramFromMermaid() - Change detection with
isModifiedproperty for unsaved changes tracking - EJ1 migration serialization
Diagram Settings & Configuration
📄 Read: references/diagram-settings.md
- Layers (add, lock, visibility, selection)
- Virtualization (performance optimization)
- Grid lines (snapping, dots/lines)
- Ruler (horizontal/vertical)
- Scroll settings
- Page settings (size, orientation, margins)
- Tooltip configuration
- Overview panel
- Localization and accessibility
Quick Start
<template>
<div id="app">
<ejs-diagram
id="diagram"
:width="width"
:height="height"
:nodes="nodes"
:connectors="connectors"
:snapSettings="snapSettings"
></ejs-diagram>
</div>
</template>
<script>
import { DiagramComponent,SnapConstraints } from '@syncfusion/ej2-vue-diagrams';
export default {
name: "App",
components: {
"ejs-diagram": DiagramComponent
},
data() {
return {
width: "100%",
height: "590px",
nodes: [
{
id: 'node1',
width: 100,
height: 100,
offsetX: 250,
offsetY: 250,
style: { fill: '#6BA3D5' },
annotations: [{ content: 'Node 1' }]
},
{
id: 'node2',
width: 100,
height: 100,
offsetX: 450,
offsetY: 250,
style: { fill: '#6BA3D5' },
annotations: [{ content: 'Node 2' }]
}
],
connectors: [
{
id: 'connector1',
sourceID: 'node1',
targetID: 'node2',
type: 'Orthogonal'
}
],
snapSettings: {
constraints: SnapConstraints.None
}
}
}
}
</script>
<style>
@import '../node_modules/@syncfusion/ej2-vue-diagrams/styles/material.css';
</style>
Vue 2 vs Vue 3 Decision Guide
⚠️ CRITICAL: Syncfusion Diagram works with both Vue 2 and Vue 3, but patterns differ significantly.
Quick Decision Tree
┌─ Do you have an existing Vue project?
│
├─ YES, it's Vue 3 (Vite, create-vue, etc.)
│ └─ Use: Composition API with <script setup>
│ ✅ Modern, performant, recommended
│ 📄 Read: getting-started.md (Vue 3 Composition API section)
│
├─ YES, it's Vue 2 (Vue CLI, legacy projects)
│ └─ Use: Options API with export default
│ ✅ Compatible, but consider migrating
│ 📄 Read: getting-started.md (Vue 2 section)
│
└─ NO, starting fresh
└─ Recommended: Vue 3 with Vite
✅ Fastest, most modern
📄 Read: getting-started.md (Vite + Vue 3 setup)
Version Signatures
Vue 3 Composition API (Recommended):
import { ref } from 'vue';
import { DiagramComponent } from '@syncfusion/ej2-vue-diagrams';
const nodes = ref([...]); // ← Use ref()
Vue 2 Options API:
import { DiagramComponent } from '@syncfusion/ej2-vue-diagrams';
export default {
data() {
return {
nodes: [...] // ← Use data()
}
}
}
⚡ Pro Tip: If you're unsure, default to Vue 3 Composition API—it's the industry standard for new Syncfusion projects.
Common Patterns
Pattern 1: Creating Flowchart with Auto Layout
// Use hierarchical layout with nodes and connectors
const layout = {
type: 'HierarchicalTree',
orientation: 'TopToBottom',
horizontalSpacing: 50,
verticalSpacing: 50,
getLayoutInfo: (node, options) => {
// Customize layout per node
}
};
diagram.layout = layout;
diagram.doLayout();
Pattern 2: Data-Driven Organization Chart
// Render org chart from JSON data with DataManager
const dataSettings = {
id: 'id',
parentId: 'manager',
dataSource: new DataManager(employeeData)
};
diagram.dataSourceSettings = dataSettings;
Pattern 3: Interactive Node Selection
// Handle node selection events
diagram.selectionChange = (args) => {
console.log('Selected:', args.newItems);
};
// In Vue: bind the selectionChange event and read newValue/oldValue
// <ejs-Diagram :selectionChange="onSelectionChange" ... />
const onSelectionChange = (args) => {
console.log('Selected:', args.newItems);
};
Pattern 4: Export & Persistence (Advanced)
// Save state and export
const jsonData = diagram.saveDiagram();
localStorage.setItem('diagram', jsonData);
// Later: Load from storage
const saved = localStorage.getItem('diagram');
diagram.loadDiagram(saved);
// Export as PNG
diagram.export({ format: 'PNG', fileName: 'diagram' });
Key Props
| Prop | Type | Purpose |
|---|---|---|
nodes | Array | Collection of diagram nodes |
connectors | Array | Collection of connectors linking nodes |
layout | Object | Automatic layout configuration |
dataSourceSettings | Object | Data binding and source configuration |
snapSettings | Object | Snap constraints and guidelines |
pageSettings | Object | Page size, orientation, margins |
scrollSettings | Object | Pan and scroll behavior |
constraints | Object | Diagram-level interaction constraints |
contextMenuSettings | Object | Right-click menu configuration |
undoRedoSettings | Object | Undo/redo behavior |
Related Skills
- BPMN process modeling with Syncfusion workflows
- Data visualization layouts and hierarchies
- Interactive flowchart design
FAQ
What does the syncfusion-vue-diagram skill do?
Build interactive diagrams using Syncfusion Vue Diagram, including flowcharts, BPMN workflows, UML diagrams, Entity Relationship (ER) diagrams, swimlanes, and organizational charts. Trigger when working with Vue diagram components such as nodes, connectors, shapes, ports, labels, layouts, symbol palettes, serialization/deserialization with unsaved changes detection, Mermaid syntax support, data binding, interactive editing, and exporting diagrams for visualization and process flows.
How do I install syncfusion-vue-diagram?
Run npx skills add https://github.com/syncfusion/vue-ui-components-skills --skill syncfusion-vue-diagram 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-diagram/ (personal) or .claude/skills/syncfusion-vue-diagram/ (project).
Which AI agents can use syncfusion-vue-diagram?
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-diagram 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-diagram?
It is published by syncfusion in syncfusion/vue-ui-components-skills. It has 63 recorded installs.
More from syncfusion/vue-ui-components-skills
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-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-rich-text-editor
syncfusion/vue-ui-components-skills
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.
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.
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.