Optimal ViewModel and Wizard creation patterns for Avalonia using Zafiro and ReactiveUI.
44
31%
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/antigravity-avalonia-viewmodels-zafiro/SKILL.mdQuality
Discovery
40%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 niche with specific framework names, making it distinctive. However, it lacks concrete action verbs describing what the skill actually does and entirely omits a 'Use when...' clause, making it difficult for Claude to know when to select it. The description reads more like a topic label than an actionable skill description.
Suggestions
Add a 'Use when...' clause specifying triggers, e.g., 'Use when the user asks about creating ViewModels, implementing wizard flows, or building Avalonia UI with ReactiveUI and Zafiro.'
List specific concrete actions the skill covers, e.g., 'Generates ViewModel classes, scaffolds multi-step wizard flows, configures reactive bindings, and sets up dependency injection with Zafiro.'
Include common keyword variations like 'MVVM', 'reactive bindings', 'step-by-step UI', or 'cross-platform desktop UI' to improve trigger term coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (ViewModel and Wizard creation) and specific frameworks (Avalonia, Zafiro, ReactiveUI), but doesn't list concrete actions like 'generate ViewModels', 'scaffold wizard steps', or 'configure reactive bindings'. | 2 / 3 |
Completeness | Describes what (ViewModel and Wizard creation patterns) but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per rubric guidelines, missing 'Use when' caps completeness at 2, and the 'what' is also only partially described, warranting a 1. | 1 / 3 |
Trigger Term Quality | Includes relevant technical keywords like 'ViewModel', 'Wizard', 'Avalonia', 'Zafiro', and 'ReactiveUI' that users familiar with these frameworks would use, but misses common variations like 'MVVM', 'step-by-step wizard', 'reactive UI patterns', or 'WPF alternative'. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of Avalonia + Zafiro + ReactiveUI + ViewModel/Wizard patterns is a very specific niche that is unlikely to conflict with other skills. These framework names together create a clear, distinct trigger profile. | 3 / 3 |
Total | 8 / 12 Passed |
Implementation
22%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill reads as a table of contents rather than a functional skill document. It names relevant patterns and classes (SlimWizard, IEnhancedCommand, ReactiveObject) but provides zero executable code or concrete guidance in the SKILL.md itself. With no bundle files to back up the four referenced guides, the skill is essentially an empty shell that cannot help Claude perform any task.
Suggestions
Add at least one complete, executable code example in the SKILL.md itself showing a basic ViewModel creation with ReactiveUI and Zafiro (e.g., a minimal ViewModel with an IEnhancedCommand).
Include the referenced bundle files (viewmodels.md, wizards.md, navigation_sections.md, composition.md) with concrete code and step-by-step workflows, or inline the essential content directly.
Replace the generic 'When to Use' and 'Limitations' boilerplate sections with skill-specific constraints (e.g., required NuGet packages, minimum Avalonia version, Zafiro version compatibility).
Add a concrete workflow for at least one key task (e.g., creating a wizard) with numbered steps, specific code at each step, and validation checkpoints.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is relatively brief but includes some unnecessary filler. The 'When to Use' and 'Limitations' sections are generic boilerplate that add no skill-specific value. The 'Core Principles' section explains concepts at a high level without adding actionable detail, and phrases like 'leveraging the power of' are padding. | 2 / 3 |
Actionability | There is no executable code, no concrete commands, and no specific examples in the SKILL.md itself. It describes concepts and names classes/patterns but never shows how to use them. All actionable content is deferred to referenced files that don't exist in the bundle. | 1 / 3 |
Workflow Clarity | There is no sequenced workflow, no step-by-step process, and no validation checkpoints. The skill mentions wizards and flows but provides zero guidance on how to actually execute them. The content is purely descriptive with no operational sequence. | 1 / 3 |
Progressive Disclosure | The structure attempts good progressive disclosure with clear references to four sub-files (viewmodels.md, wizards.md, navigation_sections.md, composition.md), which is well-organized. However, none of these referenced files exist in the bundle, making the references non-functional. The overview itself is too thin to be useful standalone. | 2 / 3 |
Total | 6 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
431bfad
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.