Migrate to Shoehorn
Migrate test files from as type assertions to @total-typescript/shoehorn.
Why shoehorn?
- Pass partial data in tests while keeping TypeScript happy
- Replace
asassertions with type-safe alternatives - Test code only — never use in production
Functions
- fromPartial() — Pass partial data that still type-checks
- fromAny() — Pass intentionally wrong data
- fromExact() — Force full object
Workflow
- Gather requirements — What test files have
asassertions? - Install — npm i @total-typescript/shoehorn
- Find — grep for
as Typepatterns in test files - Replace — as Type → fromPartial(), as unknown as Type → fromAny()
- Verify — Run type check
Credit
This skill is based on the work of Matt Pocock (@mattpocock). Original source: mattpocock/skills. Licensed under MIT.
How to use?
1. Download
Go to the AGENT KD SKILL gallery and find this skill card. Click Download to save the SKILL.md file to your computer.
2. Install
Copy the downloaded SKILL.md into your agent's skills directory:
| Agent | Path |
|---|---|
| opencode | ~/.config/opencode/skills//SKILL.md |
| Claude Code | ~/.claude/skills//SKILL.md |
| Codex CLI | ~/.codex/skills//SKILL.md |
| Cursor | ~/.cursor/skills//SKILL.md |
| Gemini CLI | ~/.gemini/skills//SKILL.md |
Example for opencode:
ash mkdir -p ~/.config/opencode/skills/<skill-name> cp SKILL.md ~/.config/opencode/skills/<skill-name>/SKILL.md
3. Use
Restart your agent session. The skill will auto-load based on its description. You can also invoke it explicitly by typing @ in your agent.
4. Verify
Ask your agent something related to the skill's purpose. If it responds using the skill's instructions, you're all set.