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.

72

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

82%Weight 40%Scale 1-5

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

A high-quality, action-dense skill body: executable code at every step, a coherent workflow, and useful anti-pattern and limitations sections. Remaining gaps are minor — a duplicated package list, no explicit result-verification step, and reference-worthy cheat-sheet content inlined.

Suggestions

Deduplicate the Espresso package list (Step 1 table vs. the References section) and trim the synchronization-conditions quote to a single line.

Add a verification step after running, e.g. parse `app/build/outputs/androidTest-results/.../TEST-*.xml` for failures and re-run only failing tests with `--tests` filters.

Move the Step 4 matchers/actions cheat sheet into a `references/matchers.md` file and keep a few common examples inline in SKILL.md.

DimensionReasoningScore

Conciseness

The body is efficient and assumes competence (no explanation of what Android or Kotlin is), but the Espresso package list is duplicated between the Step 1 table and the References section, and the multi-bullet synchronization quote restates what the 'no Thread.sleep' claim already conveys.

4 / 5

Actionability

Everything is executable and copy-paste ready: a complete gradle dependency block, a full @Test Kotlin class with ActivityScenarioRule, a working IdlingResource implementation with register/unregister lifecycle, matcher/action cheat sheet, the run command, and a CI yaml with artifact upload.

5 / 5

Workflow Clarity

A clear seven-step sequence (deps → author → IdlingResource → matchers → RecyclerView → run → CI) with an anti-patterns table cross-referencing steps, but there is no explicit validation checkpoint on outcomes, e.g. inspecting the JUnit XML for failures before reporting success.

4 / 5

Progressive Disclosure

No bundle files exist, and the body is well-sectioned with one-level external links and clearly signaled sibling-skill references; the matcher/action cheat sheet is reference-worthy material kept inline, which is a minor organization gap.

4 / 5

Total

17

/

20

Passed

Description

92%Weight 40%Scale 1-5

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 description: concrete, executable-capability language with an explicit 'Use when...' trigger and a clear niche. The only gap is modest coverage of natural synonym phrasings a user might use.

Suggestions

Add common user phrasings to the trigger, e.g. 'Use when the user asks for Android UI tests, instrumented tests, or Espresso tests, or mentions flaky UI test runs.'

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — authoring with the `onView(withId(...)).perform(...).check(matches(...))` pattern, relying on automatic synchronization with no `Thread.sleep`, wiring `IdlingResource`, running `./gradlew connectedAndroidTest`, and parsing JUnit XML output — giving comprehensive coverage of what the skill does.

5 / 5

Completeness

It explicitly answers both what ('Authors Espresso UI tests for Android - uses ... runs via `./gradlew connectedAndroidTest` and parses the JUnit XML output') and when ('Use when an Android app needs UI tests in Google's first-party framework') with a concrete trigger phrase.

5 / 5

Trigger Term Quality

Good natural-term coverage ('Espresso UI tests', 'Android', 'UI tests', 'IdlingResource', 'connectedAndroidTest', 'JUnit XML'), but a few common variations users would say are missing, such as 'instrumented tests', 'AndroidTest', or 'flaky UI tests'.

4 / 5

Distinctiveness Conflict Risk

The Espresso/Android/first-party-framework niche is clearly distinct from cross-platform alternatives (Appium, Detox) and from UIAutomator, with minimal risk of triggering for the wrong skill.

5 / 5

Total

19

/

20

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.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

Table of Contents