Expert guidance for building modern Android UIs with Jetpack Compose, covering state management, navigation, performance, and Material Design 3.
60
45%
Does it follow best practices?
Impact
81%
1.06xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/antigravity-android-jetpack-compose-expert/SKILL.mdQuality
Discovery
32%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 domain (Jetpack Compose for Android) and lists relevant topic areas, but it reads more like a course syllabus than an actionable skill description. It lacks concrete actions (verbs describing what the skill does), misses a 'Use when...' clause entirely, and uses the phrase 'Expert guidance' which is vague fluff rather than a specific capability statement.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about building Android UIs with Jetpack Compose, creating composables, handling state in Compose, or implementing Material Design 3 components.'
Replace 'Expert guidance for building' with specific concrete actions, e.g., 'Creates Compose UI layouts, implements navigation graphs, manages state with remember/ViewModel, optimizes recomposition performance, and applies Material Design 3 theming.'
Include additional natural trigger terms users might say, such as 'composable', 'recomposition', 'LazyColumn', 'Scaffold', 'ViewModel', '@Composable', or 'Kotlin UI'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Android UIs with Jetpack Compose) and lists topic areas (state management, navigation, performance, Material Design 3), but these are categories rather than concrete actions. It says 'Expert guidance' rather than specific actions like 'create composables, implement navigation graphs, optimize recomposition'. | 2 / 3 |
Completeness | Describes what it covers (Jetpack Compose guidance across several topics) but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the 'what' is also somewhat weak (topics rather than actions), so this scores a 1. | 1 / 3 |
Trigger Term Quality | Includes good keywords like 'Jetpack Compose', 'Android', 'Material Design 3', 'state management', and 'navigation', but misses common user variations like 'Compose UI', 'composable', 'recomposition', 'LazyColumn', 'ViewModel', or '@Composable'. | 2 / 3 |
Distinctiveness Conflict Risk | Jetpack Compose is a fairly specific niche, which helps distinctiveness. However, the broad terms like 'navigation', 'state management', and 'performance' could overlap with general Android development skills or other UI framework skills. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
57%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides solid, executable Kotlin code examples that demonstrate real-world Compose patterns well, which is its primary strength. However, it suffers from being a monolithic document that tries to cover too much without proper progressive disclosure, and it lacks validation checkpoints between steps. The 'When to Use This Skill' section and some framing text add tokens without adding value for Claude.
Suggestions
Remove the 'When to Use This Skill' section and the 'Overview' paragraph — these waste tokens on context Claude can infer from the content itself.
Split detailed topics (navigation, performance/recomposition, Material Design 3 theming) into separate referenced files and keep SKILL.md as a concise overview with links like '**Navigation**: See [NAVIGATION.md](NAVIGATION.md)'.
Add validation checkpoints: after project setup, include a 'verify build compiles' step; after creating the ViewModel, suggest running the app or writing a quick test to confirm state flow works.
Remove the version catalog TOML block — it's boilerplate that changes frequently and Claude can generate it; instead just list the key dependency names.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill includes some unnecessary framing ('comprehensive guide', 'When to Use This Skill' section) and the version catalog setup is verbose boilerplate Claude doesn't need. However, the code examples themselves are reasonably tight and the best practices section is efficient with its do/don't format. | 2 / 3 |
Actionability | The skill provides fully executable Kotlin code examples for state management, screen composables, and type-safe navigation. The code is copy-paste ready with realistic patterns (Hilt injection, StateFlow, collectAsStateWithLifecycle) and covers the complete flow from ViewModel to UI. | 3 / 3 |
Workflow Clarity | Steps are numbered and sequenced (setup → state management → screen composable), but there are no validation checkpoints. For a skill involving project setup and architecture, there's no guidance on verifying the setup works, no build/run verification steps, and no error recovery feedback loops between steps. | 2 / 3 |
Progressive Disclosure | The content is a monolithic wall of text with no references to external files for detailed topics like performance optimization, Material Design 3 theming, or advanced navigation patterns. Topics mentioned in the description (Material Design 3, performance optimization) are barely covered inline, and there's no signposting to deeper resources. | 1 / 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.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
636b862
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.