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.

66

Quality

81%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

63%Weight 40%Scale 1-5

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

A thorough, well-structured router body with concrete CLI commands and deterministic, ordered classification logic. Its main weaknesses are redundancy between the prose 'By task' section and the 'Pick a track' table, and that several referenced files (RULES.md, peers.yaml, peers.schema.json, sendbird-data-migration.md) are cited but not bundled.

Suggestions

Collapse the 'By task' prose section and the 'Pick a track' table into a single source of routing truth to remove the repeated precedence rules; keep one as a quick-reference table and link to it from the other.

Bundle (or inline the essentials of) the referenced files RULES.md, peers.yaml, peers.schema.json, and sendbird-data-migration.md so the one-level-deep references actually resolve.

Add one short worked routing example end-to-end (input -> matched signal -> chosen track -> invoked sub-skill) to remove residual judgment on edge cases.

DimensionReasoningScore

Conciseness

Dense and free of beginner-concept padding, but the 'By task' prose section and the 'Pick a track' table restate the same routing decisions, and precedence rules ('SDK/engine signal beats OS-target', 'peer signals take precedence over web rows', 'audit intent beats CLI check') are repeated 3-4 times - noticeable redundancy that could be tightened. Not a 4 because the repetition is more than minor; not a 2 because it never explains things Claude already knows.

3 / 5

Actionability

Concrete executable commands in the CLI table (getstream init/api/env/token/login/skills, getstream -h) and deterministic routing signals with explicit examples ('swift / .xcodeproj -> stream-swift'); an instruction-only router, so absent code is acceptable. Minor gaps: routing still requires some judgment on edge cases and no worked end-to-end example is shown.

4 / 5

Workflow Clarity

Classification is explicitly ordered ('Scan the user input for the signals below in order ... deterministic - no probes, no fetches, no CLI checks at this stage') with stated precedence rules, an explicit disambiguator step, and a clear install-if-missing -> invoke hand-off. Not a destructive/batch skill so the validation cap does not apply; falls short of 5 because precedence is restated across prose and table, which could blur the exact ordering.

4 / 5

Progressive Disclosure

References are one-level-deep and clearly signaled via markdown links ([RULES.md], [peers.yaml], [peers.schema.json], [sendbird-data-migration.md]) and content is conceptually well split, but none of these referenced files are present in the bundle (no references/scripts/assets dirs, only SKILL.md), so the disclosed material is not actually available - the structure is good yet unsupported by the bundle.

3 / 5

Total

14

/

20

Passed

Description

100%Weight 40%Scale 1-5

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

An exemplary router description: it states what the skill does, gives an explicit 'Use when...' clause, and enumerates concrete natural-language triggers and platform tokens a user would actually say. Third-person voice is maintained throughout. No fluff or over-claims.

DimensionReasoningScore

Specificity

Lists many concrete actions ('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', 'search Stream SDK documentation', 'look up ... SDK methods') with comprehensive coverage across Stream products and platforms.

5 / 5

Completeness

Explicitly answers both 'what' ('Stream router for Chat, Video, Feeds, and Moderation ... Routes to the right sub-skill') and 'when' ('Use when the user wants to ...') with concrete trigger phrases; voice is third person ('Routes to').

5 / 5

Trigger Term Quality

Comprehensive natural trigger phrases users would actually say ('list channels', 'list calls', 'show flagged messages', 'find users', 'scaffold a project', 'audit or migrate', 'install the Stream CLI') plus synonyms and platform tokens (Swift/SwiftUI/UIKit/iOS/Xcode/Android/Kotlin/React Native/Expo/Flutter).

5 / 5

Distinctiveness Conflict Risk

Clear Stream/GetStream niche with product- and platform-specific triggers tied to the getstream CLI; minimal overlap risk with unrelated skills.

5 / 5

Total

20

/

20

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: 10 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.