CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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, reasoning and tool-call steps, tool approvals, device-side 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.

79

1.31x
Quality

84%

Does it follow best practices?

Impact

100%

1.31x

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

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

81%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-architected docs-orchestrator skill with excellent actionability and a clearly sequenced, validation-heavy workflow. Its main weakness is token efficiency: several runbook-scale paragraphs (especially the styling-depth and UI-strategy sections) are inlined wholesale instead of being summarized in SKILL.md and delegated to the referenced files.

Suggestions

Collapse the styling-depth paragraph to a 3-4 line routing summary (flag detection → components vs custom decision → design-matching.md or custom-ui.md, plus the 'match is not done until verified per-region' rule) and move the composite-slot, channel-header, and composer traps into design-matching.md where they already belong.

Trim each mode bullet in Step 0 to one line of trigger phrases plus a pointer (e.g. 'AI assistant / agent → ai-integration.md, which settles StreamChatAI package choice, shape, and components'); the current bullets restate each runbook's contents in full.

Cut or compress the 'What this skill no longer carries' section — it largely restates the mode routing above and reads as changelog narration rather than guidance.

DimensionReasoningScore

Conciseness

The core orchestration content (docs convention, Step 0 classification, Step 1 lookup) is lean and assumes Claude's competence, but several massive inline paragraphs duplicate runbook detail: the ~450-word styling-depth paragraph (composite-slot traps, channel-header placement, composer relayout, bubble padding) and the AI/Sendbird mode bullets restate content that design-matching.md, ai-integration.md, and sendbird-migration.md should carry. Mostly efficient but could be tightened significantly.

3 / 5

Actionability

Fully executable for an instruction-only skill: the exact URL transformation rule with a worked example, a table of four live index URLs with page-URL shapes, concrete mode trigger phrases quoted verbatim ('add Chat to my app', 'migrate my app from Sendbird to Stream'), a 3-page fetch limit, an exact citation format, escalation paths when docs fall short, and two scripted clarifying questions leave no ambiguity about what to do.

5 / 5

Workflow Clarity

Clear sequence (Step 0 classify → Step 1 docs lookup, with Setup gated on mode) with explicit validation checkpoints: URL grounding rule (never invent paths), citation required per answer, escalation to pinned SDK source when docs fall short, and a build/run/seed/compare-region-by-region verification loop with iteration for design matching, plus explicit failure conditions ('a region left at the SDK default is a FAIL').

5 / 5

Progressive Disclosure

Good orchestrator structure: SKILL.md routes to eight clearly signaled, one-level-deep runbooks (RULES.md, setup.md, push.md, ai-integration.md, design-matching.md, custom-ui.md, sendbird-migration.md, docs-map.md), and the 'What this skill no longer carries' section explains the split. However, none of the referenced files are present in the provided bundle, and substantial runbook content (styling traps, strategy litmus tests) is inlined in SKILL.md rather than pushed down, keeping it below the top anchor.

4 / 5

Total

17

/

20

Passed

Description

83%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 highly specific, well-scoped description that names concrete actions, proprietary components, and runbooks, with strong natural trigger terms and a distinct niche. Its only gaps are an embedded rather than explicit 'Use when' clause and missing trigger surfaces the body actually supports (push/VoIP/CallKit, livestream, design-matching requests).

DimensionReasoningScore

Specificity

Multiple concrete, specific actions are named — '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 (setup flow, AI integration runbook, Sendbird migration runbook, iOS pitfalls) and named components (StreamChatAI). Dense and concrete throughout, not padded fluff.

5 / 5

Completeness

The 'what' is explicit and comprehensive (build/integrate/migrate/how-to, docs routing + live fetch + apply, curated runbooks). The 'when' is present and functional via the verb-phrase construction ('Build, integrate, migrate to, and answer how-to questions for... Stream... apps') which serves as equivalent trigger guidance, so it clears the cap-at-3 rule — but it is embedded rather than an explicit 'Use when...' clause with concrete trigger phrasing, matching the 4 anchor ('when' could be more explicit).

4 / 5

Trigger Term Quality

Strong natural-term coverage: 'Stream Chat', 'SwiftUI', 'UIKit', 'iOS', 'Sendbird', 'ChatGPT-style apps', 'LLM bots', 'streaming responses', 'thinking indicators', 'tool approvals', 'how-to'. However, the body routes several modes whose trigger phrases are absent from the description: push notifications / VoIP / CallKit, livestream, and 'make it look like WhatsApp / iMessage' design matching — a few natural terms missing, matching the 4 anchor rather than 5.

4 / 5

Distinctiveness Conflict Risk

Clear niche with minimal conflict risk: it names a specific vendor SDK (Stream Chat/Video/Feeds for Swift/iOS) and proprietary components (StreamChatAI), so it would not trigger for generic iOS, chat, or AI work. The Sendbird-migration mention only fires when the user names Stream as the target.

5 / 5

Total

18

/

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

Path

skills/stream-swift/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.