Agent skill

Fishjam Platform

by software-mansion-labs in software-mansion-labs/skills

Fishjam platform fundamentals — domain model and auth shared by all SDKs.

MITAuto-check passedBackend & APIs

Install Fishjam Platform

skills CLI
$ npx skills add software-mansion-labs/skills --skill fishjam-platform -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install software-mansion-labs/skills fishjam-platform --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/software-mansion-labs/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/fishjam/references/platform .claude/skills/fishjam-platform && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
fishjam-platform
GitHub stars
291
Token cost
~1.7k tokens
SKILL.md length
631 words
Files
10
Skills in repo
20
Repo updated
First seen
Licence
MIT

At a glance

Fishjam platform fundamentals — domain model and auth shared by all SDKs.

  • Works in 5 steps: Backend → Fishjam: createPeer(roomId)… → Fishjam → Backend: returns { peer,… → Backend → Client: ships peerToken to the… → …
  • Fishjam.swmansion.com
  • SKILL.md covers Key concepts at a glance, Room types, Auth flow (5-step sketch) and Sandbox vs production, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Fishjam Platform is an agent skill from software-mansion-labs/skills. Fishjam platform fundamentals — domain model and auth shared by all SDKs. Covers glossary (room, peer, track, agent, streamer, viewer), the four room types (conference / audioonly / livestream / audioonlylivestream), two-tier auth (management vs peer tokens), Sandbox vs production, WebSocket-vs-webhook notifications and the 18-event taxonomy, REST endpoint list, and the end-to-end auth/join flow. Read this first for any Fishjam task. Trigger on: 'Fishjam', 'fishjam.io', 'fishjam.swmansion.com', 'fishjam…

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files (for example `auth-model.md`, `glossary.md` and `lifecycle-flow.md`).

It sits in Backend & APIs, covering Webhooks, Authentication and Realtime and WebSockets. It works with OpenAPI. The repository describes itself as: Software Mansion's set of skills for AI-assisted React Native development. The licence is MIT.

When your agent uses it

  • Fishjam.swmansion.com
  • Fishjam dashboard
  • Management token
  • Livestream room

Example prompts

  • “Fishjam”
  • “fishjam.io”
  • “fishjam.swmansion.com”
  • “/fishjam-platform”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Backend → Fishjam: createPeer(roomId) authenticated with the management token.
  2. Fishjam → Backend: returns { peer, peerToken }.
  3. Backend → Client: ships peerToken to the frontend (never the management token).
  4. Client → Fishjam: joinRoom({ peerToken }).
  5. Fishjam: completes the WebRTC handshake; the peer is now in the room.

What it can do on your machine

Read from SKILL.md and the folder at commit e3f00cd. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Fishjam Platform loads about 1.7k tokens when it runs. Until then it costs about 232 tokens; SKILL.md has 631 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~232
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from software-mansion-labs/skills at commit e3f00cd, republished under its MIT licence (© software-mansion-labs). 631 words, ~1,656 tokens.

Download SKILL.mdSave it as .claude/skills/fishjam-platform/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
fishjam-platform
description
Fishjam platform fundamentals — domain model and auth shared by all SDKs. Covers glossary (room, peer, track, agent, streamer, viewer), the four room types (conference / audio_only / livestream / audio_only_livestream), two-tier auth (management vs peer tokens), Sandbox vs production, WebSocket-vs-webhook notifications and the 18-event taxonomy, REST endpoint list, and the end-to-end auth/join flow. Read this first for any Fishjam task. Trigger on: 'Fishjam', 'fishjam.io', 'fishjam.swmansion.com', 'fishjam dashboard', 'management token', 'peer token', 'sandbox API', 'useSandbox', 'room manager', 'livestream room', 'audio-only room', 'conference room', 'Fishjam ID', 'room types', 'auth flow', 'webhook', 'webhookUrl', 'FishjamWSNotifier', 'FishjamNotifier', 'notifier vs webhook', 'ServerMessage', 'peerAdded', 'peerConnected', 'roomCreated', 'refreshPeerToken', 'rest endpoint', 'OpenAPI', 'llms.txt'.
license
MIT

Fishjam Platform

Software Mansion's hosted WebRTC streaming toolkit. Fishjam takes care of media servers, peer networking, and codec negotiation so applications can build video conferencing, audio chat, and one-to-many livestreaming with sub-second latency.

This sub-skill defines the domain model, auth, room types, and notifications that every SDK builds on. Read it first; then drop into the SDK sub-skill you need.

A production Fishjam app always has a backend (server SDK) + a client (client SDK). The backend mints peer tokens; the client uses them to connect. For prototyping you can skip the backend with the Sandbox API — see sandbox-vs-production.md.

Key concepts at a glance

  • Room — a collection of peers exchanging tracks. Three primary room types: conference (default, bidirectional), audio_only (75% cheaper, video silently dropped), livestream (one streamer, many viewers, <300 ms). audio_only_livestream combines the audio-only and livestream discounts.
  • Peer — a participant in a room. Can be a webrtc client, an agent (server-side program), or a vapi voice agent.
  • Track — one audio or video stream from a peer (camera, mic, screen share, etc.). One peer can publish multiple tracks.
  • Streamer / Viewer — livestream-room-specific peer roles (one streamer, many viewers).
  • Fishjam ID — your instance identifier; goes in both backend and client config.
  • Management Token — long-lived admin secret; backend only.
  • Peer Token — 24h, scoped to one peer in one room; safe for clients.

Full definitions: glossary.md.

Room types

TypeDirectionCostUse case
conferencemany ↔ manybaseMeetings, classrooms, interactive webinars
audio_onlymany ↔ many (audio only)75% offVoice rooms, podcasts, town halls
livestreamone → many20% offLive events, broadcasts, sports

audio_only_livestream is 75% off the livestream rate (equivalently, 80% off conference) — the cheapest mode for one-to-many audio.

Detail + decision matrix: room-types.md.

Auth flow (5-step sketch)

  1. Backend → Fishjam: createPeer(roomId) authenticated with the management token.
  2. Fishjam → Backend: returns { peer, peerToken }.
  3. Backend → Client: ships peerToken to the frontend (never the management token).
  4. Client → Fishjam: joinRoom({ peerToken }).
  5. Fishjam: completes the WebRTC handshake; the peer is now in the room.

Full diagram + token-refresh + livestream + MoQ tokens: auth-model.md.

Sandbox vs production

  • Sandbox API — no-auth HTTP backend hosted by Fishjam. For prototyping only. Generated URL must never be shipped in a production build (anyone with it can create rooms on your behalf).
  • Production — your own backend running a server SDK. Required for any real-world deployment.

Migration recipe: sandbox-vs-production.md.

Show full SKILL.md (248 more words)Show less

Notifications: WebSocket or webhook?

Both deliver the same 18-event set surfaced by the SDKs (room/peer/track/streamer/viewer/channel lifecycle — the underlying protobuf ServerMessage carries additional oneof fields the SDKs intentionally ignore). Pick by deployment shape:

  • Long-lived worker, single process → FishjamWSNotifier / FishjamNotifier (persistent socket).
  • Serverless, scaled out, behind a load balancer → webhooks (set webhookUrl per room, decode binary protobuf).

Detail: notifier-vs-webhook.md and notifications-taxonomy.md.

Key rules

  • Management token never leaves the backend. If it leaks, regenerate it.
  • Peer tokens expire 24 hours after creation. Refresh via refreshPeerToken / refresh_peer_token if you need longer.
  • Sandbox API URL is not a secret in the cryptographic sense, but anyone holding it can create rooms — treat it like a dev credential and rotate from the Dashboard if exposed.
  • Conference is the default room type. Use audio_only for voice apps (much cheaper). Use livestream only when one peer broadcasts and others only watch.
  • Livestream rooms accept exactly one video track + one audio track. Additional tracks are silently dropped.

References

FileWhen to read
glossary.mdDefine a term (room, peer, track, agent, etc.) precisely.
room-types.mdPick conference vs audio_only vs livestream. Cost matrix. Codec defaults.
auth-model.mdToken types, lifetimes, refresh, livestream / MoQ tokens, full auth flow.
sandbox-vs-production.mdUse the Sandbox API for dev; migrate to a real backend.
notifier-vs-webhook.mdPick WebSocket notifier or webhook receiver.
notifications-taxonomy.mdAll 18 SDK-surfaced server notification events with payload shapes.
rest-endpoints.mdRaw HTTP surface — flat endpoint list, auth header, deprecation header.
lifecycle-flow.mdEnd-to-end client↔backend↔Fishjam sequence.
llms-and-docs.mdPointers to upstream docs, llms.txt, OpenAPI spec, protobuf, dashboard.

© software-mansion-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 9 other files in skills/fishjam/references/platform of software-mansion-labs/skills.

  • SKILL.md
  • auth-model.md
  • glossary.md
  • lifecycle-flow.md
  • llms-and-docs.md
  • notifications-taxonomy.md
  • notifier-vs-webhook.md
  • rest-endpoints.md
  • room-types.md
  • sandbox-vs-production.md

Open the folder on GitHubat commit e3f00cd

Compare with similar skills

Fishjam Platform next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Fishjam Platform compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Fishjam Platform this skillsoftware-mansion-labs/skills291—~1.7kAutomated safety check: PassMIT
FastAPI ExpertJeffallan/claude-skills12k—~1.8kAutomated safety check: PassMIT
Inngest APImajiayu000/claude-skill-registry6661 repos~1.2kAutomated safety check: PassMIT
Use Yaakmountain-loop/yaak19k—~1.9kAutomated safety check: PassMIT
Soundcloud API Integrationsoundcloud/api258—~787Automated safety check: PassNone
NestJS ExpertJeffallan/claude-skills12k—~2kAutomated safety check: PassMIT

Similar skills

  • FastAPI Expert

    Jeffallan/claude-skills

    Builds async Python APIs with FastAPI and Pydantic V2, covering endpoints, JWT authentication, async SQLAlchemy, WebSockets and pytest checks against the OpenAPI docs.

    12k GitHub stars~1.8k tokensUpdated 5 days ago
    Backend & APIsAuto-check passed
  • Inngest API

    majiayu000/claude-skill-registry

    A skill your agent uses when the user explicitly asks for the Inngest REST API v2, raw HTTP, OpenAPI, API docs, API authentication, or an endpoint that the Inngest CLI does not expose.

    666 GitHub starsUsed in 1 repo~1.2k tokens
    Backend & APIsAuto-check passed
  • Use Yaak

    mountain-loop/yaak

    A skill your agent uses when the user mentions Yaak, a Yaak workspace, or the yaak command, or asks to call, hit, or smoke test HTTP/REST endpoints, save or organize API requests for reuse or manual…

    19k GitHub stars~1.9k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Integrates applications with the SoundCloud HTTP API using OAuth 2.1, OpenAPI, and developer docs.

    258 GitHub stars~787 tokensUpdated 8 days ago
    Backend & APIsAuto-check passed
  • NestJS Expert

    Jeffallan/claude-skills

    Scaffolds NestJS modules, controllers, services, DTOs and guards for TypeScript backends, with validation, JWT and Passport auth, Swagger docs and unit and E2E tests.

    12k GitHub stars~2k tokensUpdated 5 days ago
    Backend & APIsAuto-check passed
  • Inngest API CLI

    Asymmetric-al/core

    A skill your agent uses when operating Inngest API resources from the terminal with npx inngest-cli@latest api: Cloud/local run debugging, event-run lookup, function traces, function invocation, app…

    381 GitHub stars~2.6k tokensUpdated today
    Backend & APIsAuto-check passed

More from software-mansion-labs/skills

All 20 skills in this repo
  • Detour Onboarding

    software-mansion-labs/skills

    Complete onboarding guide for developers who are new to Detour, the open-source deferred deep linking SDK by Software Mansion.

    291 GitHub stars~2.8k tokensUpdated 10 days ago
    Auto-check passed
  • Typegpu

    software-mansion-labs/skills

    TypeGPU is type-safe WebGPU in TypeScript. An agent skill from software-mansion-labs/skills.

    291 GitHub starsUsed in 2 repos~5.6k tokens
    Auto-check passed
  • Enable Worklets Bundle Mode

    software-mansion-labs/skills

    Enable react-native-worklets Bundle Mode (imports inside worklets, third party libraries on worklet runtimes) in an Expo, RN CLI or brownfield React Native app, including the mandatory…

    291 GitHub stars~4k tokensUpdated 10 days ago
    Auto-check passed
  • Moq Kit

    software-mansion-labs/skills

    Software Mansion's moq-kit — native Swift (iOS) and Kotlin (Android) SDKs for Media over QUIC (moq-lite) live streaming: sub-second-latency playback, camera/microphone/screen publishing, and…

    291 GitHub stars~5k tokensUpdated 10 days ago
    Auto-check passed
  • React Native Moq

    software-mansion-labs/skills

    Software Mansion's react-native-moq — Media over QUIC (MoQ) live streaming for React Native: sub-second-latency video/audio playback, camera/mic/screen publishing, and realtime data tracks over a…

    291 GitHub stars~1.6k tokensUpdated 10 days ago
    Auto-check passed
  • Expo Horizon

    software-mansion-labs/skills

    Software Mansion's guide for migrating Expo SDK apps to Meta Quest using expo-horizon packages.

    291 GitHub stars~2.8k tokensUpdated 10 days ago
    Auto-check passed

Works with

Categories

Questions about Fishjam Platform

What does Fishjam Platform do?

Fishjam platform fundamentals — domain model and auth shared by all SDKs. Fishjam Platform is an agent skill from software-mansion-labs/skills. Fishjam platform fundamentals — domain model and auth shared by all SDKs.

When should I use Fishjam Platform?

Fishjam Platform fits situations like: fishjam.swmansion.com; fishjam dashboard; management token; livestream room.

How do I install Fishjam Platform in Claude Code?

Run `npx skills add software-mansion-labs/skills --skill fishjam-platform -a claude-code`. Or copy the skill folder (skills/fishjam/references/platform in software-mansion-labs/skills) into .claude/skills/fishjam-platform in your project. Claude Code loads it when a task matches its description.

How do I install Fishjam Platform in Codex?

Run `npx skills add software-mansion-labs/skills --skill fishjam-platform -a codex`. Or copy the skill folder (skills/fishjam/references/platform in software-mansion-labs/skills) into .agents/skills/fishjam-platform in your project. Codex loads it when a task matches its description.

Can I use Fishjam Platform in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add software-mansion-labs/skills --skill fishjam-platform -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fishjam-platform, .gemini/skills/fishjam-platform, .github/skills/fishjam-platform and .opencode/skills/fishjam-platform in your project.

What does Fishjam Platform need to run?

SKILL.md names no scripts, command-line tools or credentials: Fishjam Platform is instructions for the agent only.

Does Fishjam Platform access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Fishjam Platform safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Fishjam Platform use?

Fishjam Platform is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Fishjam Platform use?

About 1.7k tokens (SKILL.md is roughly 6.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Fishjam Platform?

Skills that share tags, products or a category with Fishjam Platform: FastAPI Expert (Jeffallan/claude-skills, 12k stars), Inngest API (majiayu000/claude-skill-registry, 666 stars), Use Yaak (mountain-loop/yaak, 19k stars) and Soundcloud API Integration (soundcloud/api, 258 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Fishjam Platform?

software-mansion-labs (a GitHub organization) maintains it in software-mansion-labs/skills, which has 291 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on September 28, 2026.

Source: software-mansion-labs/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.