chat-widget

Implement a real-time support chat system with a floating user widget and admin dashboard.

1|Updated Aug 17, 2025
One-click install
npx skills add https://github.com/ratnesh-maurya/mdconverter --skill chat-widget-ratnesh-maurya
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: chat-widget
Source: https://github.com/ratnesh-maurya/mdconverter/tree/main/.claude/skills/chat-widget
Command: npx skills add https://github.com/ratnesh-maurya/mdconverter --skill chat-widget-ratnesh-maurya

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Adding live customer support to an application requires coordinating databases, WebSocket channels, frontend widgets, admin dashboards, and email notifications, which is complex to design from scratch. This Skill provides a complete architectural blueprint and framework-specific code for building a real-time support chat system. ## Core Features & Use Cases - Full-Stack Architecture: Covers data models, REST endpoints, WebSocket channels, a floating user chat widget, and an admin dashboard with archive/restore controls. - Framework-Specific Code: Includes ready-to-adapt implementations for Ruby on Rails, React, Next.js, Laravel, and Vue.js, plus database and real-time technology recommendations. - Operational Details: Handles unread badges, message deduplication, auto-unarchiving, delayed email notifications, and connection status indicators. - Use Case: A SaaS team wants to add in-app support so users can message staff directly; the Skill guides building the widget, admin conversation view, and notification pipeline end to end. ## Quick Start Use the chat-widget skill to build a real-time support chat with a floating user widget and an admin dashboard in my app.

Frequently Asked Questions about chat-widget

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a live chat widget for my website?

Create a floating chat button with a message panel, connect it to a WebSocket channel subscribed to the user's chat, and persist messages in support_chats and support_messages tables. The Skill provides component structure, state hooks, and styling guidance.

How to add real-time messaging between users and admins?

Use two WebSocket channels: a per-chat channel for conversation messages and a global admin notification channel for new user messages. Broadcast from the message model after creation and deduplicate on the client using seen message IDs.

Does this chat system work with Next.js serverless deployments?

Yes, but serverless environments cannot hold persistent WebSocket connections. Use a hosted service like Pusher or Ably for real-time delivery, with Next.js API routes handling chat creation and message persistence.

Why do duplicate messages appear in my chat widget?

Duplicates occur because a message the user sends is also echoed back through the WebSocket broadcast. Track seen message IDs in a Set on the client and skip any broadcast message whose ID was already rendered.

How do I notify users of admin replies without spamming emails?

Schedule a background job with a five-minute delay when an admin sends a message. The job checks whether the message is still unread before sending, so users who saw the reply in-app never receive an email.