Android Kotlin development with Coroutines, Jetpack Compose, Hilt, and MockK testing
35
31%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/android-kotlin/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 reads more like a tag list of technologies than a functional skill description. It lacks concrete actions (what the skill actually does) and has no 'Use when...' clause to guide skill selection. The technology keywords provide some value for matching but are insufficient for Claude to confidently select this skill over alternatives.
Suggestions
Add concrete actions describing what the skill does, e.g., 'Builds Android apps using Kotlin, creates Jetpack Compose UI components, configures Hilt dependency injection, and writes MockK-based unit tests.'
Add an explicit 'Use when...' clause with trigger terms, e.g., 'Use when the user asks about Android app development, Kotlin coroutines, Compose layouts, Hilt modules, or writing Android unit tests.'
Include common user-facing terms and variations like 'Android app', 'mobile development', 'UI components', 'dependency injection', 'unit testing', '.kt files' to improve trigger term coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Android Kotlin development) and lists specific technologies (Coroutines, Jetpack Compose, Hilt, MockK testing), but does not describe concrete actions like 'create UI components', 'write unit tests', or 'set up dependency injection'. | 2 / 3 |
Completeness | Describes a rough 'what' (Android Kotlin development with specific libraries) but has no 'when' clause or explicit trigger guidance. The rubric states a missing 'Use when...' clause should cap completeness at 2, and since the 'what' is also weak (no concrete actions), this scores a 1. | 1 / 3 |
Trigger Term Quality | Includes relevant technology keywords (Kotlin, Coroutines, Jetpack Compose, Hilt, MockK) that users might mention, but misses common variations and broader terms like 'Android app', 'UI', 'dependency injection', 'unit testing', 'ViewModel', or file extensions like '.kt'. | 2 / 3 |
Distinctiveness Conflict Risk | The specific technology stack (Jetpack Compose, Hilt, MockK) provides some distinctiveness from generic coding skills, but 'Android Kotlin development' is broad enough to overlap with other Android-related skills. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
29%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill reads more like a comprehensive Android Kotlin reference document than a focused skill file. While the code examples are high-quality and executable, the content is far too verbose — including full Gradle configs, CI pipelines, and lint configurations that Claude can generate from basic knowledge. It lacks any workflow guidance, validation steps, or progressive disclosure structure, making it an inefficient use of context window space.
Suggestions
Reduce the SKILL.md to a concise overview (~50-80 lines) covering key patterns and anti-patterns, moving Gradle configs, CI/CD, and lint configs to separate referenced files like GRADLE.md, CI.md, etc.
Add a workflow section with clear sequenced steps for common tasks (e.g., 'Adding a new feature screen') with validation checkpoints like running tests and lint checks between steps.
Remove boilerplate that Claude already knows (full Gradle dependency blocks, GitHub Actions setup, project structure trees) and focus on project-specific conventions and non-obvious patterns.
Add a quick-start section at the top that summarizes the key architectural decisions and links to detailed sections, enabling progressive disclosure.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~400+ lines, including full Gradle configurations, complete project structure trees, CI/CD pipelines, and lint configs that Claude already knows or can generate. Much of this is boilerplate reference material that doesn't add unique value — Claude knows how to set up Android projects, write Gradle files, and configure GitHub Actions. | 1 / 3 |
Actionability | The code examples are fully executable and copy-paste ready — complete ViewModel implementations, repository patterns with Flow, Compose screens, test classes with MockK/Turbine, and working Gradle configurations. Every section provides concrete, runnable code rather than abstract descriptions. | 3 / 3 |
Workflow Clarity | There is no workflow or sequenced process described. The skill is a collection of code snippets and patterns organized by topic, but lacks any step-by-step guidance for creating a feature, debugging, or performing multi-step operations. There are no validation checkpoints or feedback loops. | 1 / 3 |
Progressive Disclosure | The entire skill is a monolithic wall of content with no references to external files and no layered structure. Everything from Gradle config to CI/CD to lint rules is inlined, when much of this could be split into separate reference files with the SKILL.md serving as a concise overview. | 1 / 3 |
Total | 6 / 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 | |
65efb33
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.