CtrlK
BlogDocsLog inGet started
Tessl Logo

android-coil-compose

Use Coil in Jetpack Compose with AsyncImage, painter variants, sizing, and accessible image loading patterns.

57

Quality

48%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./.github/skills/android-coil-compose/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

54%

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 identifies a clear and specific technology niche (Coil image loading in Jetpack Compose) with good trigger terms that developers would naturally use. However, it lacks an explicit 'Use when...' clause, which is critical for Claude to know when to select this skill. The capabilities listed are more feature areas than concrete actions.

Suggestions

Add a 'Use when...' clause, e.g., 'Use when the user needs to load images in Jetpack Compose using Coil, mentions AsyncImage, or asks about image loading, caching, or placeholders in Compose.'

List more concrete actions, e.g., 'Loads remote and local images using AsyncImage and SubcomposeAsyncImage, configures placeholders and error states, applies sizing and content scaling, implements accessible contentDescription patterns.'

DimensionReasoningScore

Specificity

Names the domain (Coil in Jetpack Compose) and some actions (AsyncImage, painter variants, sizing, accessible image loading patterns), but these are more like feature areas than concrete actions. It doesn't list specific tasks like 'load remote images', 'handle placeholders', 'configure caching'.

2 / 3

Completeness

The description answers 'what' (Coil image loading in Jetpack Compose) but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per rubric guidelines, missing 'Use when' caps completeness at 2, and the 'what' is also only moderately clear, so this scores 1.

1 / 3

Trigger Term Quality

Includes strong natural keywords a developer would use: 'Coil', 'Jetpack Compose', 'AsyncImage', 'painter', 'image loading'. These are the exact terms a user working with this library would mention.

3 / 3

Distinctiveness Conflict Risk

Very specific niche: Coil library + Jetpack Compose + AsyncImage. This is unlikely to conflict with other skills due to the highly specific technology combination and named APIs.

3 / 3

Total

9

/

12

Passed

Implementation

42%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The skill is well-structured as a navigational overview with good progressive disclosure and clear references to detailed materials. However, its biggest weakness is the complete absence of concrete code examples—for a skill about using Coil in Jetpack Compose, there should be at least basic AsyncImage code snippets showing actual API usage. The workflow provides reasonable decision guidance but remains too abstract to be immediately actionable.

Suggestions

Add concrete, executable Compose code examples showing AsyncImage basic usage, rememberAsyncImagePainter usage, and proper sizing/placeholder configuration—these are the core patterns the skill teaches.

Include at least one copy-paste ready code snippet for the most common case (e.g., AsyncImage with placeholder, error state, and contentDescription) so Claude can immediately apply the pattern.

Add a concrete validation step in the workflow, such as specific checks or test commands to run after implementing image loading, rather than the abstract 'check list rendering, state churn, and visual fallbacks'.

DimensionReasoningScore

Conciseness

The content is reasonably efficient but includes some sections that are somewhat verbose for what they convey. The 'When To Use' section repeats information that could be inferred, and the workflow steps are somewhat abstract rather than dense with unique information. However, it avoids explaining basic concepts Claude already knows.

2 / 3

Actionability

The skill lacks any concrete code examples, executable snippets, or copy-paste ready patterns. It describes what to do abstractly ('Prefer AsyncImage first', 'Constrain size') but never shows actual Compose code for AsyncImage, rememberAsyncImagePainter, or any Coil API usage. The example commands reference scripts and Gradle tasks but don't show the actual image loading code.

1 / 3

Workflow Clarity

The workflow has a clear sequence of 5 steps and the done checklist provides validation checkpoints. However, the steps are abstract decision guidance rather than concrete operational steps, and there are no explicit validation/feedback loops for error recovery within the workflow itself—just a general 'check list rendering' instruction.

2 / 3

Progressive Disclosure

The skill effectively references external files (references/patterns.md, references/scenarios.md) for detailed decision guides and validation paths, keeps the main file as an overview, and clearly signals handoff to neighboring skills. References are one level deep and well-organized with clear navigation.

3 / 3

Total

8

/

12

Passed

Validation

90%

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

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

Total

10

/

11

Passed

Repository
krutikJain/android-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.