CtrlK
BlogDocsLog inGet started
Tessl Logo

stream-swift

Build, integrate, migrate to, and answer how-to questions for Stream Chat, Video, and Feeds in Swift / SwiftUI / UIKit / iOS apps - including AI assistants and agentic experiences (ChatGPT-style apps, LLM bots in chat, streaming responses, thinking indicators, client-side MCP tools) with the StreamChatAI components. Routes each request to the exact official iOS docs page, fetches it live, and applies it - with a curated setup flow, an AI integration runbook, a Sendbird -> Stream Chat migration runbook, and iOS-specific pitfalls.

86

1.11x
Quality

83%

Does it follow best practices?

Impact

98%

1.11x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

75%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.

An excellent orchestrator-style body: concrete URL conventions, dispatch tables, verbatim scripts, and a clearly sequenced Step 0 -> Setup -> Docs-lookup flow with strong grounding rules. Its weaknesses are inlined runbook detail (the styling-depth and workplace paragraphs duplicate design-matching.md/custom-ui.md content) that hurts token efficiency, and validation checkpoints that exist only for the design-matching path.

Suggestions

Move the four composite-slot traps and the region checklist out of the styling-depth paragraph into design-matching.md, keeping in SKILL.md only the routing rule and a one-line summary of the core failure mode — the paragraph currently duplicates the referenced runbook.

Trim the workplace/Liquid Glass paragraph to the routing decision (flat message row + glassy header => components job) and delegate the archetype details and factory.styles mechanism to design-matching.md.

Add an explicit validation checkpoint to the plain docs-lookup/integrate flow (e.g., confirm the fetched page matches the SDK version the project pins before applying its code, mirroring the 'read the version the project actually pins' escalation rule).

DimensionReasoningScore

Conciseness

The body is mostly efficient and contains no boilerplate explanations of concepts Claude already knows, but the ~450-word styling-depth paragraph ("A reference design is a checklist of regions (header, composer buttons, where the timestamp + read receipts sit...)" plus the four numbered traps) and the workplace/Liquid Glass paragraph inline runbook-level detail that duplicates the referenced design-matching.md and custom-ui.md. Not 2: everything inlined is curated non-obvious knowledge, not padding; not 4: several mega-paragraphs restate content already delegated to referenced files and could be tightened to routing rules.

3 / 5

Actionability

Fully executable instruction-only guidance: the exact URL convention with a concrete example ("take the page URL, drop the trailing /, add .md"), a live index table with exact URLs, "Fetch at most 3 pages per request", a verbatim citation format ("Source: [Title](https://getstream.io/...)") and "Never answer SDK specifics from training data", named escalation files ("read ViewFactory.swift (every slot) + DefaultViewFactory.swift"), and even verbatim clarifying questions. Not 4: even the ambiguity-handling paths are copy-paste ready.

5 / 5

Workflow Clarity

Clear ordered sequence: "Step 0: Classify the request (always first)" -> Setup for integrate/new app -> "Step 1: Docs lookup (every request ends here)" with numbered application steps, plus an explicit iterate loop for design work ("The match is not done until you build, run, seed data that triggers every region, compare region-by-region ... and iterate"). Not 5: validation/feedback checkpoints are only spelled out for the design-matching path — the plain docs-lookup and integrate flows have grounding rules but no verify step; not 3: the sequence is explicit and well-dispatched by mode.

4 / 5

Progressive Disclosure

One-level-deep references, each well signaled with its purpose: "RULES.md - non-negotiable rules + iOS pitfalls. Read before writing any code", the setup.md numbered flow, and a closing "What this skill no longer carries" section that enumerates every runbook. Not 5: heavy runbook detail is inlined in SKILL.md instead of living solely in the referenced files, two references point outside the skill directory ("../stream/sendbird-data-migration.md", "../stream/ai-backend-contract.md"), and none of the referenced files (RULES.md, docs-map.md, setup.md, push.md, ai-integration.md, design-matching.md, custom-ui.md, sendbird-migration.md) are present in this skill bundle to verify they resolve. Not 3: references are clearly signaled, single-level, and purpose-stated.

4 / 5

Total

16

/

20

Passed

Description

91%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 dense, highly specific third-person description that comprehensively enumerates actions, products, and natural trigger phrases with minimal conflict risk. Its only weakness is the absence of an explicit "Use when..." clause — the trigger conditions are conveyed through the mode enumeration rather than stated directly.

DimensionReasoningScore

Specificity

Lists multiple concrete actions with comprehensive coverage: "Build, integrate, migrate to, and answer how-to questions for Stream Chat, Video, and Feeds in Swift / SwiftUI / UIKit / iOS apps", "Routes each request to the exact official iOS docs page, fetches it live, and applies it", plus named deliverables ("a curated setup flow, an AI integration runbook, a Sendbird -> Stream Chat migration runbook"). Uses third person ("Routes", "fetches", "applies") so no voice penalty applies. Not 4: coverage spans all three products, both UI frameworks, and four distinct modes with named runbooks — comprehensive rather than minor gaps.

5 / 5

Completeness

The 'what' is explicit (build/integrate/migrate/how-to plus docs routing), and the 'when' is carried by the enumerated request types ("Build, integrate, migrate to, and answer how-to questions for Stream Chat, Video, and Feeds in ... iOS apps") — equivalent trigger guidance, so the missing-Use-when cap at 3 does not apply. Not 5: there is no explicit "Use when..." clause, so the 'when' could be more direct; not 3: the enumerated request types are explicit trigger guidance, not weakly implied.

4 / 5

Trigger Term Quality

Natural user phrasings are comprehensively covered with synonyms: "Stream Chat, Video, and Feeds", "Swift / SwiftUI / UIKit / iOS apps", "ChatGPT-style apps, LLM bots in chat, streaming responses, thinking indicators, client-side MCP tools", "Sendbird -> Stream Chat". A user asking to "migrate from Sendbird" or "build a ChatGPT-style app in SwiftUI" would naturally say these terms. Not 4: it covers both product names and colloquial synonyms for the AI-agent space; file extensions are not applicable to this domain.

5 / 5

Distinctiveness Conflict Risk

Clear niche with distinct triggers: "Stream Chat, Video, and Feeds", "StreamChatAI components", and "Sendbird -> Stream Chat migration runbook" are unique anchors that no generic Swift/iOS or docs skill would claim. Not 4: the Sendbird-migration and StreamChatAI phrasing makes overlap with a sibling general Swift skill essentially nil.

5 / 5

Total

19

/

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.

Validation — 13 / 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: 31 missing, 2 suspicious

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.