Best practices for implementing Android ViewModels, specifically focused on StateFlow for UI state and SharedFlow for one-off events.
68
60%
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 ./.github/skills/android-viewmodel/SKILL.mdQuality
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 technical domain (Android ViewModels with StateFlow/SharedFlow) but reads more like a topic label than actionable guidance. It lacks explicit trigger conditions and concrete actions, making it difficult for Claude to know precisely when to select this skill over other Android or state management skills.
Suggestions
Add a 'Use when...' clause with explicit triggers like 'Use when implementing ViewModel state management, migrating from LiveData to StateFlow, or handling UI events in Android apps'
List concrete actions the skill enables: 'Implement ViewModels with StateFlow for UI state, handle one-off events with SharedFlow, migrate from LiveData, structure MVVM architecture'
Include common user phrases and variations: 'MVVM', 'LiveData', 'Kotlin flows', 'state management', 'UI events', 'Android architecture'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Android ViewModels) and mentions specific technologies (StateFlow, SharedFlow) with their purposes (UI state, one-off events), but doesn't list concrete actions like 'create', 'implement', 'migrate', or 'debug'. | 2 / 3 |
Completeness | Describes what the skill covers (best practices for ViewModels with StateFlow/SharedFlow) but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. | 1 / 3 |
Trigger Term Quality | Includes relevant technical terms like 'Android', 'ViewModels', 'StateFlow', 'SharedFlow', 'UI state', but misses common variations users might say like 'MVVM', 'LiveData migration', 'Kotlin flows', or 'state management'. | 2 / 3 |
Distinctiveness Conflict Risk | The focus on Android ViewModels with StateFlow/SharedFlow is fairly specific, but could overlap with general Android development skills, Kotlin coroutines skills, or broader state management skills without clearer boundaries. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
87%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a well-crafted, concise skill that provides actionable guidance for Android ViewModel state management. It excels at token efficiency and provides executable code examples. The main gap is the lack of validation/debugging guidance for verifying correct implementation.
Suggestions
Add a brief troubleshooting section or common pitfalls (e.g., 'If events re-trigger on rotation, verify replay = 0')
Consider adding a validation checkpoint like 'Test by rotating device to confirm StateFlow persists and SharedFlow doesn't replay'
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is lean and efficient, providing only essential information about StateFlow and SharedFlow patterns. No unnecessary explanations of what ViewModels are or basic Kotlin concepts—assumes Claude's competence. | 3 / 3 |
Actionability | Provides fully executable Kotlin code snippets for each pattern (StateFlow initialization, SharedFlow configuration, Compose collection). Code is copy-paste ready with proper syntax. | 3 / 3 |
Workflow Clarity | The content is well-organized into logical sections (UI State, Events, Collecting, Scope), but lacks explicit validation steps or error handling guidance. For state management, there's no mention of how to verify correct implementation or debug common issues. | 2 / 3 |
Progressive Disclosure | For a focused, single-purpose skill under 50 lines, the content is appropriately structured with clear sections. No need for external file references given the scope; the hierarchy (numbered sections with subsections) aids navigation. | 3 / 3 |
Total | 11 / 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.
3f68e39
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.