CtrlK
BlogDocsLog inGet started
Tessl Logo

android-compose-performance

Profile and improve Compose recomposition, layout, scrolling, startup, and rendering performance in Android apps.

67

Quality

60%

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-compose-performance/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

82%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

This is a strong description that clearly identifies its domain (Jetpack Compose performance in Android) and lists specific concrete capabilities. Its main weakness is the absence of an explicit 'Use when...' clause, which would help Claude know exactly when to select this skill. The trigger terms are excellent and naturally match what Android developers would say.

Suggestions

Add a 'Use when...' clause, e.g., 'Use when the user asks about Compose performance issues, jank, slow scrolling, recomposition counts, or Android app startup time.'

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: 'profile and improve' across five distinct areas — recomposition, layout, scrolling, startup, and rendering performance. These are concrete, well-defined performance domains in Jetpack Compose.

3 / 3

Completeness

Clearly answers 'what' (profile and improve various Compose performance areas) but lacks an explicit 'Use when...' clause or equivalent trigger guidance, which caps this dimension at 2 per the rubric.

2 / 3

Trigger Term Quality

Includes strong natural keywords users would say: 'Compose', 'recomposition', 'layout', 'scrolling', 'startup', 'rendering performance', 'Android apps'. These are terms developers naturally use when discussing Compose performance issues.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive — the combination of Jetpack Compose, Android, and specific performance domains (recomposition, layout, scrolling, startup, rendering) creates a clear niche that is unlikely to conflict with other skills.

3 / 3

Total

11

/

12

Passed

Implementation

37%

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

This skill provides some useful Kotlin code snippets for common Compose performance fixes (stable keys, remember, lambda-based offset), but falls short on its core promise of teaching how to profile and improve performance. The workflow is generic and lacks a concrete measure-fix-validate loop, and there's no guidance on actually using profiling tools (Layout Inspector, composition counts, macrobenchmarks). Much of the content covers general Compose best practices rather than performance-specific actionable steps.

Suggestions

Add a concrete profiling workflow with explicit steps: enable composition tracing, identify recomposition counts via Layout Inspector, measure with macrobenchmark, fix, re-measure to validate improvement.

Include actual profiling commands and tool usage (e.g., how to enable recomposition counts in Layout Inspector, how to set up a macrobenchmark test, how to read a systrace for jank).

Remove or significantly trim generic guidance (Guardrails, Anti-Patterns) that Claude already knows about Compose development, and replace with performance-specific diagnostic patterns.

Add a feedback loop to the workflow: measure baseline → identify hotspot → apply fix → re-measure → confirm improvement, with specific metrics to check (frame times, recomposition counts, startup time).

DimensionReasoningScore

Conciseness

The skill is reasonably concise but includes some sections that feel like filler rather than adding unique value. The Workflow and Guardrails sections are generic enough that Claude would already know most of this (e.g., 'respect accessibility semantics,' 'prefer measured performance work over premature micro-optimizations'). The Anti-Patterns section similarly states things Claude already understands.

2 / 3

Actionability

The remediation examples provide concrete, executable Kotlin snippets which is good, but the workflow steps are vague and abstract ('Identify whether the target surface is Compose, View system, or a mixed interoperability screen'). There's no concrete profiling guidance—no actual commands for using Layout Inspector, composition tracing, or macrobenchmark setup despite the skill being about profiling and improving performance.

2 / 3

Workflow Clarity

The workflow is a generic 5-step process that reads more like a UI development checklist than a performance profiling workflow. There are no validation checkpoints, no feedback loops for performance measurement (measure → identify hotspot → fix → re-measure), and the steps don't clearly sequence a performance investigation. For a skill about profiling and improving performance, the absence of a measure-fix-validate loop is a significant gap.

1 / 3

Progressive Disclosure

The skill mentions handoff skills and includes official references, which is good. However, the content is somewhat monolithic—the remediation examples, anti-patterns, and workflow are all inline when some could be split out. The references are well-signaled but the overall structure could better separate quick-start profiling from deeper optimization patterns.

2 / 3

Total

7

/

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.