recording

Implement server-side LiveKit room recording with Egress API and S3 storage.

3|Updated Feb 14, 2026
One-click install
npx skills add https://github.com/mattwoodco/skills --skill recording-mattwoodco
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: recording
Source: https://github.com/mattwoodco/skills/tree/main/skills/recording
Command: npx skills add https://github.com/mattwoodco/skills --skill recording-mattwoodco

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill enables server-side recording of LiveKit video rooms, storing the output in S3-compatible storage and maintaining detailed metadata in a PostgreSQL database.

Core Features & Use Cases

  • Composite Recording: Capture the entire room view in a single video file.
  • Track-Based Recording: Record individual participant streams separately.
  • S3 Storage: Store recordings efficiently and securely in S3-compatible object storage.
  • Metadata Tracking: Maintain a record of all recordings, including status, duration, and file location, in a PostgreSQL database.
  • Use Case: Automatically record all customer support video calls for quality assurance and training purposes, making them easily searchable and accessible via a secure download link.

Quick Start

Use the recording skill to start a composite recording of the room named 'my-meeting'.

Frequently Asked Questions about recording

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

FAQPage Schema
How do I record a LiveKit room to S3?

Record a LiveKit room to S3 by using server-side Egress API integration that captures composite or track-based video streams and stores them in S3-compatible storage. The Skill orchestrates the full recording lifecycle including start, stop, and status checks.

Can I record individual participant tracks separately in LiveKit?

Yes, recording individual participant tracks separately in LiveKit is supported via track-based recording formats. You can capture each participant stream independently, alongside composite recording that captures the entire room view in a single video file.

Does LiveKit Egress support storing recording metadata in PostgreSQL?

Storing recording metadata in PostgreSQL is supported using Drizzle ORM for database management. The integration maintains detailed records of all recordings, including status, duration, and file location, ensuring persistent metadata tracking.

What's the best way to manage the LiveKit recording lifecycle?

Managing the LiveKit recording lifecycle is handled through automated orchestration of start, stop, status checks, and deletion commands. The Skill implements robust error handling and dependency management to ensure reliable Egress recording operations.

Do I need PostgreSQL and S3 storage to use the LiveKit Egress recording?

Yes, PostgreSQL and S3-compatible storage are required for LiveKit Egress recording to function. PostgreSQL manages metadata via Drizzle ORM, while S3 handles secure file persistence, ensuring both recording output and tracking data are maintained.