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. (triggers: **/*Dao.kt, **/*Database.kt, **/*Entity.kt, @Dao, @Entity, RoomDatabase)
80
75%
Does it follow best practices?
Impact
Pending
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 explicit 'Use when' guidance with both conceptual triggers and file pattern triggers, making it easy for Claude to select appropriately. The description is concise yet comprehensive, covering the key actions and natural terms a developer would use.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: implementing Room database schemas, DataStore preferences, async patterns, defining entities, DAOs, migrations, and replacing SharedPreferences with DataStore. | 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 entities, DAOs, migrations, or replacing SharedPreferences with DataStore, plus file-based triggers). | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural terms users would say: Room, DataStore, SharedPreferences, entities, DAOs, migrations, plus file patterns like *Dao.kt, *Database.kt, *Entity.kt and annotations like @Dao, @Entity, RoomDatabase. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive with a clear niche in Android local data persistence (Room + DataStore). The specific file patterns, annotations, and Android-specific terminology make it very unlikely to conflict with other skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
50%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill is concise and well-structured at a high level, but critically lacks actionable content — no code examples, no concrete commands, and no executable guidance in the main file. Database migrations are mentioned without validation checkpoints, and the references are ambiguously labeled, both pointing to the same file for different purposes.
Suggestions
Add at least one concrete, executable code example for a Room @Entity, @Dao, and database setup directly in the skill body so it's actionable without needing the reference file.
Add a DataStore migration code snippet showing the replacement of SharedPreferences with PreferencesDataStore or ProtoDataStore.
Include explicit validation/verification steps for database migrations (e.g., 'Run migration test: MigrationTestHelper.runMigrationsAndValidate(...)') to address the missing feedback loop for destructive operations.
Differentiate the reference links — use separate anchors or sections in implementation.md for Room DAO patterns vs DataStore migration patterns, and label them distinctly.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is lean and assumes Claude's competence with Android development concepts. No unnecessary explanations of what Room or DataStore are, and every line provides actionable guidance. | 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. All actual implementation details are deferred to a reference file. | 1 / 3 |
Workflow Clarity | There is some logical sequencing (configure Room, then migrate to DataStore, then anti-patterns), but no explicit validation steps or feedback loops for database migrations, which are destructive operations that should have verification checkpoints. | 2 / 3 |
Progressive Disclosure | References to implementation.md are present and one-level deep, but both sections point to the same file with different labels ('DAO templates' for both Room DAO patterns and DataStore migration patterns), which is confusing. The overview itself is too thin to stand alone without the reference. | 2 / 3 |
Total | 8 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
19a1140
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.