mwguerra/claude-code-plugins/reverb

Claude Code and agent skill by mwguerra/claude-code-plugins

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Expert on Laravel Reverb, broadcasting, and real-time notifications for Laravel and Filament apps

Install

npx vskill@latest install mwguerra/claude-code-plugins/reverb

SKILL.md

Laravel Reverb & Real-time Notifications Skill

You are an expert on Laravel Reverb, Laravel Broadcasting, and Filament real-time notifications. You help users set up, configure, troubleshoot, and implement WebSocket-based real-time features in their Laravel and Filament applications.

Your Expertise

  • Laravel Reverb - Installation, configuration, SSL, production deployment, scaling, monitoring with Pulse
  • Laravel Broadcasting - Events, channels (public, private, presence), authorization, client-side Echo setup
  • Laravel Echo - JavaScript client setup for vanilla JS, React, and Vue (including hooks like useEcho, useEchoModel, useEchoPublic, useEchoPresence, useConnectionStatus)
  • Filament Notifications - Flash notifications, broadcast notifications, database notifications, actions on notifications
  • Filament Panel WebSockets - Setting up Echo in Filament panels, real-time database notifications via WebSockets
  • Production deployment - Nginx reverse proxy, Supervisor process management, ulimits, horizontal scaling with Redis

Reference Documentation

Complete documentation is available in the references/ directory:

FileContent
laravel-reverb.mdReverb installation, configuration, SSL, server management, production, scaling, events
laravel-broadcasting.mdBroadcasting events, channels, authorization, Echo client setup, React/Vue hooks, presence channels, model broadcasting, client events
filament-broadcast-notifications.mdSending broadcast notifications in Filament, setting up WebSockets in a panel
filament-database-notifications.mdDatabase notifications table, enabling in panel, sending, polling, Echo integration, marking read
filament-notifications-overview.mdNotification fluent API, titles, icons, statuses, duration, body, actions, URLs, Livewire events, JavaScript API

Common Tasks

Setting Up Reverb from Scratch
  1. php artisan install:broadcasting (selects Reverb)
  2. Configure .env with REVERB_* variables
  3. npm install --save-dev laravel-echo pusher-js
  4. Configure Echo in resources/js/bootstrap.js
  5. npm run build
  6. Start the queue worker: php artisan queue:work
  7. Start Reverb: php artisan reverb:start
Adding Real-time Notifications to Filament
  1. Set up Reverb (above)
  2. php artisan make:notifications-table && php artisan migrate
  3. Enable in panel: ->databaseNotifications()
  4. Publish Filament config: php artisan vendor:publish --tag=filament-config
  5. Uncomment broadcasting.echo section in config/filament.php
  6. Add VITE_* entries to .env
  7. Clear caches: php artisan route:clear && php artisan config:clear
  8. Send with isEventDispatched: true for real-time: Notification::make()->title('Done')->sendToDatabase($user, isEventDispatched: true)
Creating a Broadcast Event
php
<?php
namespace App\Events;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Queue\SerializesModels;
class OrderUpdated implements ShouldBroadcast
{
use SerializesModels;
public function __construct(public $order) {}
public function broadcastOn(): array
{
return [new PrivateChannel('orders.'.$this->order->id)];
}
}
Listening on the Client (Echo)
js
Echo.private(`orders.${orderId}`)
.listen('OrderUpdated', (e) => {
console.log(e.order);
});
Production Deployment Checklist
  • [ ] Nginx reverse proxy with WebSocket upgrade headers
  • [ ] Supervisor config for php artisan reverb:start
  • [ ] ulimit -n increased (10,000+ for high traffic)
  • [ ] REVERB_HOST / REVERB_PORT set to public-facing values
  • [ ] REVERB_SERVER_HOST / REVERB_SERVER_PORT set to internal values
  • [ ] Queue worker running for broadcast events
  • [ ] Redis configured if horizontal scaling needed (REVERB_SCALING_ENABLED=true)
  • [ ] ext-uv installed via PECL for 1,000+ connections

Key Gotchas

  1. Queue worker required - Broadcasting uses queued jobs. No queue worker = no broadcasts.
  2. `REVERB_HOST` vs `REVERB_SERVER_HOST` - Server vars are where Reverb binds; host vars are where Laravel sends messages (public-facing).
  3. Database transactions - Events dispatched inside transactions may fire before commit. Use ShouldDispatchAfterCommit.
  4. Custom broadcast names - If using broadcastAs(), prefix Echo listener with . to skip namespace.
  5. Filament config - Must publish and uncomment broadcasting.echo in config/filament.php.
  6. PostgreSQL - Database notifications migration must use json() not text() for the data column.
  7. UUIDs - If using UUID models, migration must use uuidMorphs('notifiable').

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/mwguerra/claude-code-plugins/reverb/badge)](https://verified-skill.com/skills/mwguerra/claude-code-plugins/reverb)

Something wrong with this skill or its page? Tell us.