What problem does it solve? Adding realtime multiplayer to a web app usually means running a stateful WebSocket server that relays every message, adding latency and per-tick server cost. This Skill connects every user directly to every other user through native WebRTC data channels in a full mesh, so game traffic never touches a server and a tiny relay at /api/rtc only brokers the connection handshake. ## Core Features & Use Cases - Full-mesh WebRTC rooms: The P2PRoom primitive joins a rendezvous room and opens data channels to every peer, with unreliable broadcast() for game-rate state and reliable send() for exactly-once events. - DB-backed signaling relay: Copy-paste server files mount a GET poll / POST signal endpoint at /api/rtc that self-creates its tables, prunes stale peers, and works on serverless deployments. - React binding and diagnostics: An optional useP2PRoom hook plus per-peer connectionState, RTT, and candidate-type diagnostics for surfacing NAT failures in the UI. - Use Case: Build a 2-8 player co-op party game or shared-cursor drawing app where all visitors on the same domain automatically play together with browser-to-browser latency of 5-40ms. ## Quick Start Ask the AI to add peer-to-peer multiplayer to the app using the multiplayer-p2p skill, creating the signaling relay and /api/rtc route, then join a room with P2PRoom and broadcast player positions.