CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

kotlin-coroutines-flows

Kotlin Coroutines and Flow patterns for Android and KMP — structured concurrency, Flow operators, StateFlow, error handling, and testing.

Quality

78%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/kotlin-coroutines-flows/SKILL.md

The canonical home for this skill is kotlin-coroutines-flows in affaan-m/ECC

SKILL.md
Quality
Evals
Security

Quality

Content

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

The body is a strong, code-first pattern library: executable, copy-paste-ready Kotlin examples cover the common coroutine and Flow cases, organized into clear sections with a useful anti-patterns list and cross-references to related skills. Minor improvements are possible by trimming the basic Dispatchers explanation and splitting testing detail into a reference file.

DimensionReasoningScore

Conciseness

The body is code-first with tight one-line rationale comments (e.g. "WhileSubscribed(5_000) keeps the upstream active for 5 seconds after the last subscriber leaves — survives configuration changes"), matching the efficient-with-minor-trimming anchor. It is not a 5 because the basic Dispatchers section ("CPU-intensive work" / "IO-bound work") restates knowledge Claude already has.

4 / 5

Actionability

Every section provides complete, copy-paste-ready Kotlin: coroutineScope+async parallel decomposition, stateIn/combine patterns, debounce+flatMapLatest search with catch, retryWhen exponential backoff, SharedFlow effects with Compose collection, ensureActive, try/finally cleanup, Turbine tests, and a full fake repository. This matches the anchor for fully executable examples covering the common cases.

5 / 5

Workflow Clarity

This is a pattern-library skill with no multi-step destructive or batch operations, so no validation cap applies. Sections sequence logically (concurrency → flows → dispatchers → cancellation → testing → anti-patterns) with a "When to Activate" entry list and an anti-patterns checklist. It is a 4 rather than 5 because there is no explicit decision guidance connecting the patterns into an overall workflow for choosing among them.

4 / 5

Progressive Disclosure

The single-file body is well-organized with clear section headers and a References section that clearly signals related skills (compose-multiplatform-patterns, android-clean-architecture), with no nested or buried references. It is a 4 rather than 5 because at ~280 lines with no bundle files, detail-heavy content such as the testing section could be split into a reference file, and the under-50-line single-file exception does not apply.

4 / 5

Total

17

/

20

Passed

Description

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

The description is specific and distinctive, naming the domain plus five concrete capability areas with natural trigger keywords. Its main weakness is the absence of any explicit "Use when..." trigger guidance, which caps completeness and leaves activation conditions only weakly implied by "for Android and KMP".

Suggestions

Add an explicit 'Use when...' clause, e.g. "Use when writing async Kotlin code with coroutines, or when working with Flow, StateFlow, SharedFlow, or suspend functions in Android or KMP projects."

Broaden natural trigger terms to include synonyms users commonly say, such as "suspend functions", "reactive streams", or "async/parallel loading".

Mention cancellation and dispatcher handling in the description to close the coverage gap with the body's actual content.

DimensionReasoningScore

Specificity

The description lists five specific capability areas — "structured concurrency, Flow operators, StateFlow, error handling, and testing" — which matches the anchor for several specific items with minor gaps. It is not a 5 because the items are topic nouns rather than concrete actions and coverage omits cancellation, dispatchers, and SharedFlow.

4 / 5

Completeness

The description has a clear "what" ("Kotlin Coroutines and Flow patterns for Android and KMP — structured concurrency, Flow operators, StateFlow, error handling, and testing") but no "Use when..." clause or equivalent explicit trigger guidance, which caps completeness at 3 per the rubric guidelines. "for Android and KMP" only weakly implies the "when".

3 / 5

Trigger Term Quality

"Kotlin Coroutines", "Flow", "StateFlow", "Android", and "KMP" are exactly the natural terms a user would say when needing this skill. It falls short of a 5 because common variations like "suspend functions", "reactive streams", or "async" are missing.

4 / 5

Distinctiveness Conflict Risk

"Kotlin Coroutines and Flow... for Android and KMP" carves a clear technical niche with minimal conflict risk. It is a 4 rather than 5 because closely related skills exist (the body itself cross-references compose-multiplatform-patterns and android-clean-architecture), creating minor overlap risk.

4 / 5

Total

15

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

valeriibeck-star/claude-skills

Path

skills/kotlin-coroutines-flows/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.