Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns.
57
57%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
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 identifies a clear domain (Clean Architecture for Android/KMP) and lists relevant architectural concepts, but reads more like a topic label than an actionable skill description. It lacks concrete actions Claude would perform and entirely omits a 'Use when...' clause, making it difficult for Claude to know when to select this skill over others.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about structuring Android or KMP projects, setting up multi-module architectures, or implementing Clean Architecture patterns.'
Replace concept listings with concrete actions, e.g., 'Generates module structures, defines dependency rules between layers, creates UseCase and Repository classes, and scaffolds data layer implementations.'
Include additional natural trigger terms like 'KMP', 'multi-module', 'domain layer', 'modularization', 'MVVM', and 'separation of concerns' to improve keyword coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Clean Architecture for Android/KMP) and lists several concepts (module structure, dependency rules, UseCases, Repositories, data layer patterns), but these are more architectural concepts than concrete actions. It doesn't describe what Claude actually does with them (e.g., 'generates module structures', 'enforces dependency rules', 'creates UseCase classes'). | 2 / 3 |
Completeness | Describes the 'what' at a conceptual level but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the 'what' itself is also weak (concepts rather than actions), warranting a 1. | 1 / 3 |
Trigger Term Quality | Includes relevant keywords like 'Clean Architecture', 'Android', 'Kotlin Multiplatform', 'UseCases', 'Repositories', and 'data layer patterns' which users might naturally mention. However, it misses common variations like 'KMP', 'domain layer', 'presentation layer', 'MVVM', 'modularization', or 'multi-module'. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of 'Clean Architecture' with 'Android' and 'Kotlin Multiplatform' is fairly specific, but it could overlap with general Android architecture skills, Kotlin coding skills, or generic software architecture skills. The lack of explicit triggers increases conflict risk. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid reference skill with excellent actionability — every pattern includes concrete, executable Kotlin code. Its main weaknesses are length (could split detailed data layer and DI patterns into separate files) and lack of a sequenced workflow for common tasks like 'add a new feature module' or 'set up a new project.' The dependency rules section is a strong highlight.
Suggestions
Add a step-by-step workflow for common tasks like 'Adding a new feature' that walks through creating domain model → repository interface → data implementation → UseCase → ViewModel, with validation checkpoints (e.g., verify domain module has no framework imports).
Split detailed sections (Room, SQLDelight, Ktor, DI) into separate reference files and keep SKILL.md as a concise overview with links, improving progressive disclosure and reducing token cost.
Remove anti-patterns that restate basic Clean Architecture rules Claude already knows (e.g., 'don't use GlobalScope') and keep only project-specific or non-obvious ones.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is fairly comprehensive but includes some content Claude would already know (e.g., basic data class patterns, standard Room/Dao annotations). The anti-patterns section restates well-known Clean Architecture rules. However, most code examples earn their place by showing concrete patterns specific to the architecture. | 2 / 3 |
Actionability | The skill provides fully executable, copy-paste ready Kotlin code for every pattern — UseCases, Repositories, Room entities/DAOs, SQLDelight queries, Ktor setup, Koin/Hilt DI modules, and error handling. Each example is concrete and complete enough to use directly. | 3 / 3 |
Workflow Clarity | The module structure and dependency rules are clearly laid out, but there's no sequenced workflow for setting up a project from scratch, no validation checkpoints (e.g., verifying dependency rules aren't violated, checking module graph), and no step-by-step process for adding a new feature through the layers. | 2 / 3 |
Progressive Disclosure | The content is well-organized with clear sections and headers, and references two other skills at the end. However, at ~200+ lines it's quite long and could benefit from splitting detailed patterns (Room, SQLDelight, Ktor, DI) into separate reference files, keeping SKILL.md as a concise overview with links. | 2 / 3 |
Total | 9 / 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.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
Reviewed
Table of Contents