CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

android-compose

Build high-performance declarative UI with Jetpack Compose. Use when writing Composable functions, optimizing recomposition, hoisting state, or working with LazyColumn and side effects; defer deep-link and navigation routing to android-navigation.

66

Quality

83%

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

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.

A well-structured, terse Compose performance skill that appropriately delegates executable examples to a real reference file and closes with a verifiable checklist. Its weaknesses are minor: redundant links to the same reference, an anti-patterns section that repeats earlier rules, and a truncated-looking canonical-anchors section with no code or recovery guidance.

Suggestions

Link references/implementation.md once (e.g., in the References section or at first mention) instead of three separate times in sections 1, 2, and References, cutting repeated link text.

Complete or remove the 'Canonical response anchors' section: either enumerate the full set of domain terms to preserve (hoist, stateless, recomposition, skip, stability) with a concrete example each, or drop the one-term stub.

Add one line of feedback-loop guidance to the Verification section, e.g., 'If `./gradlew build` fails, fix stability/preview issues and re-run before considering the task complete.'

DimensionReasoningScore

Conciseness

The body is lean and rule-styled ("NEVER pass ViewModel to stateless composables", "Use `key` in `LazyColumn` items for stable identity") and assumes Compose knowledge rather than explaining basics, but the Anti-Patterns section restates rules from sections 1-3 and references/implementation.md is linked three times, which is minor trimmable redundancy.

4 / 5

Actionability

Guidance is concrete at the API level (`@Stable`/`@Immutable` annotations, `derivedStateOf`, `LaunchedEffect`, `MaterialTheme.colorScheme`) and points to references/implementation.md, which exists and contains complete executable Kotlin examples. Not a 5 because the body itself contains no inline code or copy-paste snippets.

4 / 5

Workflow Clarity

A standards-style skill with a Verification checklist including a concrete command ("`./gradlew build` succeeds") and checkable items ("All stateless Composables have `@Preview`"). Not a 5 because there is no error-recovery guidance for what to do when a checklist item or the build fails.

4 / 5

Progressive Disclosure

The body correctly keeps rules in SKILL.md and offloads full examples to the real, one-level-deep references/implementation.md, signaled both inline ("See [implementation examples](references/implementation.md)") and in a References section. Not a 5 because the same reference is linked redundantly and the trailing "Canonical response anchors" section dangles with a single term ("hoist") and no purpose or examples.

4 / 5

Total

16

/

20

Passed

Description

87%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 description with an explicit 'Use when' trigger clause, concrete Compose-specific actions, and a rare explicit boundary statement routing navigation work elsewhere. Only mild improvements are possible around broader keyword coverage and more concrete capability framing.

DimensionReasoningScore

Specificity

"writing Composable functions, optimizing recomposition, hoisting state, or working with LazyColumn and side effects" lists several specific concrete actions in the Compose domain. Not a 5 because "Build high-performance declarative UI" is a mildly generic frame and coverage has gaps (no mention of previews, testing, or theming); well above a 3 because it names four distinct action areas.

4 / 5

Completeness

It explicitly answers both: what ("Build high-performance declarative UI with Jetpack Compose") and when ("Use when writing Composable functions, optimizing recomposition, hoisting state, or working with LazyColumn and side effects") with concrete trigger phrases, matching the anchor-5 example pattern exactly.

5 / 5

Trigger Term Quality

Natural terms an Android developer would say are present: "Composable functions", "recomposition", "hoisting state", "LazyColumn", "side effects", "Jetpack Compose". Not a 5 because common variations like "Compose UI", "Compose performance", "Jetpack", or "state hoisting" phrasings are missing; clearly above a 3 since multiple natural phrases are covered.

4 / 5

Distinctiveness Conflict Risk

It carves a clear niche (Compose UI performance/state management) and actively disambiguates against the nearest sibling skill: "defer deep-link and navigation routing to android-navigation". Trigger terms are Compose-specific with minimal conflict risk.

5 / 5

Total

18

/

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

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository

HoangNguyen0403/agent-skills-standard

Path

skills/android/android-compose/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.