CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

compose-multiplatform-patterns

Compose Multiplatform and Jetpack Compose patterns for KMP projects — state management, navigation, theming, performance, and platform-specific UI.

Quality

74%

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/compose-multiplatform-patterns/SKILL.md

The canonical home for this skill is compose-multiplatform-patterns in affaan-m/ECC

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-organized, highly actionable pattern catalog with lean, mostly executable Kotlin examples and useful anti-pattern guidance. Its weaknesses are moderate: textbook Compose knowledge occupies space a senior engineer's skill could reclaim, a few code examples have undefined pieces, and everything lives inline in one file with no progressive disclosure into reference files.

Suggestions

Split deep-dive material (full navigation setup, theming, ViewModel examples) into references/ files, keeping SKILL.md as a concise overview with clearly signaled one-level-deep links.

Complete the partial examples — define ConfirmDeleteRoute in the dialog example and give ItemListContent a minimal real body — so every snippet is copy-paste ready.

Trim or replace sections covering standard Compose knowledge (slot APIs, modifier ordering, Material 3 dynamic theming) with project-specific conventions and gotchas Claude would not already know.

DimensionReasoningScore

Conciseness

The body is lean and code-first with one-line section intros ('Use a single data class for screen state. Expose it as StateFlow and collect in Compose'), assuming Claude's competence. It is not a 5 because several sections restate textbook Compose knowledge Claude already has (slot-based APIs, modifier ordering, Material 3 dynamic theming) — those tokens could be pruned or replaced with non-obvious project conventions.

4 / 5

Actionability

Concrete, compilable Kotlin examples dominate the skill (ViewModel + StateFlow, type-safe routes with toRoute<T>(), expect/actual composables, @Immutable models, lazy-list keys). Minor gaps keep it from a 5: the ItemListContent body is an empty stub and ConfirmDeleteRoute is referenced in the dialog example but never defined.

4 / 5

Workflow Clarity

As a pattern catalog rather than a procedure, it provides a clear 'When to Activate' entry section, cleanly delineated topic sections, and an 'Anti-Patterns to Avoid' section with concrete corrections (e.g., 'LaunchedEffect(Unit) as a substitute for ViewModel init — it re-runs on configuration change'). No destructive or batch operations exist, so no validation checkpoints are required. Not a 5 because there is no guidance for choosing between competing patterns (single state object vs. event sink, when to use which).

4 / 5

Progressive Disclosure

The skill is a single ~290-line file with no bundle files at all; navigation, theming, and state-management deep-dives are all inlined where reference files could carry the bulk. Headers are clear and the sibling-skill references are well signaled, matching the 'some structure but content that should be separate is inline' anchor rather than the appropriately-split structure of a 4 or the one-level-deep reference layout of a 5.

3 / 5

Total

15

/

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.

A specific, well-scoped description that names the domain and enumerates its capability areas with good natural keywords. Its main deficiency is the complete absence of 'when to use' trigger guidance, which both caps completeness and slightly weakens its trigger function.

Suggestions

Add an explicit trigger clause, e.g. 'Use when building shared UI for Kotlin Multiplatform projects, or when the user mentions Compose, Compose Multiplatform, recomposition performance, or expect/actual UI code.'

Include natural user phrasings and synonyms such as 'recomposition', 'shared UI', 'Compose UI', and 'design system' to strengthen trigger-term coverage toward the top anchor.

Narrow the framing to the KMP/shared-UI niche (or explicitly scope the Jetpack Compose coverage) to reduce overlap risk with an Android-only Compose skill.

DimensionReasoningScore

Specificity

The description enumerates five concrete capability areas ('state management, navigation, theming, performance, and platform-specific UI') beyond just naming the domain, matching the anchor for several specific actions with minor gaps. It falls short of a 5 because capabilities are listed as noun phrases without action verbs ('Extract...', 'Fill...'), and short of the 1-2-action ceiling of a 3.

4 / 5

Completeness

The 'what' is clear (a pattern catalog with enumerated coverage areas), but the description contains no 'Use when...' clause or any equivalent explicit trigger guidance, which per the judging guidelines caps completeness at 3. It is not a 2 because the 'what' half is specific and well-scoped, not vague.

3 / 5

Trigger Term Quality

'Compose Multiplatform', 'Jetpack Compose', and 'KMP' provide good natural keyword coverage including framework-name synonyms a user would actually say. A few common natural terms are missing (e.g., 'recomposition', 'shared UI', 'Compose UI', 'design system'), which keeps it below the comprehensive synonym coverage of a 5.

4 / 5

Distinctiveness Conflict Risk

The KMP/Compose Multiplatform niche is clearly staked out with distinct framework triggers, but explicitly claiming 'Jetpack Compose' as well creates minor overlap risk with a pure-Android Compose skill — the 'mostly distinct; minor overlap risk' anchor. Not a 5 because of that overlap; not a 3 because the framework names are far more specific than generic document/file handling.

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/compose-multiplatform-patterns/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.