CtrlK
BlogDocsLog inGet started
Tessl Logo

stream

Stream router for Chat, Video, Feeds, and Moderation. Use when the user wants to build a new app with Stream, scaffold a project, add Chat/Video/Feeds/Moderation to an existing app, integrate Stream, audit or migrate an integration, build for Swift/SwiftUI/UIKit/iOS/Xcode/Android/Kotlin/React Native/Expo/Flutter, query Stream data, list channels, list calls, show flagged messages, find users, run getstream CLI commands, install the Stream CLI, set up Stream, configure moderation, search Stream SDK documentation, or look up Stream React/iOS/Android/Node/Flutter/Unity SDK methods. Routes to the right sub-skill based on the task.

73

Quality

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

SKILL.md
Quality
Evals
Security

Quality

Content

85%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured router body: actionable CLI guidance, a deterministic ordered routing procedure with disambiguation checkpoints, and clean one-level-deep progressive disclosure to detail files and sub-skills. The main weakness is conciseness — routing precedence is repeated across the 'By task' and 'Pick a track' sections, inflating the token budget without adding new information.

Suggestions

Consolidate the precedence rules that appear in both 'By task' and 'Pick a track': state each rule once (e.g. 'peer signals take precedence over web rows', 'audit wins over the CLI check row') and reference it, rather than restating it inside multiple table cells and bullets.

Tighten the long routing-table cells: move the embedded caveats (peer-signal overrides, migration-before-docs ordering) into a short 'Precedence' note above the table so each cell stays a one-line signal-to-route mapping.

Consider collapsing 'By task' and 'Pick a track' into a single canonical decision procedure, keeping the task framing as a brief index that points into the signal table, to remove the overlapping guidance.

DimensionReasoningScore

Conciseness

The body assumes Claude's intelligence (no concept explanations) and is information-dense, but precedence rules are restated across the 'By task' and 'Pick a track' sections — 'peer signals take precedence' and 'audit wins over the CLI check' each appear 2–3 times — and several table cells are paragraph-length, so it could be tightened. Not a 3 because of this redundancy; not a 1 because it is not padded with concepts Claude already knows.

2 / 3

Actionability

Concrete, copy-paste-ready guidance: a CLI command table with 'When to reach for it' columns, explicit 'getstream skills <name>' install steps, a verbatim disambiguator question, and a verbatim navigation menu. For an instruction-only router the absence of code is appropriate and the guidance is fully actionable.

3 / 3

Workflow Clarity

The routing procedure is explicit and ordered ('Scan the user's input for the signals below in order'), deterministic ('no probes, no fetches, no CLI checks at this stage'), with a clear disambiguation checkpoint ('ask one short question and wait') and an explicit install-then-invoke hand-off. No destructive batch operations require a validate-fix-retry loop here.

3 / 3

Progressive Disclosure

The body is an overview that routes to clearly-signaled, one-level-deep references (RULES.md, peers.yaml, peers.schema.json, sendbird-data-migration.md) and to sub-skills, matching the 'clear overview with well-signaled one-level-deep references' anchor. Note: the referenced bundle files were not present in the review directory to verify on disk, but the disclosure structure as written is sound.

3 / 3

Total

11

/

12

Passed

Description

100%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong router description: it states the skill's purpose concisely, enumerates concrete actions, and provides an explicit 'Use when...' trigger clause covering natural user phrasings across products and platforms. It uses third-person voice and is clearly Stream-scoped, so conflict risk is low.

DimensionReasoningScore

Specificity

Lists many concrete actions — 'build a new app', 'scaffold a project', 'add Chat/Video/Feeds/Moderation', 'list channels', 'list calls', 'show flagged messages', 'find users', 'run getstream CLI commands', 'install the Stream CLI', 'configure moderation', 'search Stream SDK documentation' — matching the 'multiple specific concrete actions' anchor.

3 / 3

Completeness

Explicitly answers both 'what' ('Stream router for Chat, Video, Feeds, and Moderation... Routes to the right sub-skill based on the task') and 'when' ('Use when the user wants to build a new app with Stream, scaffold a project, ...').

3 / 3

Trigger Term Quality

Natural user phrasings throughout ('build a new app', 'scaffold a project', 'list channels', 'list calls', 'find users', 'install the Stream CLI', 'set up Stream', 'search Stream SDK documentation') with good coverage of platform variations users actually name.

3 / 3

Distinctiveness Conflict Risk

Stream-specific tokens and third-person voice give it a clear niche unlikely to trigger for non-Stream skills; the breadth is appropriate for a router whose job is to be the entry point.

3 / 3

Total

12

/

12

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

metadata_version

'metadata.version' is missing

Warning

relative_links

Relative link issues: 9 missing

Warning

Total

13

/

16

Passed

Repository
GetStream/agent-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.