CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns.

Quality

78%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/android-clean-architecture/SKILL.md

The canonical home for this skill is android-clean-architecture in affaan-m/ECC

SKILL.md
Quality
Evals
Security

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 strong, well-organized reference skill: concrete executable Kotlin/SQL examples for every layer, clear dependency rules, and a useful anti-patterns checklist, with essentially no filler. The main growth opportunities are splitting the technology-specific data-layer/DI examples into reference files and adding an explicit boundary-verification step.

DimensionReasoningScore

Conciseness

The body is almost entirely prescriptive rules and complete code — e.g. 'Domain models are plain Kotlin data classes — no framework annotations' and 'Each UseCase represents one business operation' — with no padding explaining concepts Claude already knows. Not 5 because of minor redundancy: the domain-purity rule is stated twice (the 'Critical' note under Dependency Rules and again in Anti-Patterns) and both full Koin and Hilt boilerplates are shown; not 3 because the excess is trimmable detail, not unnecessary explanation.

4 / 5

Actionability

Fully executable, copy-paste-ready code throughout: UseCase classes with 'suspend operator fun invoke', a repository interface plus implementation, mapper extension functions, Room @Entity/@Dao, SQLDelight .sq queries, a Ktor HttpClient setup, Koin/Hilt modules, and a sealed Try/AppError hierarchy — concrete examples covering the common cases for each layer. Nothing falls into the pseudocode or high-level-hint anchors.

5 / 5

Workflow Clarity

A patterns/reference skill with no destructive or batch operations, so the validation cap does not apply. Section order (module structure → domain → data → DI → error handling → anti-patterns) forms a coherent build sequence and the Anti-Patterns section ('Importing Android framework classes in domain', 'Circular module dependencies') acts as a review checklist. Not 5 because there are no explicit verification steps (e.g. a check that domain has no Android imports); not 3 because the sequence and checkpoints that do exist are clear, not implicit gaps.

4 / 5

Progressive Disclosure

No bundle files exist, so everything lives in SKILL.md, but the body is well-organized with clear section headers (Domain Layer, Data Layer, Dependency Injection, Error Handling) and a clearly signaled one-level-deep References section pointing to sibling skills ('See skill: compose-multiplatform-patterns'). Not 5 because the per-technology example catalogs (Room vs SQLDelight vs Ktor, Koin vs Hilt) are inlined where a leaner overview with reference files would serve better; not 3 because structure is good and navigation is easy.

4 / 5

Total

17

/

20

Passed

Description

66%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 specific, well-scoped description that clearly communicates what the skill covers, with good natural trigger terms for the Android/KMP clean-architecture niche. Its main weakness is the complete absence of explicit 'when to use' trigger guidance, which both caps completeness and leaves activation conditions implicit.

Suggestions

Add an explicit trigger clause, e.g. 'Use when structuring Android/KMP project modules, defining layer boundaries, or implementing UseCases/Repositories.'

Include common synonyms and abbreviations users actually say — 'KMP', 'layered architecture', 'multi-module setup', 'domain/data/presentation layers' — to broaden natural trigger coverage.

Mention dependency injection (Koin/Hilt) and error-handling patterns in the description, since these are covered capabilities but currently invisible to a reader deciding whether to activate the skill.

DimensionReasoningScore

Specificity

Names the domain ('Clean Architecture patterns for Android and Kotlin Multiplatform projects') and lists several specific capability areas — 'module structure, dependency rules, UseCases, Repositories, and data layer patterns' — matching the 'several specific actions; minor gaps' anchor. It falls short of 5 because these are topic nouns rather than concrete actions with the comprehensive coverage of the top anchor, and above 3 because it goes well beyond 1-2 items.

4 / 5

Completeness

The 'what' is clear and concrete (patterns, module structure, dependency rules, UseCases, Repositories, data layer), but there is no 'Use when...' clause or equivalent explicit trigger guidance, which per the judging guidelines caps completeness at 3. It is not 2 because the 'what' half is specific rather than vague; not 4 because no 'when' guidance exists even implicitly.

3 / 5

Trigger Term Quality

Contains natural phrases users would say — 'Clean Architecture', 'Android', 'Kotlin Multiplatform', 'UseCases', 'Repositories' — giving good keyword coverage. Not 5 because common variations are missing: the 'KMP' abbreviation, 'layered architecture', 'domain layer', and 'dependency injection' are absent; not 3 because coverage goes beyond merely 'some relevant keywords'.

4 / 5

Distinctiveness Conflict Risk

The niche is distinct — Clean Architecture specifically for Android/KMP projects with named constructs (UseCases, Repositories, module dependency rules) — so it is unlikely to trigger for unrelated skills. Only minor overlap risk with general Android-architecture or Kotlin-design-pattern skills keeps it below the 'minimal conflict risk' of 5; it is well above the 'somewhat specific but could overlap' anchor 3.

4 / 5

Total

15

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository

valeriibeck-star/claude-skills

Path

skills/android-clean-architecture/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.