getstream/agent-skillsSee repository15 files

Stream Builder

The framework-agnostic Stream builder (Steps 0-7 scaffold + enhance + Video audit), being extended to support app kinds beyond web. Use ONLY when the user explicitly names 'stream-builder' or '/stream-builder'. Web React / Next.js work - 'build me a chat app', 'scaffold', 'create a new ...', 'add Chat/Video/Feeds to this app', 'integrate Video', livestreaming, video conferencing, team messaging, direct messaging, social feed - defaults to the stream-react skill, not this one. Not auto-selected for generic web build requests.

Specification
Skill ID
getstream/agent-skills/stream-builder
Publisher
getstream
Repository
agent-skills
Installs
0
Files
15
License
See repository
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

getstream/agent-skills/stream-builderInstalls these files
  • SKILL.md
  • builder-ui.md
  • enhance.md
  • references/CHAT-blueprints.md
  • references/CHAT.md
  • references/CROSS-PRODUCT.md
  • references/FEEDS-blueprints.md
  • references/FEEDS.md
  • references/MODERATION-blueprints.md
  • references/MODERATION.md
  • references/VIDEO-blueprints.md
  • references/VIDEO.md
  • references/use-cases/_use-cases.yaml
  • references/use-cases/ai-support-agent.md
  • sdk.md

What this skill tells the agent

Stream Builder - scaffold + enhance

Read first (every session): Glob ../stream/SKILL.md. If the path is empty, install with getstream skills stream (no confirmation, just run). Then Read `../stream/RULES.md` - it includes a Peer skills table for installing/invoking any other pack skills on demand.

This skill covers three flows:

  • Track A - Scaffold a new app: Steps 0-7 below. Use when the cwd is empty / new and the user said "build me a ... app".
  • Track E - Enhance an existing app: see `enhance.md`. Skips scaffold + theme; reuses the same SDK wiring and component blueprints.
  • Track F - Audit an existing integration (read-only): for "audit/review my video integration", "check my app against best practices", "is my video app production-ready?", "what am I missing before launch?". Load the Integration best-practices audit section in `references/VIDEO.md` and follow its protocol. Skip onboarding, auth, the CLI, and all build steps - this track does not scaffold, install, or run the CLI; it only reads the app and reports findings. Fix issues only if the user then asks.

Start

Track F (audit) skips this entire section. A read-only best-practices review runs no onboarding, no auth, no CLI, and none of Steps 0-7 - go straight to the Integration best-practices audit section in `references/VIDEO.md` and report findings. Only fall into the build flow below if the user asks you to fix what the audit found.

Announce the network plan once (Trust readout below), then immediately start executing Steps 0-7 - no interactive prompts at the start (the user has authorized the build by asking for it).

Trust readout (announce, then continue on the same turn - do not wait)

Before the first network command, print this verbatim to the user, then proceed straight into Step 0 without stopping for a reply:

Scaffolding now. Network calls you'll see: - npx shadcn@latest ... (Vercel) - scaffold + UI components from npm. - npm install <stream-packages> --legacy-peer-deps - Stream SDKs from npm (stream-chat-react, @stream-io/video-react-sdk, etc.). - getstream env - local CLI, no network; writes .env (gitignored by the Next.js scaffold's default; Task B verifies). Interrupt me at any point if something looks wrong. The only step that pauses for explicit consent is the optional third-party skill packs in Task A.2.

Full per-command audit (publisher, why unpinned, what each writes): section Install trust & integrity below. The user's continued silence after the readout is implicit consent for this scaffold; an objection or stop instruction aborts the run.

Shadcn/ui is always installed during Step 3. Third-party frontend skills (vercel-react-best-practices, web-design-guidelines, frontend-design) are installed only with explicit user consent - see Task A.2 for the disclosure script. If the user declines, Step 4 proceeds using Stream references only. Precedence (when the skills are present): Stream references win for SDK wiring; frontend skills guide generic React / UI polish.


Install trust & integrity

