Implement Room database schemas and DataStore preferences with proper async patterns in Android. Use when defining Room entities, DAOs, migrations, or replacing SharedPreferences with DataStore.
60
71%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/android/android-persistence/SKILL.mdQuality
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong skill description that clearly defines its scope around Android local data persistence using Room and DataStore. It includes an explicit 'Use when' clause with specific trigger terms that developers would naturally use. The description is concise, uses third-person voice, and is highly distinguishable from other potential skills.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'implement Room database schemas', 'DataStore preferences', 'proper async patterns', 'defining Room entities, DAOs, migrations', 'replacing SharedPreferences with DataStore'. These are all concrete, actionable capabilities. | 3 / 3 |
Completeness | Clearly answers both 'what' (implement Room database schemas and DataStore preferences with proper async patterns) and 'when' (explicit 'Use when' clause covering defining Room entities, DAOs, migrations, or replacing SharedPreferences with DataStore). | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'Room', 'database', 'DataStore', 'entities', 'DAOs', 'migrations', 'SharedPreferences', 'Android', 'async patterns'. These cover the common terms developers use when working with Android local data persistence. | 3 / 3 |
Distinctiveness Conflict Risk | Highly specific to Android Room and DataStore, which is a clear niche. The combination of Room-specific terms (entities, DAOs, migrations) and DataStore/SharedPreferences makes it very unlikely to conflict with other skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
42%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill is admirably concise and well-structured at a high level, but it critically lacks actionability—there are no concrete code examples, executable snippets, or specific commands anywhere in the body. It relies entirely on a referenced file (references/implementation.md) that doesn't exist in the bundle, making the skill incomplete and non-functional as written.
Suggestions
Add at least one concrete, executable Room @Entity + @Dao code example directly in the SKILL.md body so the skill is actionable without external references.
Include a DataStore migration code snippet showing the actual replacement of SharedPreferences with ProtoDataStore or PreferencesDataStore.
Add explicit validation/verification steps for database migrations (e.g., 'Run migration test: MigrationTestHelper.runMigrationsAndValidate(...)') to improve workflow clarity.
Either provide the referenced 'references/implementation.md' bundle file or inline the critical content it would contain.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is lean and efficient. It avoids explaining what Room or DataStore are, assumes Claude knows Android development, and every line conveys actionable guidance. No unnecessary padding. | 3 / 3 |
Actionability | The skill provides only abstract directives ('Return Flow<List<T>> for queries', 'use suspend for Write/Insert') without any concrete code examples, executable snippets, or copy-paste ready patterns. It defers all concrete implementation to references/implementation.md which is not provided. | 1 / 3 |
Workflow Clarity | There is a loose sequence implied (configure Room, then migrate to DataStore) and anti-patterns are listed, but there are no explicit validation checkpoints, no migration verification steps, and no feedback loops for database migrations which are destructive operations. | 2 / 3 |
Progressive Disclosure | The skill references 'references/implementation.md' multiple times for both DAO templates and DataStore migration patterns, but no bundle files are provided, meaning the references are broken. The body itself is too sparse to stand alone without those references. | 1 / 3 |
Total | 7 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
metadata_version | 'metadata.version' is missing | Warning |
metadata_field | 'metadata' should map string keys to string values | Warning |
Total | 9 / 11 Passed | |
3df717f
Table of Contents
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.