CtrlK
BlogDocsLog inGet started
Tessl Logo

migrate-to-shoehorn

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.

71

Quality

86%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is migrate-to-shoehorn in mattpocock/skills

SKILL.md
Quality
Evals
Security

Quality

Content

72%Scale 1-3

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A solid migration skill with excellent actionability through concrete before/after examples and a useful reference table. The main weaknesses are some verbosity in the explanatory sections (especially the 'Why' section and the 'Gather requirements' step which adds little value for Claude) and a workflow that lacks an explicit feedback loop for type-check failures.

Suggestions

Remove or drastically shorten the 'Why shoehorn?' section — Claude doesn't need to be told why `as` is problematic; just state 'Test code only' and jump to patterns.

Remove the 'Gather requirements' step from the workflow — Claude can infer what to ask; replace with an explicit type-check command and error recovery step (e.g., 'Run `npx tsc --noEmit`, fix any errors, re-run').

Condense the 'Large objects' example — it duplicates the 'as Type → fromPartial()' pattern and could be folded into a brief note rather than a full separate section.

DimensionReasoningScore

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. All code is copy-paste ready with proper imports.

3 / 3

Workflow Clarity

The workflow has a clear sequence with a checklist, but the validation step is only 'Run type check to verify' without specifying the command or what to do if it fails. Missing a feedback loop for error recovery caps this at 2.

2 / 3

Progressive Disclosure

For a single-purpose skill under 100 lines with no bundle files, the content is well-organized with clear sections (Why, Install, Migration patterns, When to use each, Workflow). No external references are needed and the structure supports easy scanning.

3 / 3

Total

10

/

12

Passed

Description

100%Scale 1-3

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 `as` type assertions to shoehorn), provides an explicit 'Use when' clause with multiple natural trigger terms, and occupies a distinct niche that minimizes conflict risk with other skills.

DimensionReasoningScore

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 tests). It is highly unlikely to conflict with other skills due to its narrow, well-defined scope.

3 / 3

Total

12

/

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.

Validation11 / 11 Passed

Validation for skill structure

No warnings or errors.

Repository
SnowingFox/ai-skills
Reviewed

Table of Contents

Is this your skill?

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.