CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

android-java

Android Java development with MVVM, ViewBinding, and Espresso testing

48

Quality

60%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Medium

Suggest reviewing before use

Fix and improve this skill with Tessl

tessl review fix ./skills/android-java/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

43%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.

The body delivers abundant concrete, executable Android Java patterns, but it is a monolithic 580-line reference that spends most of its tokens on boilerplate and version pins Claude already knows, with no development workflow or validation guidance tying the patterns together. Splitting into reference files and distilling to project-specific conventions would fix its two weakest dimensions.

Suggestions

Add a development workflow section with explicit validation checkpoints, e.g. 1) implement feature across ViewModel/repository layers, 2) run ./gradlew testDebugUnitTest, 3) run ./gradlew lint, 4) only then build/commit — with a fix-and-retry loop on failures.

Move the GitHub Actions workflow, lint.xml configuration, and detailed pattern catalog into references/ files (e.g. references/ci.md, references/lint.md, references/patterns.md) linked from a lean SKILL.md overview.

Trim generic MVVM/ViewBinding/Espresso boilerplate to project-specific conventions and decisions, and isolate pinned versions (compileSdk 34, dependency coordinates, emulator api-level 29) so stale numbers don't pollute the always-loaded context.

DimensionReasoningScore

Conciseness

The ~580-line body inlines extensive standard boilerplate Claude already knows (generic "public class UserViewModel extends ViewModel", stock ViewBinding Activity/Fragment, basic Espresso checks, a full default build.gradle) and pins time-sensitive versions ("compileSdk 34", "androidx.core:core:1.12.0", "api-level: 29") outside any deprecated/old-patterns section, matching anchor 2's 'several unnecessary or padded sections'. It avoids a 1 because there is little prose padding and the anti-patterns list contains genuinely non-obvious guidance.

2 / 5

Actionability

Guidance is highly concrete and near copy-paste ready: complete ViewModel, repository, Activity, Fragment, JUnit/Mockito, Espresso classes, plus a full GitHub Actions workflow and lint.xml. Minor gaps hold it below anchor 5: referenced types (UserApi, UserDao, Callback in early sections, getCurrentUserId()) are never defined in context and imports are omitted, so examples are templates rather than fully self-contained.

4 / 5

Workflow Clarity

The body is a pattern catalog with no sequenced development workflow at all — there is no ordered process (e.g., implement in ViewModel/Repository layers, then run ./gradlew testDebugUnitTest, then ./gradlew lint) and no validation checkpoints, fitting anchor 2's 'rough sequence at best, validation absent'. It is not a 1 because the sections are individually coherent and the CI section does show a command order, but the 50-line simple-skill exception does not apply to a skill of this length.

2 / 5

Progressive Disclosure

Section structure is clear and consistent (Project Structure, Gradle Configuration, Architecture Patterns, Testing, GitHub Actions, Lint, Common Patterns, Anti-Patterns), matching anchor 3's 'some structure'. However, no bundle files exist and everything is inlined in one SKILL.md — the CI YAML, lint configuration, and full pattern library are content that clearly belongs in separate reference files.

3 / 5

Total

11

/

20

Passed

Description

61%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.

The description is concise, distinctive, and uses natural trigger terms for the Android Java niche, but it lists technologies rather than concrete actions and omits any 'Use when...' trigger guidance from the description text itself. Merging the when-to-use clause into the description would substantially raise completeness.

Suggestions

Append an explicit trigger clause to the description, e.g. "Use when working on Android Java source files, build.gradle files, or Espresso/UI tests", folding in the existing when-to-use frontmatter field.

State concrete actions rather than only naming technologies, e.g. "Build Android apps in Java using MVVM architecture, ViewBinding, and Espresso instrumentation tests, including Gradle, CI, and lint setup".

Add file extensions and common variations (.java, build.gradle, Android app) to strengthen trigger term coverage toward anchor 5.

DimensionReasoningScore

Specificity

"Android Java development with MVVM, ViewBinding, and Espresso testing" names the domain plus concrete technologies (MVVM, ViewBinding, Espresso) but contains no action verbs, matching anchor 3's 'domain and 1-2 concrete capabilities'. It is above anchor 2 because the named stack adds specificity beyond a generic domain label, and below anchor 4 because no specific actions (build, test, configure) are listed.

3 / 5

Completeness

The description field conveys a reasonably clear 'what' ("Android Java development with MVVM, ViewBinding, and Espresso testing") but contains no 'Use when...' trigger clause; the skill's trigger guidance lives only in the separate when-to-use frontmatter field, so per the guidelines completeness is capped at 3. It is not a 2 because the 'what' is clearly stated.

3 / 5

Trigger Term Quality

"Android", "Java", "MVVM", "ViewBinding", and "Espresso" are terms users naturally say when needing this skill, giving good keyword coverage. It falls short of anchor 5 because common variations and file extensions ("Gradle", "Android app", ".java") are missing.

4 / 5

Distinctiveness Conflict Risk

The Android-Java-specific stack ("MVVM, ViewBinding, and Espresso testing") carves a mostly distinct niche with minimal conflict risk against unrelated skills. It is not a 5 because it could still overlap with a generic 'Android development' or 'Java' skill, and Kotlin-based Android work is not explicitly excluded.

4 / 5

Total

14

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (582 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

16

Passed

Repository

alinaqi/maggy

Path

skills/android-java/SKILL.md

Reviewed

Table of Contents

Is this your skill?

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.