Best practices for building UI with Jetpack Compose, focusing on state hoisting, detailed performance optimizations, and theming. Use this when writing or refactoring Composable functions.
Install with Tessl CLI
npx tessl i github:new-silvermoon/awesome-android-agent-skills --skill compose-ui76
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Discovery
67%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 adequately covers when to use the skill with an explicit trigger clause, which is a strength. However, it lacks concrete action verbs and specific capabilities, instead relying on abstract concepts like 'best practices' and 'detailed performance optimizations'. Adding more natural trigger terms and specific actions would improve skill selection accuracy.
Suggestions
Replace abstract phrases like 'best practices' and 'detailed performance optimizations' with concrete actions such as 'implement state hoisting patterns', 'optimize recomposition', 'configure Material 3 themes'.
Add more natural trigger terms users might say: 'Android UI', '@Composable', 'recomposition issues', 'LazyColumn', 'Material Design', 'Compose performance'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Jetpack Compose, UI) and mentions some areas (state hoisting, performance optimizations, theming), but doesn't list concrete actions like 'create composables', 'implement lazy lists', or 'set up Material themes'. | 2 / 3 |
Completeness | Clearly answers both what (best practices for state hoisting, performance optimizations, theming) and when ('Use this when writing or refactoring Composable functions') with an explicit trigger clause. | 3 / 3 |
Trigger Term Quality | Includes relevant terms like 'Jetpack Compose', 'Composable functions', 'state hoisting', and 'theming', but misses common variations users might say like 'Android UI', 'Compose UI', 'recomposition', '@Composable', or 'Material Design'. | 2 / 3 |
Distinctiveness Conflict Risk | Fairly specific to Jetpack Compose which helps distinguish it, but 'UI', 'theming', and 'performance optimizations' could overlap with other UI framework skills (Flutter, React Native, SwiftUI). | 2 / 3 |
Total | 9 / 12 Passed |
Implementation
77%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid best-practices skill with strong actionability through concrete Kotlin examples and clear organization. The main weaknesses are minor verbosity in explanatory text and lack of progressive disclosure for advanced topics that could benefit from separate reference files.
Suggestions
Remove explanatory phrases like 'Benefit: Decouples the UI...' that explain concepts Claude already knows
Consider linking to separate reference files for deeper topics like performance profiling tools or complete theming examples
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Mostly efficient but includes some unnecessary explanatory text like 'Benefit: Decouples the UI from simple state storage' that Claude already understands. The 'Ordering matters' explanation could be tighter. | 2 / 3 |
Actionability | Provides concrete, executable Kotlin code examples for state hoisting patterns, derivedStateOf usage, and modifier application. The code snippets are copy-paste ready and demonstrate real patterns. | 3 / 3 |
Workflow Clarity | For a best-practices skill (not a multi-step process), the content is well-organized into clear, numbered sections. Each section addresses a distinct concern with unambiguous guidance. | 3 / 3 |
Progressive Disclosure | Content is reasonably structured with clear sections, but all content is inline with no references to separate files for deeper topics like performance profiling or theming details. For a skill of this scope, some advanced topics could be split out. | 2 / 3 |
Total | 10 / 12 Passed |
Validation
75%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 12 / 16 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
metadata_version | 'metadata' field is not a dictionary | Warning |
license_field | 'license' field is missing | Warning |
body_output_format | No obvious output/return/format terms detected; consider specifying expected outputs | Warning |
body_steps | No step-by-step structure detected (no ordered list); consider adding a simple workflow | Warning |
Total | 12 / 16 Passed | |
Table of Contents
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.