Expert guidance for building modern Android UIs with Jetpack Compose, covering state management, navigation, performance, and Material Design 3.
57
48%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
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 a 'Use when...' clause entirely, uses topic categories instead of concrete actions, and the phrase 'Expert guidance' is vague filler rather than a specific capability statement.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about building Android UIs, writing Compose code, implementing navigation with NavHost, or applying Material Design 3 theming.'
Replace 'Expert guidance for building modern Android UIs' with specific concrete actions, e.g., 'Creates composable functions, implements Compose navigation graphs, optimizes recomposition performance, and applies Material Design 3 theming to Android apps.'
Include additional natural trigger terms users might say, such as 'Compose UI', 'composable', 'recomposition', 'LazyColumn', 'Scaffold', 'ViewModel', or 'Kotlin Android'.
| 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 listing specific actions like 'create composables, implement navigation graphs, optimize recomposition'. | 2 / 3 |
Completeness | Describes what the skill covers at a high level 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' portion is also somewhat weak (topic areas rather than concrete actions), placing this at 1. | 1 / 3 |
Trigger Term Quality | Includes relevant keywords like 'Android', 'Jetpack Compose', 'Material Design 3', 'state management', and 'navigation' that users might naturally mention. However, it misses common variations like 'Compose UI', 'composable functions', 'recomposition', 'LazyColumn', 'ViewModel', or file extensions like '.kt'. | 2 / 3 |
Distinctiveness Conflict Risk | The mention of 'Jetpack Compose' and 'Material Design 3' provides reasonable specificity to the Android/Compose niche, but 'navigation' and 'state management' are generic enough to overlap with other mobile or frontend UI skills. Without explicit trigger conditions, there's moderate conflict risk. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
64%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, actionable skill with high-quality executable Kotlin code examples covering key Compose patterns. Its main weaknesses are moderate verbosity (boilerplate sections, explanatory text Claude doesn't need) and lack of validation checkpoints in the workflow. The content would benefit from trimming unnecessary framing and either adding verification steps or splitting advanced topics into referenced files.
Suggestions
Remove the 'When to Use This Skill' and generic 'Limitations' boilerplate sections — these consume tokens without adding actionable guidance Claude doesn't already understand.
Add validation checkpoints to the workflow, e.g., 'Build and verify the app compiles after adding dependencies' and 'Use Layout Inspector to confirm recomposition counts after implementing state management'.
Split advanced topics (performance optimization, Material Design 3 theming, migration from XML) into separate referenced files to improve progressive disclosure and keep the main skill lean.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill includes some unnecessary sections like 'When to Use This Skill' and 'Limitations' boilerplate that add little value for Claude. The 'Overview' paragraph restates the title. 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 covering project setup (libs.versions.toml), ViewModel with StateFlow, Screen composables with state collection, and type-safe navigation. Code is copy-paste ready with realistic patterns including Hilt injection and error handling. | 3 / 3 |
Workflow Clarity | Steps are numbered and sequenced (setup → state management → screen composable), but there are no validation checkpoints. For a multi-step development workflow, there's no mention of verifying the setup works, running the app, or checking for recomposition issues at each stage. The troubleshooting section partially compensates but isn't integrated into the workflow. | 2 / 3 |
Progressive Disclosure | The content is structured with clear headers and sections, but it's a monolithic file with no references to external files for deeper topics. The navigation example, performance optimization, and Material Design 3 topics mentioned in the description could benefit from separate reference files. Everything is inline in a single document. | 2 / 3 |
Total | 9 / 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 | |
431bfad
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.