CtrlK
BlogDocsLog inGet started
Tessl Logo

android-di-hilt

Wire Android dependency injection with Hilt, scopes, testing overrides, and module ownership boundaries.

49

Quality

37%

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-di-hilt/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

40%

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 identifies a clear and distinctive niche (Hilt DI for Wire Android) but reads more like a topic list than an actionable skill description. It lacks concrete action verbs describing what the skill does and entirely omits a 'Use when...' clause, making it harder for Claude to know when to select it. The trigger terms are reasonable but could be expanded with common aliases and annotations.

Suggestions

Add an explicit 'Use when...' clause, e.g., 'Use when setting up or modifying Hilt modules, configuring DI scopes, creating test doubles, or resolving dependency injection issues in the Wire Android codebase.'

Replace the topic-list style with concrete actions, e.g., 'Creates and configures Hilt modules, defines scope annotations, sets up testing overrides with fake implementations, and enforces module ownership boundaries.'

Include common trigger term variations such as 'DI', 'Dagger', '@Inject', '@Module', '@Provides', '@HiltAndroidApp' to improve keyword coverage.

DimensionReasoningScore

Specificity

Names the domain (dependency injection with Hilt) and mentions several aspects (scopes, testing overrides, module ownership boundaries), but these are more like topic areas than concrete actions. It doesn't list specific actions like 'create Hilt modules', 'configure scope annotations', or 'set up test fakes'.

2 / 3

Completeness

Describes what the skill covers (dependency injection with Hilt including scopes, testing overrides, module ownership) but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per rubric guidelines, a missing 'Use when...' clause caps completeness at 2, and the 'what' portion is also only moderately clear, so this scores a 1.

1 / 3

Trigger Term Quality

Includes relevant keywords like 'Hilt', 'dependency injection', 'scopes', 'testing overrides', and 'module ownership'. However, it misses common variations users might say such as 'DI', '@Inject', '@Module', '@Provides', 'Dagger', '@HiltAndroidApp', or 'component'.

2 / 3

Distinctiveness Conflict Risk

The combination of 'Wire Android', 'Hilt', 'dependency injection', 'scopes', 'testing overrides', and 'module ownership boundaries' creates a very specific niche that is unlikely to conflict with other skills. The Wire Android platform context plus Hilt specificity makes this highly distinctive.

3 / 3

Total

8

/

12

Passed

Implementation

35%

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

This skill reads more like a design checklist or review guide than an actionable skill for Claude. Its biggest weakness is the complete absence of concrete code examples—no Hilt module definitions, no @HiltViewModel patterns, no test replacement code. The workflow and guardrails are reasonable but remain abstract, making it difficult for Claude to produce correct, specific Hilt configurations from this guidance alone.

Suggestions

Add concrete, executable Kotlin code examples showing at minimum: a Hilt module with @Binds/@Provides, a @HiltViewModel injection, and a test module override with @UninstallModules.

Include a validation step in the workflow, such as verifying the DI graph compiles cleanly or checking for common Hilt error messages and their fixes.

Replace the abstract example scenarios with actual code snippets showing input (the class to inject) and output (the complete Hilt wiring), making the skill copy-paste actionable.

Consider splitting detailed scope/lifetime mapping rules and test replacement patterns into separate reference files, keeping SKILL.md as a concise overview with links.

DimensionReasoningScore

Conciseness

The content is reasonably concise and avoids explaining what Hilt or DI is, but some sections like 'When To Use' and 'Review Focus' contain somewhat redundant guidance that Claude could infer. The guardrails and anti-patterns sections, while useful, overlap conceptually.

2 / 3

Actionability

The skill provides no executable code, no concrete Hilt annotations in context, no module definitions, no component setup examples. It describes what to do abstractly ('Decide what should be bound', 'Match lifetime to scope') without showing how with actual code. The examples section lists commands but no actual Hilt code patterns.

1 / 3

Workflow Clarity

The workflow has a clear 5-step sequence covering identification through handoff, but lacks validation checkpoints. There's no explicit verification step (e.g., compile the graph, check for missing bindings) and no feedback loop for error recovery when the DI graph is misconfigured.

2 / 3

Progressive Disclosure

The content references handoff skills and official documentation links, which is good. However, there are no internal reference files (e.g., SCOPES.md, TESTING.md) for detailed patterns, and the content that is present is all inline without clear separation of quick-start vs. advanced material.

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.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

Total

10

/

11

Passed

Repository
krutikJain/android-agent-skills
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.