Validate Android UI behavior with Compose UI tests, Espresso-style checks, screenshot assertions, and accessibility verification.
67
60%
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-testing-ui/SKILL.mdQuality
Discovery
82%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong description that clearly identifies specific Android UI testing capabilities using well-known frameworks and techniques. The main weakness is the absence of an explicit 'Use when...' clause, which would help Claude know exactly when to select this skill. The trigger terms are excellent and naturally align with what Android developers would say.
Suggestions
Add a 'Use when...' clause such as 'Use when the user needs to write or debug Android UI tests, mentions Compose testing, Espresso, screenshot testing, or accessibility checks for Android apps.'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: Compose UI tests, Espresso-style checks, screenshot assertions, and accessibility verification. These are distinct, well-defined testing capabilities. | 3 / 3 |
Completeness | Clearly answers 'what does this do' (validate Android UI behavior with specific testing approaches), but lacks an explicit 'Use when...' clause or equivalent trigger guidance, which caps this at 2 per the rubric. | 2 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'Android', 'Compose UI tests', 'Espresso', 'screenshot assertions', 'accessibility verification', 'UI behavior'. These cover the main terms a developer would use when seeking Android UI testing help. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive with a clear niche: Android UI testing specifically with Compose, Espresso, screenshot assertions, and accessibility. Unlikely to conflict with other skills due to the specific technology stack mentioned. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
37%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill covers a reasonable scope for Android UI testing and includes some concrete code examples and gradle commands. However, the workflow is too abstract to be truly actionable, reading more like high-level principles than step-by-step guidance. The guardrails and anti-patterns sections add bulk without proportional signal, and the skill lacks validation checkpoints and error recovery flows that are critical for test execution workflows.
Suggestions
Replace the abstract 5-step workflow with concrete, sequenced steps tied to actual commands (e.g., '1. Set up test rule → 2. Write assertion → 3. Run `./gradlew connectedDebugAndroidTest` → 4. If failures, check logcat output for X → 5. Fix and re-run').
Add explicit validation/feedback loops: what does a test failure look like, how to interpret Roborazzi diff output, and what to do when screenshot baselines need updating vs when a real regression is found.
Remove or significantly trim the Guardrails and Anti-Patterns sections—most of these are general engineering wisdom that Claude already knows, not skill-specific actionable guidance.
Clarify the 'failure recovery' example: the `scripts/eval_triggers.py` command appears without explanation and doesn't clearly relate to Android UI test failure recovery.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill contains some unnecessary filler (e.g., 'Treat performance and security work as engineering tasks with evidence, not folklore', vague guardrails about 'one-off local heroics') and the anti-patterns section restates common sense. However, it's not egregiously verbose and most sections are reasonably sized. | 2 / 3 |
Actionability | The code examples are real Kotlin snippets and the gradle commands are concrete and executable, which is good. However, the workflow steps are abstract and procedural ('Scope the risk surface', 'Pick the narrowest verification strategy') rather than giving specific, executable guidance. The 'failure recovery' example references a mysterious `scripts/eval_triggers.py` with no context. Overall, a mix of concrete and vague. | 2 / 3 |
Workflow Clarity | The 5-step workflow is abstract and reads like a consulting framework rather than actionable steps. There are no validation checkpoints, no feedback loops for when tests fail, and no clear sequence connecting the code examples to the workflow steps. For a skill involving test execution (which can fail), the absence of explicit error-handling/retry guidance is a significant gap. | 1 / 3 |
Progressive Disclosure | The skill mentions handoff skills (`android-compose-accessibility`, `android-ui-states-validation`) and includes official references, showing some progressive disclosure. However, the content is somewhat monolithic with sections like Guardrails and Anti-Patterns that could be trimmed or externalized, and the references to handoff skills lack clear navigation signals (no links, just names). | 2 / 3 |
Total | 7 / 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 |
|---|---|---|
metadata_field | 'metadata' should map string keys to string values | Warning |
Total | 10 / 11 Passed | |
c5bf673
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.