CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/espresso-suite

Authors Espresso UI tests for Android - uses `onView(withId(...)).perform(...).check(matches(...))`, leans on Espresso's automatic synchronization (no `Thread.sleep`), wires `IdlingResource` for app-specific async, runs via `./gradlew connectedAndroidTest` and parses the JUnit XML output. Use when an Android app needs UI tests in Google's first-party framework.

76

Quality

95%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Overview
Quality
Evals
Security
Files

Quality

Content

87%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A lean, highly actionable body with copy-paste-ready Kotlin/Gradle/CI examples and well-organized sections. Its one weakness is workflow clarity: the run/CI steps lack an explicit failure-validation loop, capping that dimension at 2 despite otherwise excellent sequencing.

Suggestions

Add an explicit validation checkpoint after Step 6 (run): instruct to inspect `app/build/outputs/androidTest-results/.../TEST-*.xml` on failure, identify the failing test, apply the relevant Anti-patterns fix, and re-run — turning the implicit run loop into a score-3 feedback loop.

Trim the two espresso-doc blockquotes (the "concise, beautiful, reliable" marketing line and the synchronization-conditions list) to a single sentence each, since the auto-wait behavior is concept knowledge Claude already has.

Surface the orchestrator and failure-inspection guidance earlier (e.g., a one-line note in Step 6 pointing to the Anti-patterns table as the failure-triage checklist) so the validation loop is discoverable at the point of use.

DimensionReasoningScore

Conciseness

The body is token-dense and assumes Claude's competence — code blocks, package/anti-pattern tables, and a one-line distillation ("The shape: `onView(<matcher>).perform(<action>).check(<matches>)`") carry the load; the only mild padding is two brief doc pull-quotes, which is leaner than the score-2 anchor.

3 / 3

Actionability

Fully executable, copy-paste-ready material throughout — pinned dependency versions (`espresso-core:3.6.1`), a complete Kotlin test class, a working IdlingResource implementation with register/unregister, a matchers/actions reference, RecyclerView examples, and a CI yaml — matching the score-3 anchor.

3 / 3

Workflow Clarity

Steps 1-7 are clearly sequenced from setup through CI, but there is no explicit validate/fix/retry checkpoint for the batch `connectedAndroidTest` run (only an implicit gesture toward `junit-xml-analysis`); the anti-patterns table mitigates this but is not a run-time feedback loop, so the batch-operation cap holds at 2 rather than 3.

2 / 3

Progressive Disclosure

No bundle files exist, so scoring reflects the self-contained organization: clean section hierarchy (Overview → When to use → Steps 1-7 → Anti-patterns → Limitations → References) with one-level-deep, clearly signaled external/peer-skill pointers and easy navigation.

3 / 3

Total

11

/

12

Passed

Description

100%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, specific description that pairs a concrete action list (with literal API and CLI shapes) against an explicit "Use when" trigger in third-person voice. It cleanly distinguishes Espresso from sibling cross-platform testing skills.

DimensionReasoningScore

Specificity

Lists multiple concrete actions with literal forms — "uses `onView(withId(...)).perform(...).check(matches(...))`", "wires `IdlingResource`", "runs via `./gradlew connectedAndroidTest` and parses the JUnit XML output" — matching the score-3 anchor for enumerating specific concrete actions rather than vague domain references.

3 / 3

Completeness

Answers both "what" (authors/wires/runs/parses) and "when" with an explicit "Use when an Android app needs UI tests in Google's first-party framework" clause, matching the score-3 anchor; voice is correctly third person ("Authors...").

3 / 3

Trigger Term Quality

Includes natural phrasings a user would say — "Espresso UI tests for Android", "Android app needs UI tests" — alongside the framework name, giving good coverage of trigger terms rather than pure jargon.

3 / 3

Distinctiveness Conflict Risk

The Espresso + Android + Google-first-party niche with its explicit trigger is clearly distinguishable from generic or cross-platform testing skills, unlikely to fire for the wrong skill.

3 / 3

Total

12

/

12

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

Table of Contents