Agent skill · software engineering · getstream
stream-react-native
Builds, integrates, migrates, and audits Stream Chat, Stream Video, and Stream Feeds in React Native CLI and Expo apps. Use when scaffolding a new RN/Expo Chat, Video, or Feeds app, adding Stream to an existing RN app, upgrading a Stream SDK version (stream-chat-react-native v8 to v9, Feeds v2 to v3), migrating from Sendbird (@sendbird/chat, @sendbird/uikit-react-native), answering RN/Expo SDK how-to questions, or customizing Stream RN UI. Triggers on React Native, Expo, Expo Router, stream-chat-react-native, stream-chat-expo, @stream-io/video-react-native-sdk, @stream-io/feeds-react-native-sdk, channel list, message list, MessageComposer, threads, attachment picker, audio messages, offline support, push notifications, video call, livestream, audio room, ringing, CallContent, ParticipantView, activity/timeline/notification feed, useCreateFeedsClient, StreamFeeds, comments, reactions, follows, and theming. React Native and Expo only - not web React (use stream-react), not Moderation review UI.
Why this skill is useful
Adds executable scripts for integrating Stream Chat, Video, and Feeds in React Native apps, including migration from Sendbird and SDK upgrades.
What it needs
Requires getstream installed locally. About 10k tokens when loaded. Last updated 2026-08-05. 17 stars on the source repository.
What this skill does
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 - Exi …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills getstream/stream-react-native