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.

68

Quality

83%

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

67%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 well-structured, actionable router body with a deterministic classification workflow, concrete CLI commands, and clearly signaled one-level-deep references. Its main weakness is redundancy between the 'By task' prose and the 'Pick a track' table, plus some validation detail for CLI write operations deferred to RULES.md rather than inlined.

Suggestions

Collapse the overlap between the 'By task' section and the 'Pick a track' table into a single canonical routing reference to remove duplicated precedence logic and reduce tokens.

Inline a brief validation/confirm checkpoint for the write-oriented CLI commands (getstream init/env/api) instead of relying solely on the RULES.md safety pointer, so the safety posture is visible at the point of action.

Tighten the repeated precedence call-outs (e.g. the SDK-vs-OS and peer-vs-web rules appear multiple times) into one stated rule referenced where needed.

DimensionReasoningScore

Conciseness

Mostly efficient and free of concept-explanation padding, but the 'By task' prose bullets and the 'Pick a track' table restate much of the same routing logic, and precedence rules are repeated across sections — noticeable tightening opportunity.

3 / 5

Actionability

Concrete, executable guidance throughout — specific signal-to-route mappings ('swift / .xcodeproj -> stream-swift'), a CLI command table (getstream init/api/env/token/login/skills), and deterministic ordering — with only minor gaps where it defers full usage to 'getstream -h'.

4 / 5

Workflow Clarity

The routing workflow is an explicit, ordered, deterministic classifier ('Scan the user's input for the signals below in order ... no probes, no fetches') with a disambiguator checkpoint that waits for the user; CLI write operations carry an explicit 'confirm before writing' safety posture, leaving only minor validation detail deferred to RULES.md.

4 / 5

Progressive Disclosure

Well-organized into clear sections (By task, Pick a track, Stream CLI, Sendbird migration, Quick navigation, Hand-off, Support) with one-level-deep, clearly signaled references to RULES.md, peers.yaml, peers.schema.json, and sendbird-data-migration.md; the main organization gap is the overlap between the two routing sections.

4 / 5

Total

15

/

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.

A strong, third-person description that clearly states the router's purpose and gives an exhaustive 'Use when...' trigger list with natural phrasing and platform synonyms. The only minor risk is overlap with the sibling Stream sub-skills it routes to, but that is inherent to a router and the entry-point role is explicit.

DimensionReasoningScore

Specificity

Lists many concrete actions — 'build a new app', 'scaffold a project', 'add Chat/Video/Feeds/Moderation', 'audit or migrate', 'query Stream data', 'list channels', 'list calls', 'show flagged messages', 'find users', 'run getstream CLI commands', 'install the Stream CLI', 'configure moderation', 'search Stream SDK documentation' — giving comprehensive coverage of what the router handles.

5 / 5

Completeness

Explicitly answers both: the 'what' ('Stream router for Chat, Video, Feeds, and Moderation ... Routes to the right sub-skill') and the 'when' (an explicit 'Use when the user wants to...' clause enumerating concrete trigger phrases).

5 / 5

Trigger Term Quality

Comprehensive natural phrasing users would actually say — 'list channels', 'show flagged messages', 'find users', 'scaffold a project', '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

Tightly scoped to the Stream product with distinct triggers ('Stream', 'getstream CLI', 'Chat/Video/Feeds/Moderation'); minimal conflict risk with non-Stream skills, and its router role is explicitly distinguished from the sub-skills it dispatches to.

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