Litestar realtime
Opinionated first-party agent skills, plugins, subagents, slash commands, and MCP servers for the Litestar framework ecosystem — publishable to Claude Code, Gemini CLI, Codex CLI, Cursor, OpenCode, and VS Code/Copilot from a single repo.
npx -y skills add litestar-org/litestar-skills --skill litestar-realtimeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 13 stars13 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Auto-activate for @websocket, websocket_listener, websocket_stream, WebSocket, ServerSentEvent, ChannelsPlugin, AsyncPgChannelsBackend, RedisChannelsPubSubBackend, SQLSpecChannelsBackend, or fan-out. Not for polling APIs.
SKILL.md
2.4 KB, as published. Nobody here has run it
Litestar Realtime
Use this skill for WebSockets, SSE, ChannelsPlugin backends, realtime event contracts, and fan-out from workers or services.
Code Style Rules
- Use plain WebSocket handlers for one-off streams.
- Use ChannelsPlugin when dynamic topics, history, or cross-process fan-out matter.
- Choose the backend that matches the existing stack.
- Treat WebSocket auth separately from HTTP header auth constraints.
Quick Reference
- WebSocket and Channels patterns: websockets.md
- Event contract patterns: realtime-events.md
- Pair with litestar-auth-guards for socket auth.
Workflow
- Choose WebSocket, SSE, or Channels based on delivery needs.
- Define event contracts before wiring transport.
- Select a backend that fits the project stack.
- Test connection, auth, fan-out, disconnect, and error paths.
Guardrails
- Do not force Redis into a PostgreSQL-only stack just for Channels.
- Do not assume browsers can set arbitrary WebSocket headers.
- Do not publish untyped event dicts across service boundaries.
- Do not use request-scoped resources after the socket lifecycle ends.
Validation Checkpoint
- Transport choice matches the user experience.
- Event payloads are typed.
- Backend choice matches the stack.
- Auth and disconnect behavior are tested.
Example
from litestar import websocket
@websocket("/ws")
async def stream(socket: WebSocket) -> None:
await socket.accept()
await socket.send_json({"type": "ready"})
</example>
References Index
Official References
- https://docs.litestar.dev/ - Litestar documentation
- https://docs.litestar.dev/latest/reference/ - Litestar API reference