Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.
86
82%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Quality
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 an excellent skill description that is concise, specific, and well-structured. It clearly identifies the concrete action (migrating type assertions), names the specific library involved, and provides an explicit 'Use when' clause with multiple natural trigger terms. The description is distinctive enough to avoid conflicts with other skills.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description lists a concrete action: 'Migrate test files from `as` type assertions to @total-typescript/shoehorn.' This is a specific, well-defined task with clear technical details about what is being replaced and what it's being replaced with. | 3 / 3 |
Completeness | Clearly answers both 'what' (migrate test files from `as` type assertions to @total-typescript/shoehorn) and 'when' (explicit 'Use when' clause with three trigger scenarios: mentioning shoehorn, replacing `as` in tests, or needing partial test data). | 3 / 3 |
Trigger Term Quality | Includes strong natural trigger terms: 'shoehorn', 'replace `as` in tests', 'partial test data', 'migrate test files', and 'type assertions'. These cover the main ways a user would describe this need. | 3 / 3 |
Distinctiveness Conflict Risk | This is a very specific niche skill targeting a particular library (@total-typescript/shoehorn) and a specific migration pattern (`as` assertions in test files). It is highly unlikely to conflict with other skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill provides solid, actionable migration patterns with clear before/after examples and a useful reference table. Its main weaknesses are verbosity in explaining concepts Claude already knows (why `as` is problematic, what large objects look like), a vague validation step in the workflow, and an unnecessary 'Gather requirements' section that adds tokens without adding value for Claude.
Suggestions
Remove the 'Gather requirements' step and the 'Why shoehorn?' explanatory section — Claude understands these concepts. Start directly with Install and Migration patterns.
Add an explicit validation command (e.g., `npx tsc --noEmit`) and a feedback loop: 'If type errors remain, check that imports are added and the correct function (fromPartial vs fromAny) is used.'
Condense the 'Large objects' example — the first before/after already demonstrates the same pattern and the comments explaining the problem are unnecessary.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The 'Why shoehorn?' section explains problems with `as` that Claude already understands, and the 'Large objects with few needed properties' example is verbose with comments explaining the obvious. The 'Gather requirements' step is also unnecessary padding. However, the migration patterns themselves are reasonably efficient. | 2 / 3 |
Actionability | Provides fully executable before/after code examples for each migration pattern, a concrete install command, a grep command to find targets, and a clear checklist. Everything is copy-paste ready. | 3 / 3 |
Workflow Clarity | The workflow has a clear sequence with a checklist and ends with 'run type check to verify,' but the validation step is vague (no specific command like `npx tsc --noEmit`), and there's no feedback loop for what to do if the type check fails. The 'Gather requirements' step feels out of place in a migration workflow. | 2 / 3 |
Progressive Disclosure | The content is reasonably well-structured with clear sections and a table, but it's somewhat long for a single file with no bundle. The large before/after examples could be more compact, and there are no references to external files for advanced patterns or edge cases. | 2 / 3 |
Total | 9 / 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.
733d312
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.