syncfusion-angular-blockeditor
Implement the Syncfusion Angular Block Editor component. Use this skill for block-based editing with advanced formatting, custom menus, event handling, content management, security features, globalization support, and extensive customization options for Angular applications.
What this skill does
# Syncfusion Angular Block Editor Component
## Component Overview
The Syncfusion Angular Block Editor is a powerful block-based editor component for Angular applications. It provides a document-centric editing experience similar to modern content management systems, with extensive support for formatting, customization, and advanced features.
**Key Capabilities:**
- **Block Management** - Compose documents with various block types (paragraphs, headings, lists, tables, code, images)
- **Text Formatting** - Bold, italic, underline, strikethrough, colors, highlights, and inline styles
- **Advanced Menus** - Slash commands, context menus, inline toolbars, and block action menus
- **Events & Interactions** - Comprehensive event handling for content changes, selection, drag-drop, paste operations
- **Content Management** - Import/export as JSON, HTML, or Markdown with full serialization control
- **Methods** - Programmatically add, remove, move, and update blocks with full API access
- **Security Features** - Built-in HTML sanitization and XSS prevention for safe content
- **Toolbar Configuration** - Customizable slash commands and block action menus with grouping
- **Templates** - Custom templates for blocks, placeholders, and empty states
- **Globalization** - Multi-language support, RTL languages, and locale-based keyboard shortcuts
- **Customizable UI** - Themes, CSS variables, responsive sizing, read-only mode, and placeholder text
## Quick Navigation Guide
### Getting Started
Start here if you're new to Block Editor or need setup instructions.
**Read When**:
- Setting up a new project with Block Editor
- Installing and importing dependencies
- Configuring CSS and basic properties
- Creating your first editor instance
๐ **[Getting Started](./references/getting-started.md)**
---
### Core Concepts
Learn the fundamental architecture and data structures.
**Read When**:
- Understanding block types and their purposes
- Learning about BlockModel and ContentModel
- Grasping how blocks are organized and related
- Understanding different content types within blocks
๐ **[Core Concepts](./references/core-concepts.md)**
---
### Block Management Methods
Programmatically manipulate editor content and structure.
**Read When**:
- Adding, removing, or moving blocks
- Updating block properties
- Querying block count and data
- Building dynamic document structures
๐ **[Block Management Methods](./references/block-management-methods.md)**
---
### Selection and Cursor Methods
Control user selection and cursor positioning.
**Read When**:
- Setting cursor position programmatically
- Selecting text or blocks
- Implementing text selection features
- Managing ranges and selections
- Execute toolbar actions programmatically (executeToolbarAction)
๐ **[Selection and Cursor Methods](./references/selection-and-cursor-methods.md)**
---
### Utility Methods
Control editor focus, toolbar state, and printing functionality.
**Read When**:
- Focusing or blurring the editor programmatically
- Enabling or disabling toolbar items dynamically
- Implementing conditional toolbar access
- Printing editor content
- Managing editor state based on user actions
๐ **[Utility Methods](./references/utility-methods.md)**
---
### Configuration Properties
Configure editor styling, security settings, users and labels.
**Read When**:
- Applying custom CSS classes for theming
- Implementing dark mode or custom themes
- Configuring HTML encoding for security
- Setting up XSS prevention
- Integrating with CSS frameworks (Bootstrap, Tailwind, Material)
- Configuring users for multi-user editing
- Adding user avatars and identification
- Implementing @mentions functionality
- Creating label/tag systems (#tags)
- Setting up project management labels
- Tracking content by user or category
๐ **[Configuration Properties](./references/configuration-properties.md)**
---
### Editor Menus
Configure slash commands, context menus, and toolbars.
**Read When**:
- Customizing the slash command menu (/)
- Adding context menu items
- Configuring block action menus
- Creating inline toolbars
- Adding custom menu items
๐ **[Editor Menus](./references/editor-menus.md)**
---
### Events and Callbacks
Handle user interactions and content changes.
**Read When**:
- Implementing auto-save functionality
- Validating content changes
- Tracking user interactions
- Responding to selection changes
- Handling paste operations
๐ **[Events and Callbacks](./references/events-and-callbacks.md)**
---
### Formatting and Styles
Apply text formatting and styling.
**Read When**:
- Making text bold, italic, underlined
- Applying colors and backgrounds
- Using advanced text styles (superscript, code, etc.)
- Formatting block types (headings, quotes, etc.)
- Creating styled content
๐ **[Formatting and Styles](./references/formatting-and-styles.md)**
---
### Data Structures and Lists
Work with list blocks and table structures.
**Read When**:
- Creating bullet or numbered lists
- Adding checklists with checkboxes
- Building tables with rows and columns
- Creating nested indented content
- Working with toggle/collapsible blocks
๐ **[Data Structures and Lists](./references/data-structures-and-lists.md)**
---
### Advanced Features
Explore undo/redo, drag-drop, code blocks, and templates.
**Read When**:
- Configuring undo/redo stack size
- Customizing drag and drop behavior
- Adding code blocks with syntax highlighting
- Creating custom template blocks
- Building complex document layouts
๐ **[Advanced Features](./references/advanced-features.md)**
---
### Data Export and Import
Convert between formats and persist content.
**Read When**:
- Exporting editor content as JSON
- Converting to HTML or Markdown
- Importing from JSON or HTML files
- Parsing external HTML content
- Printing documents
- Synchronizing with servers
๐ **[Data Export and Import](./references/data-export-and-import.md)**
---
### Keyboard Shortcuts and Globalization
Configure shortcuts and multi-language support.
**Read When**:
- Customizing keyboard shortcuts
- Setting up platform-specific shortcuts
- Implementing internationalization
- Supporting RTL languages
- Configuring language-specific settings
๐ **[Keyboard Shortcuts and Globalization](./references/keyboard-shortcuts-and-globalization.md)**
---
### Security and Paste Handling
Secure the editor and manage content pasting.
**Read When**:
- Enabling HTML sanitization
- Preventing XSS attacks
- Configuring paste cleanup rules
- Managing allowed styles and tags
- Implementing read-only mode
- Validating user input
๐ **[Security and Paste Handling](./references/security-and-paste-handling.md)**
---
### Appearance and Customization
Style and customize the editor appearance.
**Read When**:
- Setting custom width/height
- Applying themes (light, dark, high-contrast)
- Using CSS variables for styling
- Customizing fonts and typography
- Creating responsive editors
- Styling with custom CSS classes
๐ **[Appearance and Customization](./references/appearance-and-customization.md)**
---
## Quick Start Example
### 1. Install Dependencies
```bash
npm install @syncfusion/ej2-angular-blockeditor
npm install @syncfusion/ej2-angular-buttons
npm install @syncfusion/ej2-base
```
### 2. Create Component
```typescript
import { Component } from '@angular/core';
import { BlockEditorModule } from '@syncfusion/ej2-angular-blockeditor';
@Component({
selector: 'app-editor',
template: `<ejs-blockeditor [height]="'500px'" />`,
standalone: true,
imports: [BlockEditorModule]
})
export class EditorComponent {}
```
### 3. Import CSS
```css
@import '../node_modules/@syncfusion/ej2-base/styles/material3.css';
@import '../node_modules/@syncfusion/ej2-inputs/styles/material3.css';
@import '../node_modules/@syncfusion/ej2-popups/styles/material3.css';
@import '../node_modules/@syncfusion/ej2-buttons/styles/material3.css';
@import '../node_modules/@syncfusion/ej2-splitbuttons/sRelated in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context โ no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes โ information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development โ guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.