About fishjam
fishjam is a skill that guides developers building on Software Mansion’s hosted WebRTC platform, from platform concepts to server and client SDKs. It routes work to focused references for web, mobile, backend, REST, and stream composition, with security guidance for tokens and sandbox use.
Key features
- 01Platform concepts and REST guidance
- 02Node.js and Python server SDK guidance
- 03React and React Native client guidance
- 04Vanilla TypeScript client guidance
- 05Stream composition guidance
- 06Token and sandbox safety rules
Use cases
- 01Choosing a Fishjam SDK for a new app
- 02Building a browser or mobile client
- 03Implementing a backend with a server SDK
- 04Creating composed streams or calling REST directly
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ software-mansion-labs/ skills --skill fishjamAfter installing, type/fishjamin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/composition/inputs-and-outputs.mdrest-endpoints.mdroom-composition.mdscenes.mdtemplates.mdreferences/js-server-sdk/agent.mdclient.mdcomposition.mdexpress-fastify.mdgemini-integration.mdlivestream-and-moq.mdselective-subscriptions.mdwebhooks.mdws-notifier.mdreferences/platform/auth-model.mdglossary.mdlifecycle-flow.mdllms-and-docs.mdnotifications-taxonomy.mdnotifier-vs-webhook.mdrest-endpoints.mdroom-types.mdsandbox-vs-production.mdreferences/python-server-sdk/agent.mdclient.mdcomposition.mdfastapi.mdgemini-integration.mdlivestream-and-moq.mdnotifier.mdDetails
From the project READMEFishjam
Software Mansion's hosted WebRTC platform. Routes between platform fundamentals, the four SDKs, and compositions.
Read the references/platform/SKILL.md first for the domain model (rooms, peers, tracks, tokens, notifications). Then read the SDK sub-skill that matches what you're building. All sub-skills are in references/.
Which sub-skill do I need?
| You are writing… | Sub-skill |
|---|---|
| Anything Fishjam — start here for glossary, room types, auth, notifications, REST | references/platform/SKILL.md |
| A Node.js / Express / Fastify / Hono backend | references/js-server-sdk/SKILL.md |
| A Python / FastAPI / Flask backend | references/python-server-sdk/SKILL.md |
| A React app in a browser | references/react-client/SKILL.md |
| A React Native / Expo app for iOS or Android | references/react-native-client/SKILL.md |
| Vanilla TS / Svelte / Vue / web worker (non-React) | references/react-client/SKILL.md → ts-client-escape.md (drop to @fishjam-cloud/ts-client) |
| A composed stream: a call as a broadcast, restreaming, overlays, React templates | references/composition/SKILL.md |
| Just calling REST directly (no SDK) | references/platform/rest-endpoints.md |
A production Fishjam app always has a backend (server SDK) + a client (client SDK). For prototyping you can skip the backend with the Sandbox API — see references/platform/sandbox-vs-production.md.
Critical rules
- Management token never leaves the backend. If it leaks, regenerate it from the Dashboard.
- Peer tokens are valid for 24 hours from creation. The token is consumed during the initial WS handshake; an established session keeps running on its own. If the peer hasn't connected yet or needs to reconnect after 24h, call
refreshPeerToken/refresh_peer_tokento mint a new one. - Sandbox API URLs are dev-only. Anyone holding one can create rooms on your account — never ship in a production client build.