Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/getstream/agent-skills/stream-react-nativenpx skills add GetStream/agent-skills --skill stream-react-nativegit clone --depth 1 https://github.com/GetStream/agent-skillsWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00238 | $0.07745 |
| Opus 5 | $0.00119 | $0.03873 |
| Sonnet 5 | $0.00048 | $0.01549 |
| Haiku 4.5 | $0.00024 | $0.00775 |
Grade A, and why
stream-react-native scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
Bash(curl -Ls https://getstream.io/chat/docs/sdk/react-native/llms.txt), How it starts
The opening of the file, as written. The whole thing — 315 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Stream React Native - skill router + execution flow
Rules: Read RULES.md once per session. Every non-negotiable React Native Chat, Video, and Feeds rule is stated there.
This file is the single entrypoint: intent classification, product selection, project detection, and module pointers for Stream Chat React Native, Stream Video React Native, and Stream Feeds React Native work.
Step 0: Intent classifier (mandatory first - never skip)
Before any tool call, decide the track from the user's input alone. Do not probe the filesystem first.
Signals -> track
| Signal in user input | Track |
|---|---|
| "Build/create/scaffold a new React Native app", "create an Expo app", "new Stream Chat RN app", "new Stream Video RN app", "new Stream Feeds RN app", empty directory + React Native/Expo Chat / Video / Feeds | A - New app |
| "Upgrade/migrate/bump a Stream SDK version", "upgrade stream-chat-react-native to v9", "migrate Chat RN to the new SDK", "v8 to v9", "bump Stream Video/Feeds", "Feeds v2 -> v3" | M - Migrate / upgrade |
"Migrate from Sendbird", "replace Sendbird with Stream", "we're switching off Sendbird", "rip out @sendbird/uikit-react-native", "convert SendbirdUIKitContainer / createGroupChannelFragment to Stream", @sendbird/chat / @sendbird/uikit-react-native / -foundation present in the target's package.json |
S - Migrate from Sendbird |
| "Add/integrate Stream Chat into this app", "wire Chat RN", "set up stream-chat-expo", "add a video call", "wire Stream Video", "set up @stream-io/video-react-native-sdk", "add an activity feed", "wire Stream Feeds", "set up @stream-io/feeds-react-native-sdk", "change/customize this Chat / Video / Feeds UI" | B - Existing app |
React Native, Expo, Expo Router, stream-chat-react-native, stream-chat-expo, @stream-io/video-react-native-sdk, @stream-io/feeds-react-native-sdk, Stream Chat RN, Stream Video RN, Stream Feeds RN, Chat React Native, Video React Native, Feeds React Native, migration |
C - Reference lookup if the user only asks how/docs; otherwise B - Existing app |
Explicit product/runtime token: Chat React Native, Chat Expo, Video React Native, Video Expo, Feeds React Native, Feeds Expo |
C - Reference lookup |
| Words "docs" or "documentation" around Stream Chat, Stream Video, or Stream Feeds React Native / Expo work | C - Reference lookup |
| "How do I {X} in React Native/Expo?", "What does {SDK component/hook/prop} do?" | C - Reference lookup |
| "Audit/review/check an existing Stream Video integration against best practices", "is my video app production-ready?", "what am I missing before launch?" | C - Reference lookup (read-only) - run the Integration best-practices audit in references/VIDEO-REACT-NATIVE.md |
| "Install Stream packages", "set up Chat RN", "set up Video RN", "set up Feeds RN", "wire auth/token flow" with no broader feature request | D - Bootstrap / setup |
| Stream Moderation review UI or any other non-Chat / non-Video / non-Feeds Stream RN product | Reject bundled scope and route to live docs only if the user wants docs |
Bare /stream-react-native with no args |
List the tracks briefly and wait |
What ships with it
20 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- builder.md 42 KB
- credentials.md 22 KB
- migrate.md 14 KB
- references/CHAT-REACT-NATIVE-blueprints.md 27 KB
- references/CHAT-REACT-NATIVE.md 22 KB
- references/design-matching.md 28 KB
- references/DOCS.md 7.0 KB
- references/FEEDS-REACT-NATIVE-blueprints.md 55 KB
- references/FEEDS-REACT-NATIVE.md 39 KB
- references/regions-chat.md 47 KB
- references/regions-feeds.md 8.0 KB
- references/regions-video.md 7.3 KB
- references/sendbird-notes.md 26 KB
- references/sendbird-symbols.tsv 92 KB
- references/SIMULATOR-VERIFICATION.md 27 KB
- references/VIDEO-REACT-NATIVE-blueprints.md 51 KB
- references/VIDEO-REACT-NATIVE.md 44 KB
- RULES.md 29 KB
- sdk.md 20 KB
- sendbird-migration.md 53 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 315 lines · 238 tokens per session scan A f01eb968cd9e
stream-react-native is a skill published in the GitHub repository GetStream/agent-skills (18 stars, last pushed 4d ago), licensed Apache-2.0. It adds 238 tokens to every session and 7,745 once invoked, about $0.0012 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
phone-harness
Control the user's phone — iPhone through the Mac's iPhone Mirroring window, or an Android over adb: open apps, tap, type, swipe, read the screen.
serve-sim-placeholder-assets
Audit and update serve-sim's Device Hub-style simulator placeholder assets from local Xcode/CoreTypes resources. Use after installing a new Xcode or macOS seed, or when iPhone, iPad, Watch, or Vision placeholder previews look wrong.
ii-app
Use this skill when you need to initialize or restart local web and mobile app projects through the bundled Rust ii-app CLI instead of calling MCP tools.
baguette
Drive iOS simulators programmatically via the baguette CLI — taps, swipes, multi-finger gestures, hardware buttons (Home / Lock / Volume / Action / Power), ASCII keyboard text, and frame capture, all without opening Xcode. Use when: (1) an agent needs to drive a booted iOS simulator from a script — tap a coordinate…
compose-graphics
Advanced Compose visuals - Material 3 Expressive motion physics, AGSL shaders (Android 13+), Canvas/DrawScope generative, graphicsLayer effects.
swiftui-graphics
Advanced SwiftUI visuals - Metal shaders (.colorEffect, .layerEffect, .distortionEffect), .visualEffect, Liquid Glass (iOS 26), Canvas, holographic and CRT effects.