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.

76

Quality

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Quality

Content

88%

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

A concise, actionable skill body with excellent code examples and tight organization. The main weakness is the workflow's validation step being a passive checkbox rather than an explicit feedback loop for batch migration.

Suggestions

Turn the final 'Run type check to verify' checkbox into an explicit feedback loop: 'Run type check; if errors, fix imports/conversions and re-run until it passes.'

Add a brief note on how to handle ambiguous cases (e.g., nested `as` inside expressions or `as` in non-test files) so the migration workflow is unambiguous.

DimensionReasoningScore

Conciseness

Lean and efficient: short rationale, before/after code pairs, and a compact function table — every token earns its place without re-explaining TypeScript basics Claude already knows.

3 / 3

Actionability

Provides fully executable install commands and concrete before/after code examples for `fromPartial()`, `fromAny()`, plus a copy-paste grep command for finding `as` assertions.

3 / 3

Workflow Clarity

The numbered workflow has a clear sequence and a final 'run type check' validation step, but it lists it as a single checkbox rather than an explicit validate-fix-retry feedback loop for a batch migration.

2 / 3

Progressive Disclosure

A well-organized single-file skill under 50 lines with clear sections (Why, Install, Patterns, When to use each, Workflow) and no external references needed, satisfying the simple-skill allowance.

3 / 3

Total

11

/

12

Passed

Description

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.

A strong, specific description that covers concrete actions, natural trigger terms, and explicit 'what' and 'when' guidance in a concise sentence. No major weaknesses.

DimensionReasoningScore

Specificity

Names multiple concrete actions — migrating test files from `as` type assertions to shoehorn, replacing `as` with `fromPartial()`, and handling partial test data — rather than vague language.

3 / 3

Completeness

Explicitly states what it does ('Migrate test files...') and when to use it ('Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data'), covering both what and when.

3 / 3

Trigger Term Quality

Includes natural user-facing terms ('shoehorn', 'replace `as` in tests', 'partial test data') that a user would actually say when they need this skill.

3 / 3

Distinctiveness Conflict Risk

Carves a clear niche (test-only `as` assertion migration to a specific library) with distinct triggers, making conflict with other skills unlikely.

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
mattpocock/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.