MCPInstall

syncfusion-angular-chat-ui

Implement the Syncfusion Angular Chat UI component. Use this skill whenever users need to implement messaging, real-time conversations, file attachments, typing indicators, user mentions, or bot integrations (Dialogflow, Microsoft Bot Framework) in Angular applications. Essential for customer support chatbots, team messaging apps, AI-powered assistants, and collaborative communication interfaces.

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

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/syncfusion/angular-ui-components-skills --skill syncfusion-angular-chat-ui
  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-angular-chat-ui 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.

Syncfusion Angular Chat UI Component

Component Overview

The Syncfusion Angular Chat UI component provides a complete, feature-rich solution for building conversational interfaces in Angular applications. It enables real-time messaging, user presence indicators, file attachments, typing indicators, and seamless integration with bot frameworks and AI services.

Key Capabilities:

  • Message Management - Configure messages with text, rich templates, media, replies, pinning, and forwarding
  • User System - Define current user, presence status, avatars with custom styling and mentions
  • Appearance Control - Customize width, height, placeholder, CSS classes, compact mode, and suggestions
  • Header & Footer - Control visibility, titles, icons, custom templates, and header toolbar with actions
  • Events & Interactions - Handle message send, typing indicators, toolbar actions (copy, reply, pin, delete)
  • Templates - Customize empty chat, messages, time breaks, typing indicators, and suggestion items
  • File Attachments - Enable uploads with type/size restrictions, drag-and-drop, custom paths, attachment click events
  • Methods - Programmatically add/update messages, scroll to bottom, scroll to specific message, focus input
  • Globalization - Support multiple languages (i18n), RTL text direction, and locale-based formatting
  • Advanced Features - Load on demand, state persistence, mentions, message status, time breaks, bot integrations

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Installation and package setup (Ivy vs ngcc)
  • Setup Angular environment with Angular CLI
  • Basic component initialization
  • Configuring messages and users
  • CSS imports and theme configuration
  • Running the application

Messages and Users

📄 Read: references/messages-and-users.md

  • Message configuration and properties (text, id, author, timestamp)
  • User models and avatars
  • Defining current user with unique identifier
  • Avatar URLs and custom background colors
  • User presence status (online, offline, away, busy)
  • Message pinning for important messages
  • Enhanced MessageReplyModel with complete interface documentation
  • Reply with attachments and timestamp formatting
  • Dynamic reply creation patterns
  • Message forwarding
  • Compact mode for group conversations
  • Markdown message support

Appearance and Layout

📄 Read: references/appearance-and-layout.md

  • Placeholder text customization
  • Width and height properties
  • CSS class customization for styling
  • Compact mode configuration
  • Auto-scroll to bottom behavior
  • Suggestions display for quick replies

Header and Footer

📄 Read: references/header-and-footer.md

  • Header visibility control
  • Header text (title) configuration
  • Header icon customization with CSS classes
  • Header toolbar with custom actions (call, video, settings, profile)
  • ToolbarSettingsModel configuration with items and itemClicked event
  • Footer visibility and control
  • Footer template for custom layouts

Events and Interactions

📄 Read: references/events-and-interactions.md

  • Component lifecycle events (created)
  • Message send event handling
  • User typing event and typing indicators
  • Message toolbar configuration
  • Complete ToolbarItemModel properties (align, cssClass, disabled, iconCss, tabIndex, template, text, tooltip, type, visible)
  • Toolbar items customization (copy, reply, pin, delete, forward)
  • Item click event handling
  • Toolbar width configuration
  • Before/after attachment events
  • Header toolbar vs message toolbar differences

Templates and Content

📄 Read: references/templates-and-content.md

  • Message template customization
  • Empty chat template for initial state
  • Time break template for date separators
  • Message status and delivery icons
  • Timestamp display and visibility
  • Timestamp format customization (dd/MM/yyyy hh:mm a)
  • Suggestion template customization with context variables (index, suggestion)
  • Advanced suggestion examples (category-based, search-highlighted, icon-based)
  • Typing indicator template

Attachments and File Handling

📄 Read: references/attachments-and-file-handling.md

  • Enable file attachment support
  • Attachment settings configuration
  • Server endpoints (saveUrl, removeUrl)
  • File type restrictions and filters
  • File size limits (default 30MB)
  • SaveFormat enum (Blob vs Base64) with advantages and use cases
  • Custom storage paths with path property for CDN/cloud storage
  • Drag-and-drop file upload
  • Maximum file count restrictions
  • File preview templates
  • Attachment templates
  • attachmentClick event for custom file interactions (preview, download, metadata)
  • attachedFile property for pre-populating messages with files
  • Upload event handling (success, failure)

Methods and Programmatic Control

📄 Read: references/methods-and-programmatic-control.md

  • addMessage() - Add new messages programmatically
  • updateMessage() - Edit existing messages
  • scrollToBottom() - Scroll to latest messages
  • scrollToMessage(messageId) - Navigate to specific message (pinned messages, search results, deep linking)
  • focus() - Set focus to chat input programmatically (auto-focus, modal close, command execution)
  • ViewChild component access
  • Accessing chat instance for direct control

Globalization and Localization

📄 Read: references/globalization-and-localization.md

  • Localization (L10n) and i18n support
  • Typing indicator translations
  • Multiple language support
  • Right-to-Left (RTL) layout for Arabic, Hebrew, Persian
  • Locale configuration
  • Language-specific string customization

Advanced Features

📄 Read: references/advanced-features.md

  • State persistence with enablePersistence (localStorage, cross-tab sync, browser refresh protection)
  • Custom persistence implementations for sensitive data
  • Load on demand for large message histories (1000+ messages)
  • Mention integration with @character
  • Trigger character customization
  • Predefined mentions in messages
  • mentionSelect event handling
  • Message status tracking (sent, delivered, read)
  • Time breaks between messages for date organization

