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.
78
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 provides specific concrete actions, includes natural trigger terms that developers would use, and has an explicit 'Use when' clause with well-defined triggers. The description is concise, uses third-person voice, and occupies a distinct niche that minimizes conflict risk.
| 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 in Android) and 'when' (Use when defining Room entities, DAOs, migrations, or replacing SharedPreferences with DataStore). The explicit 'Use when' clause with specific triggers is present. | 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 distinctive with a clear niche: Android Room database and DataStore. The specific mention of Room entities, DAOs, migrations, and SharedPreferences-to-DataStore migration makes it very unlikely to conflict with other skills, as these are narrowly scoped Android persistence technologies. | 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 admirably concise and well-structured at a high level, but critically lacks actionability—there are no concrete code examples, executable snippets, or specific commands in the main file. The workflow for database migrations, a potentially destructive operation, lacks validation checkpoints. The content essentially serves as a table of contents pointing to a single reference file rather than a self-contained skill.
Suggestions
Add at least one concrete, executable code example for a Room @Entity + @Dao pattern and a DataStore setup directly in the skill body, so the skill is actionable without requiring the reference file.
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 two references to implementation.md with distinct anchors or section links (e.g., 'See [Room DAO patterns](references/implementation.md#room-dao)' vs 'See [DataStore migration guide](references/implementation.md#datastore-migration)').
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is lean and efficient, avoiding explanations of what Room or DataStore are. Every line provides actionable guidance without 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. All actual implementation details are deferred to a reference file. | 1 / 3 |
Workflow Clarity | There is some implicit sequencing (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 | References to implementation.md are present and one-level deep, but both sections point to the same file with the same link text ('DAO templates') for different topics (Room DAOs and DataStore migration), which is confusing. The overview itself is too thin to stand alone without the reference. | 2 / 3 |
Total | 8 / 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 | |
4c72e76
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.