{
  "markdown": "# Stream Agent Skills\n\nGive your AI coding agent the ability to build, query, and manage [Stream](https://getstream.io) - Chat, Video, Feeds, and Moderation across React / Next.js, React Native, Swift/iOS, Android, and Flutter apps.\n\nFull documentation lives at [getstream.io/agent-skills](https://getstream.io/agent-skills/) - start with the [Quickstart](https://getstream.io/agent-skills/docs/quickstart/), or read up on [how the skills compare to MCP](https://getstream.io/agent-skills/docs/concepts/skills-vs-mcp/).\n\n## Install\n\nInstall the [Stream CLI](https://getstream.io/agent-skills/docs/installation/), then:\n\n```bash\ngetstream skills\n```\n\nWith no arguments, `getstream skills` installs the default set - the `stream` router (which includes the CLI layer), `stream-builder`, and `stream-docs`. The web pack (`stream-react`) and platform packs (`stream-swift`, `stream-android`, `stream-react-native`, `stream-flutter`, `stream-unity`, `stream-unreal`), and `stream-feeds-migration` install on demand via `getstream skills <name>` the first time a task needs them. To set up a project at the same time (auth, org/app selection, credentials), run `getstream init` instead.\n\nUse `/stream` for generic routing, or invoke a skill directly with `/stream-react`, `/stream-builder`, `/stream-docs`, `/stream-swift`, `/stream-android`, `/stream-react-native`, `/stream-flutter`, `/stream-unity`, `/stream-feeds-migration`, or `/stream-unreal`. Step-by-step instructions are in the [installation guide](https://getstream.io/agent-skills/docs/installation/).\n\n## Skills\n\nEach skill has a reference page on the docs site - the skill names below link to them.\n\n| Skill | Purpose | When to use |\n|---|---|---|\n| [`/stream`](https://getstream.io/agent-skills/docs/skills/stream/) | **Router + CLI** - classifies intent, dispatches, and runs `getstream` CLI commands | Start here; also handles data queries, app config, and onboarding |\n| [`/stream-docs`](https://getstream.io/agent-skills/docs/skills/stream-docs/) | Search live SDK documentation from getstream.io | Explicit SDK token (Chat React, Video iOS, ...), \"docs\", \"how do I ... in <framework>\" |\n| [`/stream-react`](https://getstream.io/agent-skills/docs/skills/stream-react/) | Build, enhance, audit, migrate, or migrate-from-Sendbird a React / Next.js web app - the default for all web React work | \"build me a ... app\", \"add Chat to this app\", \"audit my video integration\", \"upgrade stream-chat-react\", \"migrate from Sendbird\", `stream-chat-react`, `@stream-io/video-react-sdk`, `@stream-io/feeds-react-sdk` |\n| [`/stream-builder`](https://getstream.io/agent-skills/docs/skills/stream-builder/) | Framework-agnostic builder - scaffold a new web app, or add Chat/Video/Feeds/Moderation to an existing one | Only when named explicitly (\"use stream-builder\"); web React work routes to `/stream-react` |\n| [`/stream-swift`](https://getstream.io/agent-skills/docs/skills/stream-swift/) | Build or integrate Stream in Swift/SwiftUI/UIKit/iOS apps | Swift, SwiftUI, UIKit, iOS, Xcode |\n| [`/stream-android`](https://getstream.io/agent-skills/docs/skills/stream-android/) | Build or integrate Stream in Android/Jetpack Compose apps | Android, Jetpack Compose, Kotlin, Android Studio, Gradle |\n| [`/stream-react-native`](https://getstream.io/agent-skills/docs/skills/stream-react-native/) | Create, build, or integrate Stream Chat or Stream Video React Native in RN CLI or Expo apps | React Native, Expo, `stream-chat-react-native`, `stream-chat-expo`, `@stream-io/video-react-native-sdk`, video call, livestream, audio room, ringing |\n| [`/stream-flutter`](https://getstream.io/agent-skills/docs/skills/stream-flutter/) | Build or integrate Stream Chat in Flutter apps | Flutter, Dart, `stream_chat_flutter`, `stream_chat_flutter_core` |\n| [`/stream-unity`](https://getstream.io/agent-skills/docs/skills/stream-unity/) | Build or integrate Stream Chat and Stream Video in Unity Engine projects (C#) - Chat + Video, no Feeds | Unity, Unity Engine, Unity 6, MonoBehaviour, `.unitypackage`, `asmdef`, IL2CPP, UGUI, `IStreamChatClient`, `IStreamCall`, in-game chat, unity video call |\n| [`/stream-unreal`](https://getstream.io/agent-skills/docs/skills/stream-unreal/) | Build or integrate Stream Chat in Unreal Engine 5.7/5.8 projects (C++ and Blueprint) - Chat only | Unreal, Unreal Engine, UE5, `.uproject`, `.uplugin`, UMG, widget blueprint, `UStreamChatClientComponent`, in-game chat |\n| `/stream-feeds-migration` | Generate the v2 -> v3 Activity Feeds sync mapping from the app's own live data | \"what mapping do we need?\", v3sync, v2 to v3, feeds migration, sync mapping, `extra_context`, a migrated activity missing its text/attachments/comments |\n\nThe router (`/stream`) owns routing, the CLI layer (queries, app config, onboarding), and the cross-cutting rules in [`skills/stream/RULES.md`](skills/stream/RULES.md) (explained in [Rules Every Skill Follows](https://getstream.io/agent-skills/docs/concepts/skill-rules/)). Platform sub-skills can add their own `RULES.md`.\n\n## What gets installed\n\nThe skills are plain markdown. Installation and on-demand skill fetching run through the `getstream` CLI; the only other network touch is the optional frontend-skill packs the builder can add with your consent. The full trust model is documented in [Security and Trust](https://getstream.io/agent-skills/docs/concepts/security/).\n\n| Step | Trigger | What it does | Source |\n|---|---|---|---|\n| `getstream skills <name>` | Agent, on demand (or you) | Fetches a skill's markdown into your skills directory via the `getstream` CLI. | GitHub (`GetStream/agent-skills`) |\n| Frontend skill installs (builder only) | Agent asks first, then runs | Installs three third-party skill packs for UI scaffolding - see below. | GitHub (listed) |\n\n### Frontend skills (builder only)\n\nWhen you ask the agent to scaffold a new app or enhance an existing one via `/stream-builder`, Step 3 can install three helper skill packs. **The agent surfaces the full list and waits for your confirmation before running any install.** `/stream-react` never installs these - its builds rely on the Stream references plus Shadcn, and it only uses these packs if they are already present in the session.\n\n| Skill | Purpose | Source |\n|---|---|---|\n| `vercel-react-best-practices` | React/Next.js idioms | [`vercel-labs/agent-skills`](https://github.com/vercel-labs/agent-skills) |\n| `web-design-guidelines` | Generic UI design polish | [`vercel-labs/agent-skills`](https://github.com/vercel-labs/agent-skills) |\n| `frontend-design` | Frontend structure | [`anthropics/skills`](https://github.com/anthropics/skills) |\n\nDecline and the builder still runs - Stream reference files cover the SDK wiring; the frontend skills only tune generic UI quality. The docs skill never triggers these installs.\n\n## What your agent can do\n\n- **Scaffold a full app** - Next.js + Tailwind + Stream SDKs, wired end-to-end in one shot (`/stream-react`)\n- **Add products to existing apps** - drop Chat, Video, or Feeds into a project that's already running (`/stream-react`)\n- **Audit and migrate integrations** - review a Video integration against best practices, upgrade an SDK version from the live release guide, or migrate an existing Sendbird app to Stream Chat React (`/stream-react`)\n- **Build and extend Swift apps** - wire Stream into SwiftUI or UIKit Xcode projects with iOS-specific setup patterns (`/stream-swift`)\n- **Build and extend Android apps** - wire Stream into Jetpack Compose Android Studio / Gradle projects with Android-specific setup patterns (`/stream-android`)\n- **Build and extend React Native apps** - wire Stream Chat or Stream Video into Expo or RN CLI projects (`/stream-react-native`)\n- **Build and extend Unity games** - wire Stream Chat and Stream Video into a Unity project, build the chat and call UI on UGUI or UI Toolkit (neither SDK ships components), and get the player settings right for Android, iOS, desktop, or WebGL (`/stream-unity`)\n- **Build and extend Unreal Engine games** - wire Stream Chat into UE 5.7/5.8 C++ or Blueprint projects, drop in the shipped UMG chat widgets, and package for mobile or desktop (`/stream-unreal`)\n- **Plan a Feeds v2 -> v3 migration** - sample your v2 app's real activities and reactions and get back the sync `mapping` object, with the keys it deliberately left at their defaults (`/stream-feeds-migration`)\n- **Query live data** - \"any active calls?\", \"show flagged messages\", \"list my channels\" - natural language to the `getstream` CLI (`/stream`)\n- **Configure apps and moderation** - channel types, roles, permissions, blocklists, automod - via the `getstream` CLI (`/stream`)\n- **Answer SDK questions** - token patterns, strict mode, client/server instantiation, theme wiring (`/stream-react` or `/stream-docs`)\n- **Search live SDK docs** - ask questions about any Stream SDK, framework, or version; answers come verbatim from getstream.io with citations (`/stream-docs`)\n\n## How it works\n\nThe `/stream` router classifies intent, runs `getstream` CLI commands itself (queries, app config, onboarding), and routes building and docs to dedicated sub-skills. Platform sub-skills such as `/stream-react-native` can also be invoked explicitly.\n\n| Intent | Skill |\n|---|---|\n| Build a new web app | `stream-react` (Track A) |\n| Add a product to an existing app | `stream-react` (Track E) |\n| Audit an existing Video integration | `stream-react` (Track F) |\n| Migrate / upgrade an SDK version | `stream-react` (Track M) |\n| Migrate a web app from Sendbird | `stream-react` (Track S) |\n| Data queries, app config, and CLI operations | `stream` (CLI, built in) |\n| SDK wiring during scaffold/enhance | `stream-react` + its `sdk.md` and `references/*.md` |\n| Framework-agnostic builds, only when named explicitly | `stream-builder` |\n| Build or integrate a React Native CLI/Expo app | `stream-react-native` + its `sdk.md` and `references/*.md` |\n| Search the official SDK documentation (no CLI needed) | `stream-docs` (Track D) |\n| Build or integrate a Swift/iOS app | `stream-swift` (docs orchestrator: `docs-map.md` + `setup.md`) |\n| Build or integrate an Android app | `stream-android` + its `builder.md`, `sdk.md`, and `references/*.md` |\n| Build or integrate a Flutter app | `stream-flutter` + its `builder.md`, `sdk.md`, and `references/*.md` |\n| Build or integrate a Unity Engine project | `stream-unity` (docs orchestrator: `docs-map.md` + `setup.md` + `ui.md` + `platforms.md`) |\n| Build or integrate an Unreal Engine project | `stream-unreal` (docs orchestrator: `docs-map.md` + `setup.md` + `widgets.md` + `platforms.md`) |\n| Build or review a Feeds v2 -> v3 sync mapping | `stream-feeds-migration` (`SKILL.md` + `references/mapping-keys.md` + `scripts/fetch_sample.py`) |\n\n> **Routing precedence:** when user input contains a platform signal (e.g. `react native`, `expo`, `stream video rn`, `swift`, `ios`, `flutter`, `unity`, `unreal`), the matching platform peer wins over the web `stream-react` rows. The web pack is the default only when no platform signal is present; `stream-builder` runs only when the user names it explicitly.\n\nCross-cutting rules (secrets, login screen, strict mode, package manager, base UI, moderation Dashboard-only, ...) live once in [`skills/stream/RULES.md`](skills/stream/RULES.md) and apply to every sub-skill - see [Rules Every Skill Follows](https://getstream.io/agent-skills/docs/concepts/skill-rules/) for the rationale behind each.\n\n## Contents\n\n- [`skills/stream/`](skills/stream/) - **Router + CLI**\n  - [`SKILL.md`](skills/stream/SKILL.md) - intent classifier, CLI command index, hand-off rules\n  - [`RULES.md`](skills/stream/RULES.md) - non-negotiable rules, stated once\n  - [`peers.yaml`](skills/stream/peers.yaml) - peer manifest (names, install commands, routing signals)\n- [`skills/stream-docs/`](skills/stream-docs/) - **Docs sub-skill**\n  - [`SKILL.md`](skills/stream-docs/SKILL.md) - live documentation lookup with cited sources\n- [`skills/stream-react/`](skills/stream-react/) - **React web sub-skill** (default for web React / Next.js work)\n  - [`SKILL.md`](skills/stream-react/SKILL.md) - five tracks: scaffold (Steps 0-7), enhance, Video audit, SDK migration, Sendbird migration\n  - [`RULES.md`](skills/stream-react/RULES.md) - React/Next.js non-negotiable rules\n  - [`builder.md`](skills/stream-react/builder.md) - provisioning, use-case matching, page flow\n  - [`builder-ui.md`](skills/stream-react/builder-ui.md) - UI shell, login screen, theme, layout/sizing\n  - [`enhance.md`](skills/stream-react/enhance.md) - add Stream to an existing React app\n  - [`migrate.md`](skills/stream-react/migrate.md) - docs-driven SDK version migration (Track M)\n  - [`sendbird-migration.md`](skills/stream-react/sendbird-migration.md) - migrate a Sendbird app to Stream Chat React (Track S)\n  - [`sdk.md`](skills/stream-react/sdk.md) - cross-cutting SDK wiring patterns\n  - [`references/`](skills/stream-react/references/) - per-product setup + blueprints, `docs-map.md`, design-matching, custom-ui, Sendbird mapping tables\n- [`skills/stream-builder/`](skills/stream-builder/) - **Builder sub-skill** (explicit invocation only)\n  - [`SKILL.md`](skills/stream-builder/SKILL.md) - scaffold execution (Steps 0-7)\n  - [`builder-ui.md`](skills/stream-builder/builder-ui.md) - UI shell, login screen, theme\n  - [`enhance.md`](skills/stream-builder/enhance.md) - add Stream to an existing app\n  - [`sdk.md`](skills/stream-builder/sdk.md) - cross-cutting SDK wiring patterns\n  - [`references/`](skills/stream-builder/references/) - per-product setup, gotchas, and component blueprints\n- [`skills/stream-swift/`](skills/stream-swift/) - **Swift/iOS sub-skill** (docs orchestrator)\n  - [`SKILL.md`](skills/stream-swift/SKILL.md) - entrypoint: the `.md` docs convention, intent classifier, docs-lookup loop\n  - [`RULES.md`](skills/stream-swift/RULES.md) - Swift/iOS non-negotiable rules + curated iOS pitfalls\n  - [`docs-map.md`](skills/stream-swift/docs-map.md) - intent -> exact official iOS docs page (Chat/Video/Feeds, SwiftUI/UIKit), plus best-practices pages and a source-code/example-app fallback (SDK repos) for what the docs do not cover\n  - [`setup.md`](skills/stream-swift/setup.md) - CLI-driven credentials, install, and client-wiring flow\n  - [`push.md`](skills/stream-swift/push.md) - seamless push runbook: APNs key, CLI push-provider creation, client wiring, VoIP + CallKit\n  - [`design-matching.md`](skills/stream-swift/design-matching.md) - reproduce a reference design with the **pre-built components**: region -> `ViewFactory`/`Styles`/theming map\n  - [`custom-ui.md`](skills/stream-swift/custom-ui.md) - the **components-vs-custom** decision + how to build a livestream/bespoke surface on the low-level client + State Layer\n- [`skills/stream-react-native/`](skills/stream-react-native/) - **React Native Chat + Video sub-skill**\n  - [`SKILL.md`](skills/stream-react-native/SKILL.md) - RN/Expo intent classifier with Chat/Video product router, project detection, module pointers\n  - [`RULES.md`](skills/stream-react-native/RULES.md) - Chat and Video RN non-negotiable rules (incl. Chat + Video interop)\n  - [`credentials.md`](skills/stream-react-native/credentials.md) - API key, token, and optional requested demo-data flow\n  - [`builder.md`](skills/stream-react-native/builder.md) + [`sdk.md`](skills/stream-react-native/sdk.md) - shared RN CLI and Expo integration flow across products\n  - [`references/`](skills/stream-react-native/references/) - `llms.txt` docs lookup (Chat + Video manifests), Chat RN setup/blueprints, Video RN setup/blueprints (`VIDEO-REACT-NATIVE.md`, `VIDEO-REACT-NATIVE-blueprints.md`), gotchas\n- [`skills/stream-android/`](skills/stream-android/) - **Android sub-skill**\n  - [`SKILL.md`](skills/stream-android/SKILL.md) - entrypoint: intent classifier, local project detection, module pointers\n  - [`RULES.md`](skills/stream-android/RULES.md) - Android non-negotiable rules\n  - [`builder.md`](skills/stream-android/builder.md) + [`sdk.md`](skills/stream-android/sdk.md) - shared Android app integration flow and SDK ownership patterns\n  - [`references/`](skills/stream-android/references/) - product/framework-specific Android references and blueprints\n- [`skills/stream-flutter/`](skills/stream-flutter/) - **Flutter sub-skill**\n  - [`SKILL.md`](skills/stream-flutter/SKILL.md) - entrypoint: intent classifier, credentials/token flow, module pointers\n  - [`RULES.md`](skills/stream-flutter/RULES.md) - Flutter non-negotiable rules\n  - [`builder.md`](skills/stream-flutter/builder.md) + [`sdk.md`](skills/stream-flutter/sdk.md) - shared Flutter app integration flow and SDK ownership patterns\n  - [`references/`](skills/stream-flutter/references/) - product/framework-specific Flutter references and blueprints\n- [`skills/stream-unity/`](skills/stream-unity/) - **Unity Engine sub-skill** (docs orchestrator; Chat + Video)\n  - [`SKILL.md`](skills/stream-unity/SKILL.md) - entrypoint: product / Unity-version-and-target / feature-support gates, the `.md` docs convention plus the per-product coverage caveat (Unity C# vs the .NET server SDK on the same page), and the source-of-truth ladder\n  - [`RULES.md`](skills/stream-unity/RULES.md) - Unity non-negotiable rules + the pitfalls that fail silently (the `DontDestroyOnLoad` client runner and duplicate clients, `Dispose()` not disconnecting, unbound video/audio tracks, the 5-participant video cap, IL2CPP stripping)\n  - [`docs-map.md`](skills/stream-unity/docs-map.md) - intent -> exact official Unity docs page for Chat and Video, annotated with what kind of code each page carries, plus the source / samples / changelog fallback\n  - [`setup.md`](skills/stream-unity/setup.md) - version-pinned install for both SDKs (`.unitypackage` import and the UPM manifest edit), CLI credentials, and the verified minimal client wiring with correct lifecycle\n  - [`ui.md`](skills/stream-unity/ui.md) - building the UI yourself: the `ParticipantView` track-binding contract, self-preview, mobile orientation, visibility-driven subscriptions, and the Chat list / composer / typing patterns\n  - [`platforms.md`](skills/stream-unity/platforms.md) - per-target player settings, IL2CPP and managed stripping, the Newtonsoft and WebRTC conflicts, Android/iOS/desktop/WebGL, and what push does and does not do\n- [`skills/stream-feeds-migration/`](skills/stream-feeds-migration/) - **Feeds v2 -> v3 migration sub-skill**\n  - [`SKILL.md`](skills/stream-feeds-migration/SKILL.md) - the workflow: credentials into the environment, sample the v2 app, analyze, emit the `mapping` object, and state what the sample could not prove\n  - [`references/mapping-keys.md`](skills/stream-feeds-migration/references/mapping-keys.md) - the full key catalogue with defaults, id-precedence and rename resolution rules, and a worked v2-shape -> mapping-key example for each common case\n  - [`scripts/fetch_sample.py`](skills/stream-feeds-migration/scripts/fetch_sample.py) - stdlib-only sampler; reads credentials from the environment and writes `v3sync-sample.json`\n- [`skills/stream-unreal/`](skills/stream-unreal/) - **Unreal Engine sub-skill** (docs orchestrator; Chat only)\n  - [`SKILL.md`](skills/stream-unreal/SKILL.md) - entrypoint: engine-version / feature-support / C++-vs-Blueprint gates, the `.md` docs convention plus the per-page Unreal-coverage caveat, and the source-of-truth ladder\n  - [`RULES.md`](skills/stream-unreal/RULES.md) - Unreal non-negotiable rules + the pitfalls that fail silently (the `ApiKey`-before-`BeginPlay` trap, `TWeakObjectPtr` callbacks, client on the HUD, module deps)\n  - [`docs-map.md`](skills/stream-unreal/docs-map.md) - intent -> exact official Unreal docs page, annotated with which pages actually carry Unreal code, plus the plugin-header / Doxygen / sample-project fallback\n  - [`setup.md`](skills/stream-unreal/setup.md) - engine-version-aware plugin install, `Build.cs` module deps, CLI credentials, and the verified minimal client wiring\n  - [`widgets.md`](skills/stream-unreal/widgets.md) - the shipped UMG chat widgets (undocumented upstream): `WBP_*` inventory, path-loading, `Setup`-before-`AddToViewport`, context model, theming, cooking\n  - [`platforms.md`](skills/stream-unreal/platforms.md) - iOS/Android/desktop config, signing, build-vs-package, and on-device deploy + log reading\n",
  "bytes": 20321,
  "sha": "d7019991b0258887b4e3bfa715537c8bb68e9696257d28c5d0d96332b5d89032",
  "repo_slug": "getstream/agent-skills",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/skl_getstream_agent_skills_stream_3c65774c/readme"
}