Bot Integrations

📄 Read: references/bot-integrations.md

  • Google Dialogflow integration for AI conversations
  • Microsoft Bot Framework integration with Azure
  • Direct Line API configuration
  • Token server setup for security
  • Backend API configuration
  • Secure credential handling
  • Bot response message handling
  • Session management

Quick Start Example

Here's a minimal example to get started:

import { Component } from '@angular/core';
import { ChatUIModule } from '@syncfusion/ej2-angular-interactive-chat';
import { UserModel } from '@syncfusion/ej2-interactive-chat';

@Component({
  imports: [ChatUIModule],
  standalone: true,
  selector: 'app-root',
  template: `
    <div id="chatui" ejs-chatui 
         [user]="currentUserModel" 
         headerText="TeamSync Professionals">
      <e-messages>
        <e-message text="Hi, how are you?" [author]="currentUserModel"></e-message>
        <e-message text="Great! How can I help?" [author]="michaleUserModel"></e-message>
      </e-messages>
    </div>
  `,
  styles: [`
    #chatui {
      height: 500px;
      width: 100%;
    }
  `]
})
export class AppComponent {
  public currentUserModel: UserModel = { user: 'Albert', id: 'user1' };
  public michaleUserModel: UserModel = { user: 'Michale', id: 'user2' };
}

Installation:

npm install @syncfusion/ej2-angular-interactive-chat

CSS Import (src/styles.css):

@import "../node_modules/@syncfusion/ej2-material3-theme/styles/chat-ui/index.css";

Key Components and Props

Core Component:

  • <ejs-chatui> - Main chat container
    • [user] - Current user model (UserModel)
    • [messages] - Message collection
    • headerText - Header title
    • [headerToolbar] - Header toolbar with custom actions
    • [height] / [width] - Dimensions
    • [enableAttachments] - File upload support
    • [enablePersistence] - State persistence across sessions
    • [enableRtl] - Right-to-left layout
    • [attachmentSettings] - File upload configuration
    • [messageToolbarSettings] - Message-level toolbar
    • [suggestions] - Quick reply suggestions
    • [suggestionTemplate] - Custom suggestion rendering

Message Element:

  • <e-message> - Individual message
    • text - Message content
    • [author] - User who sent message
    • [timeStamp] - Message timestamp
    • [timeStampFormat] - Custom timestamp format
    • [isPinned] - Pin importance
    • [replyTo] - Thread context (MessageReplyModel)
    • [isForwarded] - Forwarded indicator
    • [attachedFile] - Pre-populated file attachments (FileInfo)
    • [status] - Message delivery status (MessageStatusModel)
    • [mentionUsers] - Users mentioned in message

User Model Properties:

  • id - Unique user identifier
  • user - Display name
  • avatarUrl - Avatar image
  • avatarBgColor - Avatar background color
  • statusIconCss - Presence status icon

Common Use Cases

1. Customer Support Chat

  • Configure header with support team name
  • Enable file attachments for screenshots/documents
  • Use message status for delivery tracking
  • Integrate with Dialogflow for AI-powered responses

2. Team Messaging App

  • Multiple users with presence status
  • Mention teammates with @mentions
  • Pin important decisions/announcements
  • Use timestamp format for timezone support

3. AI Assistant

  • Integrate with Microsoft Bot Framework or Dialogflow
  • Show typing indicator while bot responds
  • Suggest quick replies with suggestions array
  • Handle bot-specific message formatting

4. Load Performance

  • Enable load on demand for 1000+ message conversations
  • Implement auto-scroll for smooth scrolling
  • Use compact mode to reduce vertical space
  • Lazy load attachments and media

5. Internationalization (i18n)

  • Provide localized typing indicators ("X is typing")
  • Enable RTL for Arabic/Hebrew/Persian users
  • Customize date/time format per locale
  • Translate button labels and placeholders

FAQ

What does the syncfusion-angular-chat-ui skill do?

Implement the Syncfusion Angular Chat UI component. Use this skill whenever users need to implement messaging, real-time conversations, file attachments, typing indicators, user mentions, or bot integrations (Dialogflow, Microsoft Bot Framework) in Angular applications. Essential for customer support chatbots, team messaging apps, AI-powered assistants, and collaborative communication interfaces.

How do I install syncfusion-angular-chat-ui?

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

Which AI agents can use syncfusion-angular-chat-ui?

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-angular-chat-ui 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-angular-chat-ui?

It is published by syncfusion in syncfusion/angular-ui-components-skills. It has 310 recorded installs.

More from syncfusion/angular-ui-components-skills

View all →

syncfusion-angular-grid

syncfusion/angular-ui-components-skills

Implements Syncfusion Angular 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.

Frontend & Design342 installs

syncfusion-angular-common

syncfusion/angular-ui-components-skills

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

Frontend & Design327 installs

syncfusion-angular-chart

syncfusion/angular-ui-components-skills

Implement Syncfusion Angular Chart component for professional data visualization. Use this when creating or customizing charts such as line, bar, column, area, pie, financial (candlestick, OHLC), scatter, bubble, or stock charts. Supports axes configuration, series binding, legends, tooltips, zooming, real-time updates, technical indicators, themes, export, and accessibility features.

Frontend & Design321 installs

syncfusion-angular-license

syncfusion/angular-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design319 installs

syncfusion-angular-themes

syncfusion/angular-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design319 installs

syncfusion-angular-rich-text-editor

syncfusion/angular-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design317 installs

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