CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

stream-android

Build, integrate, and review Stream Chat, Video, and Feeds in Android apps. Use for Jetpack Compose, Android Studio, and Gradle project work - including Stream package setup, auth and token wiring, screen blueprints, read-only integration reviews before going live, AI assistants, voice agents and LLM chat (ChatGPT-style apps, streaming replies, thinking indicators, stop generating, tool calls, generative UI) with stream-chat-android-ai-compose and Stream Agents, and any follow-up Stream UI work such as adding screens, navigating between channel list and channel/message screens, channel tap handling, deep links, push routing, theming, custom channel/message UI, video calling flows (joining/starting calls, ringing, custom call controls and participant tiles), and Feeds surfaces (timeline, activity composer, threaded comments, follow graph / profile, notification feed, stories).

1.66x
Quality

85%

Does it follow best practices?

Impact

100%

1.66x

2 of 3 eval scenarios. Add 1 more for a full score.

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

71%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-designed router skill with an explicit intent classifier, enforced step ordering, and a copy-paste-ready project probe. Its main weaknesses are two long flag sections that duplicate content belonging in their referenced files, verification phases that name checks without giving commands, and numerous body references to files that are absent from the provided bundle.

Suggestions

Compress the "Migration flag" and "Styling-depth flag" sections to 1-2 sentences each plus the file link, moving the detailed protocol/trap enumerations into sendbird-migration.md and design-matching.md where they belong.

Make the A4/B4 verification phases concrete: give the exact commands or checks to run (e.g., the Gradle sync command, how to confirm ChatClient lifetime) and what to do on failure.

Ensure every referenced path in the body (RULES.md, builder.md, sdk.md, credentials.md, ai-integration.md, design-matching.md, sendbird-migration.md, integration-review.md, ../stream/ai-backend-contract.md) actually exists in the bundle, or note which live in a sibling skill so navigation never hits a missing file.

DimensionReasoningScore

Conciseness

The routing tables, ordering rules, and probe command are lean and assume Claude's competence, but the "Migration flag" and "Styling-depth flag" paragraphs (~550 words combined) restate detail that belongs in sendbird-migration.md and design-matching.md (e.g., the §3.5 gap-handling protocol, composite-slot traps, region checklists). This fits "mostly efficient but includes some unnecessary explanation or could be tightened"; not 2 because the padding is confined to two sections rather than being pervasive.

3 / 5

Actionability

For a router-style instruction skill, the guidance is fully executable: a copy-paste-ready bash probe command, an exact decision table mapping input signals to tracks, explicit once-per-session and skip rules, a verbatim disambiguation question, and a concrete recovery rule ("If a track A/B/D task reaches code work and credentials haven't been collected yet, return to credentials.md"). Specific direction covers the common cases.

5 / 5

Workflow Clarity

The sequence is explicit and enforced (Step 0 classifier -> Step 0.5 credentials -> project signals -> track phases A1-A4/B1-B4) with named verification checkpoints ("Confirm Gradle sync, ChatClient lifetime, auth, and first rendered screen") and a build/compare/iterate loop in the styling flag. Not 5 because the verify phases describe what to confirm without any concrete check command or failure-recovery guidance, leaving validation somewhat implicit.

4 / 5

Progressive Disclosure

The router pattern is good in principle - one-level-deep, clearly signaled links to references/ files that all exist (CHAT-COMPOSE.md, DOCS.md, etc.) with a documented naming scheme - but scoring against the actual bundle, eight-plus referenced paths (RULES.md, builder.md, sdk.md, credentials.md, ai-integration.md, design-matching.md, sendbird-migration.md, integration-review.md, ../stream/ai-backend-contract.md) are not present, and substantial content that belongs in those files is inlined in the migration/styling flag sections. Not 4 because dangling referenced paths plus inlined detail exceed "minor organization gaps".

3 / 5

Total

15

/

20

Passed

Description

96%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, information-dense description that explicitly states what the skill does and when to use it, with unusually thorough natural-language trigger coverage including AI/voice-agent vocabulary. The only weakness is the unqualified "Use for Jetpack Compose, Android Studio, and Gradle project work" trigger, which risks firing on non-Stream Android work.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions ("Build, integrate, and review", "Stream package setup, auth and token wiring, screen blueprints, read-only integration reviews", "video calling flows (joining/starting calls, ringing, custom call controls and participant tiles)") with comprehensive coverage across Chat, Video, Feeds, and AI surfaces. It matches the anchor for multiple specific concrete actions with comprehensive coverage; no notable action gaps.

5 / 5

Completeness

It explicitly answers both questions: the "what" is "Build, integrate, and review Stream Chat, Video, and Feeds in Android apps" and the "when" is the explicit "Use for Jetpack Compose, Android Studio, and Gradle project work - including..." clause with concrete trigger phrases. This mirrors the anchor 5 example structure.

5 / 5

Trigger Term Quality

It covers natural user phrasings and synonyms extensively: "Jetpack Compose, Android Studio, and Gradle", "ChatGPT-style apps", "streaming replies", "thinking indicators", "stop generating", "ringing", "deep links", "push routing", "theming", "notification feed", "stories", plus SDK tokens like "stream-chat-android-ai-compose". Coverage of natural terms including synonyms matches the top anchor.

5 / 5

Distinctiveness Conflict Risk

The Stream/Android SDK niche is distinct with specific triggers (Stream Chat/Video/Feeds, stream-chat-android-ai-compose), but "Use for Jetpack Compose, Android Studio, and Gradle project work" is not qualified by Stream intent and could fire on generic Android/Compose requests, creating minor overlap with general Android skills. Not 5 because of that broad trigger clause; not 3 because the overall niche and triggers are clearly distinct from neighboring skills.

4 / 5

Total

19

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

relative_links

Relative link issues: 32 missing, 1 suspicious

Warning

Total

14

/

16

Passed

Repository

GetStream/agent-skills

Path

skills/stream-android/SKILL.md

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.