CtrlK
BlogDocsLog inGet started
Tessl Logo

android-kotlin

Android Kotlin development with Coroutines, Jetpack Compose, Hilt, and MockK testing

55

Quality

45%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/android-kotlin/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

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 reads more like a tag list of technologies than a functional skill description. It lacks concrete actions (what the skill actually does) and has no explicit trigger guidance (when to use it). The technology keywords provide some value for matching but the description needs significant improvement to be effective for skill selection.

Suggestions

Add a 'Use when...' clause specifying trigger scenarios, e.g., 'Use when building Android apps, creating Compose UI, setting up Hilt dependency injection, or writing MockK-based tests.'

List specific concrete actions the skill enables, e.g., 'Builds Android apps using Kotlin, creates Jetpack Compose UI components, configures Hilt dependency injection modules, and writes unit tests with MockK.'

Include common user-facing trigger terms like 'Android app', 'composable', 'ViewModel', 'dependency injection', 'unit test', and file extensions like '.kt' to improve matching.

DimensionReasoningScore

Specificity

Names the domain (Android Kotlin development) and lists specific technologies (Coroutines, Jetpack Compose, Hilt, MockK testing), but does not describe concrete actions like 'create UI components', 'write unit tests', or 'set up dependency injection'.

2 / 3

Completeness

Provides a partial 'what' (Android Kotlin development with specific libraries) but completely lacks a 'when should Claude use it' clause. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the 'what' itself is also weak (no concrete actions), warranting a 1.

1 / 3

Trigger Term Quality

Includes relevant technology keywords (Kotlin, Coroutines, Jetpack Compose, Hilt, MockK) that users might mention, but misses common variations and broader terms like 'Android app', 'UI', 'dependency injection', 'unit testing', 'ViewModel', or 'composable'.

2 / 3

Distinctiveness Conflict Risk

The combination of Android + Kotlin + specific libraries (Compose, Hilt, MockK) provides some distinctiveness, but 'Android Kotlin development' is broad enough to overlap with other Android-related skills. The specific library names help but don't fully resolve potential conflicts.

2 / 3

Total

7

/

12

Passed

Implementation

57%

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

This skill provides high-quality, executable Android Kotlin code patterns covering the key technologies (Coroutines, Compose, Hilt, MockK). However, it's overly verbose with boilerplate that Claude already knows (full Gradle configs, CI pipelines, project structure trees), and it lacks workflow guidance for how to sequence development tasks. The content would benefit significantly from splitting detailed configs into referenced files and adding a clear development workflow.

Suggestions

Move the full Gradle configuration, GitHub Actions workflow, and detekt config into separate referenced files (e.g., GRADLE.md, CI.md) and keep only the essential patterns in the main skill

Add a development workflow section with explicit steps for creating a new feature end-to-end (e.g., 1. Define domain model → 2. Create repository interface → 3. Implement → 4. Write tests → 5. Run ./gradlew testDebugUnitTest to verify)

Trim the project structure tree to just the key directories with brief annotations, since Claude understands standard Android project layouts

Remove or significantly condense the dependency block — version numbers are time-sensitive and Claude can look these up; focus on which libraries to use and why rather than exact versions

DimensionReasoningScore

Conciseness

The skill is quite long (~400 lines) with extensive boilerplate like full Gradle configurations, CI pipelines, and detekt configs. While each section is individually useful, the full build.gradle.kts with all dependency versions and the GitHub Actions workflow are things Claude can generate from minimal prompts. The project structure tree is also very detailed for information Claude largely knows.

2 / 3

Actionability

The code examples are fully executable and copy-paste ready — ViewModel with StateFlow, Repository with Flow, Compose screens, MockK/Turbine tests, and the MainDispatcherRule. These are concrete, complete patterns that can be directly used in a project.

3 / 3

Workflow Clarity

The skill presents patterns and code snippets but lacks explicit multi-step workflows with validation checkpoints. There's no guidance on the sequence of creating a new feature (e.g., define domain model → create repository interface → implement → write tests → verify). The CI section lists steps but doesn't describe a development workflow with feedback loops.

2 / 3

Progressive Disclosure

The content is a monolithic wall of text with no references to external files for detailed content. The full Gradle config, CI pipeline, detekt config, and all code examples are inline. The mention of 'Load with: base.md' hints at a multi-file structure but nothing is split out or referenced for deeper exploration.

1 / 3

Total

8

/

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.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

10

/

11

Passed

Repository
alinaqi/claude-bootstrap
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.