CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

70

Quality

88%

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

82%Weight 40%Scale 1-5

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

A strong, highly actionable skill body: copy-paste-ready code, a concrete discovery command, and a sequenced checklist with a verification step. The main weaknesses are minor redundancy between migration patterns and the absence of an error-recovery loop after the type check.

Suggestions

Condense the overlapping migration patterns: the 'as Type -> fromPartial()' example repeats the 'Large objects' example's After code, so merge them into one before/after demonstration.

Replace or remove the unclear 'Problems with `as` in tests' bullet 'Trained not to use it' — it does not state a concrete problem and reads as padding.

Add a short feedback loop to the workflow: after 'Run type check to verify', state what to do on failure (e.g., fix remaining assertions or missing imports and re-run the check).

DimensionReasoningScore

Conciseness

The body is largely lean (before/after pairs, a table, a checklist), but the 'Why shoehorn?' section slightly re-explains library basics, the unclear bullet 'Trained not to use it' adds no value, and the second migration pattern restates the first example's After code.

4 / 5

Actionability

Fully executable throughout: install command, concrete grep discovery command ('grep -r " as [A-Z]" --include="*.test.ts"'), three complete before/after code pairs, and a function-selection table covering the common cases.

5 / 5

Workflow Clarity

The workflow is a clearly sequenced numbered checklist with a verification step ('Run type check to verify') for this batch migration, satisfying the validation requirement; it falls short of the top anchor only because there is no error-recovery loop describing what to do when the type check fails.

4 / 5

Progressive Disclosure

No bundle files exist, and the body is well-organized with clear section headers and no nested or buried references; minor organization gaps (repetitive migration-pattern examples) keep it below the top anchor reserved for tightly scoped single-file bodies.

4 / 5

Total

17

/

20

Passed

Description

87%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A concise, third-person description that clearly states a specific capability and provides explicit, natural trigger conditions. It is well above the midpoint on every dimension, with the only room for improvement being broader synonym coverage in trigger terms.

DimensionReasoningScore

Specificity

Names the precise domain and concrete actions ('Migrate test files from `as` type assertions to @total-typescript/shoehorn', 'replace `as` in tests', 'needs partial test data'), with only minor gaps such as not mentioning the specific functions (fromPartial/fromAny).

4 / 5

Completeness

Explicitly answers both what ('Migrate test files from `as` type assertions to @total-typescript/shoehorn') and when ('Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data') with concrete multi-condition trigger phrases, matching the top anchor exactly.

5 / 5

Trigger Term Quality

Natural trigger phrases like 'shoehorn', 'replace `as` in tests', and 'partial test data' are present and would be said by users, though common variations like 'type assertions', 'mock data', or 'fromPartial' are missing.

4 / 5

Distinctiveness Conflict Risk

The niche is highly specific (a single library, `as` assertions in test files), giving distinct triggers and minimal overlap risk with any other skill.

5 / 5

Total

18

/

20

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 — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

SnowingFox/ai-skills

Path

.cursor/skills/migrate-to-shoehorn/SKILL.md

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.