Integrate ViewModel state with Views using Coroutines and Lifecycle on Android. Use when managing state with repeatOnLifecycle or lifecycle-aware coroutines in Fragment/Activity.
88
87%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Quality
Discovery
89%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 solid, focused skill description that clearly identifies its niche in Android development. It provides explicit 'Use when' guidance with specific technical triggers that developers would naturally use. The main weakness is that the 'what' portion could enumerate more concrete actions rather than describing the general integration task.
Suggestions
List more specific concrete actions, e.g., 'Collect StateFlow/SharedFlow in Fragment/Activity using repeatOnLifecycle, launch lifecycle-aware coroutines, manage UI state from ViewModel.'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | It names the domain (Android ViewModel/View integration) and mentions some specific mechanisms (Coroutines, Lifecycle, repeatOnLifecycle), but doesn't list multiple concrete actions—it describes a general integration task rather than specific operations like 'collect StateFlow', 'observe LiveData', 'launch coroutines in lifecycleScope'. | 2 / 3 |
Completeness | Clearly answers both 'what' (integrate ViewModel state with Views using Coroutines and Lifecycle on Android) and 'when' (explicit 'Use when managing state with repeatOnLifecycle or lifecycle-aware coroutines in Fragment/Activity'). | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords a developer would use: 'ViewModel', 'Coroutines', 'Lifecycle', 'repeatOnLifecycle', 'Fragment', 'Activity', 'lifecycle-aware coroutines', 'state'. These are terms Android developers naturally use when seeking help with this pattern. | 3 / 3 |
Distinctiveness Conflict Risk | Targets a very specific niche—Android lifecycle-aware coroutine state collection in Fragment/Activity with repeatOnLifecycle. This is unlikely to conflict with general Android, general coroutines, or general ViewModel skills due to the precise combination of triggers. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
85%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-structured, concise skill that clearly communicates Android state collection rules and anti-patterns. Its main weakness is the lack of a concrete code example inline—the actual repeatOnLifecycle snippet is deferred entirely to the reference file, which reduces immediate actionability. The progressive disclosure and conciseness are excellent.
Suggestions
Add a short, executable code snippet showing the repeatOnLifecycle pattern inline (e.g., viewLifecycleOwner.lifecycleScope.launch { repeatOnLifecycle(Lifecycle.State.STARTED) { viewModel.uiState.collect { ... } } }) to make the skill immediately actionable without needing to open the reference file.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Very lean and efficient. Every line adds value—no explanation of what Flows or LiveData are, no unnecessary context. The 'Why' line is justified as it explains a non-obvious safety concern specific to this pattern. | 3 / 3 |
Actionability | Provides clear rules and anti-patterns but lacks executable code examples. A concrete code snippet showing repeatOnLifecycle usage would make this copy-paste ready rather than requiring the reader to look up the implementation template. | 2 / 3 |
Workflow Clarity | This is a simple, single-purpose skill (state collection pattern) with no multi-step destructive process. The rules and anti-patterns are unambiguous, and the single action (use repeatOnLifecycle) is clear. | 3 / 3 |
Progressive Disclosure | Clean overview with a single well-signaled reference to the implementation template. Content is appropriately split—rules and anti-patterns inline, detailed implementation in a separate file one level deep. | 3 / 3 |
Total | 11 / 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.