Android Kotlin development with Coroutines, Jetpack Compose, Hilt, and MockK testing
55
45%
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/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 explicit trigger guidance (when to use it). The technology keywords provide some value for matching but the description needs significant improvement to be effective for skill selection.
Suggestions
Add a 'Use when...' clause specifying trigger scenarios, e.g., 'Use when building Android apps, creating Compose UI, setting up Hilt dependency injection, or writing MockK-based tests.'
List specific concrete actions the skill enables, e.g., 'Builds Android apps using Kotlin, creates Jetpack Compose UI components, configures Hilt dependency injection modules, and writes unit tests with MockK.'
Include common user-facing trigger terms like 'Android app', 'composable', 'ViewModel', 'dependency injection', 'unit test', and file extensions like '.kt' to improve matching.
| 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 | Provides a partial 'what' (Android Kotlin development with specific libraries) but completely lacks a 'when should Claude use it' clause. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the 'what' itself is also weak (no concrete actions), warranting 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 'composable'. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of Android + Kotlin + specific libraries (Compose, Hilt, MockK) provides some distinctiveness, but 'Android Kotlin development' is broad enough to overlap with other Android-related skills. The specific library names help but don't fully resolve potential conflicts. | 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.
This skill provides high-quality, executable Android Kotlin code patterns covering the key technologies (Coroutines, Compose, Hilt, MockK). However, it's overly verbose with boilerplate that Claude already knows (full Gradle configs, CI pipelines, project structure trees), and it lacks workflow guidance for how to sequence development tasks. The content would benefit significantly from splitting detailed configs into referenced files and adding a clear development workflow.
Suggestions
Move the full Gradle configuration, GitHub Actions workflow, and detekt config into separate referenced files (e.g., GRADLE.md, CI.md) and keep only the essential patterns in the main skill
Add a development workflow section with explicit steps for creating a new feature end-to-end (e.g., 1. Define domain model → 2. Create repository interface → 3. Implement → 4. Write tests → 5. Run ./gradlew testDebugUnitTest to verify)
Trim the project structure tree to just the key directories with brief annotations, since Claude understands standard Android project layouts
Remove or significantly condense the dependency block — version numbers are time-sensitive and Claude can look these up; focus on which libraries to use and why rather than exact versions
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is quite long (~400 lines) with extensive boilerplate like full Gradle configurations, CI pipelines, and detekt configs. While each section is individually useful, the full build.gradle.kts with all dependency versions and the GitHub Actions workflow are things Claude can generate from minimal prompts. The project structure tree is also very detailed for information Claude largely knows. | 2 / 3 |
Actionability | The code examples are fully executable and copy-paste ready — ViewModel with StateFlow, Repository with Flow, Compose screens, MockK/Turbine tests, and the MainDispatcherRule. These are concrete, complete patterns that can be directly used in a project. | 3 / 3 |
Workflow Clarity | The skill presents patterns and code snippets but lacks explicit multi-step workflows with validation checkpoints. There's no guidance on the sequence of creating a new feature (e.g., define domain model → create repository interface → implement → write tests → verify). The CI section lists steps but doesn't describe a development workflow with feedback loops. | 2 / 3 |
Progressive Disclosure | The content is a monolithic wall of text with no references to external files for detailed content. The full Gradle config, CI pipeline, detekt config, and all code examples are inline. The mention of 'Load with: base.md' hints at a multi-file structure but nothing is split out or referenced for deeper exploration. | 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 | |
d4ddb03
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.