The builder runs three classes of network-touching commands. Each is listed here so a reviewer can audit before approving. (The getstream CLI itself is installed by the user from getstream.io, not by the builder.)

CommandPublisherWhy unpinnedWhat it writes
npx shadcn@latest init ... (Task A)Vercel - `shadcn-ui/ui`Scaffolder; @latest is the maintainer's documented usage. Pinning ships outdated scaffolds.Project files in cwd. Next.js scaffold's .gitignore ignores .env* by default.
npx shadcn@latest add ... (Task A.1)Vercel - same source as aboveSame scaffolder; component sync depends on registry parity.Component files under components/ui/.
npm install <stream-packages> --legacy-peer-deps (Task C)GetStream (npm) for @stream-io/* and stream-chat-react; transitive deps via standard npm trustLatest published versions of GetStream's own SDKs - same trust model as the CLI itself.Modules under node_modules/. Runtime SDKs + transitive deps.
npx skills add <github> (Task A.2)vercel-labs/agent-skills and anthropics/skillsOptional. Markdown-only skill packs; npx skills add is the published install path.Markdown files in the user's skills directory. Gated by explicit user consent in Task A.2 - never runs without an affirmative answer.
getstream env (Task B)GetStream (local CLI)n/a (local CLI, no network at this step).env in the project root with STREAM_API_KEY + STREAM_API_SECRET. Task B verifies .gitignore covers .env* before writing (Next.js scaffold's default already does). The agent never reads .env (RULES.md > Secrets).

Reviewer checklist:

  • All npx invocations resolve to the publishers listed above; substitute a different publisher and the install fails.
  • npx skills add runs only after the disclosure prompt in Task A.2 and an explicit user "yes."
  • .env is written by the Stream CLI directly, not by the agent, and is not transmitted into the conversation.
  • If the user wants to pin a specific shadcn version, replace @latest with @<version> in Tasks A and A.1.

Builder Steps

Execute phases in order (later steps depend on earlier ones). Do not run independent phases in parallel. Shell discipline (one bash -c per phase, no bash -ce, browser sign-in standalone) lives in the stream skill's `RULES.md` > Shell discipline.

Step 0: Package manager

Always use npm. Never use bun.

Step 1: Initialize the project

Run getstream init. It authenticates, then lets you select or create the org and app and writes the project credentials - follow its prompts and output. If the app uses Feeds, choose a Feeds v3 region when getstream init offers the region list (other regions default to legacy v2). If getstream isn't installed, ask the user to install it from https://getstream.io and wait - never fetch or run an install script. Browser sign-in must be its own invocation (RULES.md > Shell discipline).

Step 2: Theme pick

Ask the user which Shadcn theme they'd like before scaffolding:

Quick theme pick: I can use a random shadcn theme, or you can design your own at ui.shadcn.com/create and share the --preset value (e.g. --preset b1Gdi7z7r). Want a random one or do you have a preset?

STOP here and wait for the user's answer. Do not continue with scaffolding or any other steps until the user responds. Asking a question and continuing to work in parallel is confusing - the user misses the question as output scrolls past.

  • User provides a preset -> store it for Task A scaffold command.
  • User says random / doesn't care / wants to move on -> pick a random preset from nova, vega, maia, lyra, mira, luma.

Step 3: Scaffold + .env + SDKs + Configure - SEQUENTIALLY

Scaffold order

Order:

  1. Step 1: getstream init (auth + org/app + credentials).
  2. Step 2: Theme pick (wait for answer).
  3. Task A: Scaffold with Shadcn + Next.js using the chosen preset.
  4. Task A.1: Add base Shadcn components.
  5. Task A.2: Disclose + ask about third-party frontend skill installs; install only with user consent.
  6. Continue with Task B (.env), Task C (SDKs), Task D (CLI config).

Task A: Scaffold - scaffolds Next.js + Tailwind + Shadcn/ui (Base UI) into the current directory. Use the theme preset chosen in Step 2.

More from getstream

Use this skill in a project

Open any RiverX project, search the Skills panel for getstream/agent-skills/stream-builder, and install it in one click.

Use this skill