Android Java development with MVVM, ViewBinding, and Espresso testing
43
31%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/android-java/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 technology stack but reads as a topic label rather than a functional skill description. It lacks concrete actions (what the skill does) and completely omits trigger guidance (when to use it). Adding specific capabilities and a 'Use when...' clause would significantly improve its utility for skill selection.
Suggestions
Add a 'Use when...' clause with explicit triggers, e.g., 'Use when the user asks about Android app development in Java, setting up MVVM architecture, creating ViewBinding layouts, or writing Espresso UI tests.'
List concrete actions the skill performs, e.g., 'Creates Android activities and fragments using MVVM pattern, sets up ViewBinding for type-safe view access, writes Espresso instrumented tests for UI validation.'
Include common keyword variations users might say, such as 'Android app', 'ViewModel', 'LiveData', 'UI testing', 'instrumented tests', or 'Android Studio project'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Android Java development) and some specific technologies (MVVM, ViewBinding, Espresso testing), but doesn't list concrete actions like 'create activities', 'write UI tests', or 'set up data binding'. It reads more like a topic list than a description of capabilities. | 2 / 3 |
Completeness | Only addresses 'what' at a high level (Android Java development with certain patterns) and completely lacks any 'when should Claude use it' guidance. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and since the 'what' is also weak, this scores a 1. | 1 / 3 |
Trigger Term Quality | Includes relevant keywords like 'Android', 'Java', 'MVVM', 'ViewBinding', and 'Espresso testing' that users might mention, but misses common variations like 'Android app', 'UI testing', 'ViewModel', 'LiveData', 'instrumented tests', or '.java files'. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of Android + Java + MVVM + ViewBinding + Espresso is fairly specific and narrows the niche, but it could still overlap with a general Android development skill or a broader Java development skill. The lack of explicit trigger guidance increases conflict risk. | 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 is essentially a comprehensive Android Java reference document rather than an actionable skill guide. While the code examples are high-quality and executable, the content is far too verbose for a SKILL.md, containing extensive boilerplate and patterns Claude already knows. It lacks any workflow guidance, validation steps, or progressive disclosure structure.
Suggestions
Drastically reduce content to project-specific conventions and decisions that differ from standard Android development - remove common patterns like singleton, callback interfaces, and basic MVVM that Claude already knows.
Add workflow sections with clear steps for common tasks (e.g., 'Adding a new feature screen', 'Running tests before PR') with validation checkpoints like lint checks and test passes.
Split detailed reference material (Gradle config, CI pipeline, lint config, code patterns) into separate linked files and keep SKILL.md as a concise overview with navigation.
Remove the anti-patterns list entirely - these are universally known Android best practices that waste token budget.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~400+ lines. Much of this is boilerplate Claude already knows (MVVM pattern, Repository pattern, ViewBinding setup, singleton pattern, basic Gradle config). The anti-patterns list at the end is entirely common knowledge for Claude. The project structure tree, while useful as a quick reference, is overly detailed. | 1 / 3 |
Actionability | All code examples are fully executable and copy-paste ready - the ViewModel, Repository, Activity, Fragment, test classes, Gradle config, CI pipeline, and lint config are all complete and concrete. No pseudocode is used. | 3 / 3 |
Workflow Clarity | There is no workflow or sequenced process described. The skill presents patterns and code snippets but never guides through a multi-step process like creating a new feature, running tests, or building. There are no validation checkpoints or feedback loops for any operation. | 1 / 3 |
Progressive Disclosure | Monolithic wall of content with no references to external files. Everything is inlined - the Gradle config, CI pipeline, lint config, all patterns, and anti-patterns could be split into separate reference files. The mention of 'Load with: base.md' suggests a multi-file system exists but nothing is linked or referenced from the body. | 1 / 3 |
Total | 6 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (583 lines); consider splitting into references/ and linking | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 9 / 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.