new-channel

Register a new WebSocket channel in Forge's src/realtime/mod.rs with app.websocket() broadcasts.

Updated Apr 14, 2026
One-click install
npx skills add https://github.com/weiloon1234/Forge-Starter --skill new-channel
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: new-channel
Source: https://github.com/weiloon1234/Forge-Starter/tree/main/.claude/skills/new-channel
Command: npx skills add https://github.com/weiloon1234/Forge-Starter --skill new-channel

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill enables developers to add a dedicated WebSocket channel beyond the pre-wired admin channels, unlocking real-time bidirectional or broadcast communications for custom use cases.

Core Features & Use Cases

  • Create and name a channel with a stable contract (scope:purpose) and optional per-room or per-user rooms.
  • Configure presence tracking, guards, and event vocabulary to control access and event flow.
  • Use cases include live chat, real-time status updates, collaborative editing, and public broadcasts.

Quick Start

Register a new channel named chat:room:{room_id} with presence enabled and user guard, then implement a handler that processes messages and optionally publishes to the channel.

Frequently Asked Questions about new-channel

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

FAQPage Schema
How do I create a new WebSocket channel for real-time chat in Rust?

You can create a real-time WebSocket channel by registering it in src/realtime/mod.rs with app.websocket() for broadcasts. Define a stable naming contract like scope:purpose, enable presence tracking, and apply auth guards to control access for live chat or collaborative editing.

What is the naming convention for registering a real-time channel?

A real-time channel uses a stable naming contract of scope:purpose, such as chat:room:{room_id}. This structure supports per-user and per-room scopes, ensuring organized publish and subscribe semantics for targeted broadcasts and live updates.

Does this WebSocket channel setup support presence tracking and auth guards?

Yes, the WebSocket channel setup supports presence tracking and auth guards. When registering the channel in your backend, you can configure presence to monitor active users and apply authorization guards to control access and manage event flow securely.

What's the best way to broadcast messages to specific rooms using WebSockets?

The best way to broadcast messages to specific rooms is using per-room scopes with app.websocket(). By registering a channel like chat:room:{room_id}, you establish publish and subscribe semantics that target broadcasts to only the clients in that specific room.

Can I use this for collaborative editing and live status updates?

Yes, you can use this real-time WebSocket channel for collaborative editing and live status updates. The channel supports bidirectional and broadcast communications, making it suitable for custom use cases like real-time chat and per-resource broadcasts.

Why do I need a dedicated WebSocket channel beyond the default admin ones?

You need a dedicated WebSocket channel beyond default admin ones to unlock real-time bidirectional or broadcast communications for custom use cases. It allows you to define specific event vocabulary, presence rules, and per-room or per-user scopes tailored to your application.