Migrate to Shoehorn
Remplace les assertions de type `as` dans les tests par les helpers type-safe de @total-typescript/shoehorn — fromPartial(), fromAny(), fromExact() — avec patterns avant/après et workflow de migration pas à pas
- Quoi
- Remplace les assertions de type `as` dans les tests par les helpers type-safe de @total-typescript/shoehorn — fromPartial(), fromAny(), fromExact() — avec patterns avant/après et workflow de migration pas à pas
- Coût
- Gratuit
- Prérequis
- un projet TypeScript avec des fichiers de test utilisant des assertions `as`. Le workflow du skill installe @total-typescript/shoehorn via npm.
- Installation
- Copiez le prompt d’installation ci-dessous dans votre Muse — votre agent fait le reste.
Sélectionné par Skill Harbor — un skill de migration de tests TypeScript qui remplace les assertions de type `as` par les helpers type-safe de `@total-typescript/shoehorn`, pour passer des données partielles dans les tests tout en gardant TypeScript satisfait. Il expose le cas simplement : shoehorn est réservé au code de test, jamais au code de production, et le `as` dans les tests est pénible — le type cible doit être épelé manuellement, et les données volontairement erronées exigent le double-`as` disgracieux (`as unknown as Type`). Le skill enseigne les trois fonctions et quand utiliser chacune : `fromPartial()` pour des données partielles qui passent toujours le type-check (le gros gain — ne passer que les propriétés qui vous intéressent au lieu de simuler les 20 champs d'une Request), `fromAny()` pour des données volontairement erronées qui gardent l'autocomplétion, `fromExact()` pour forcer un objet complet (à remplacer par fromPartial plus tard). Les patterns avant/après rendent chaque migration concrète, et le workflow est actionnable : demander quels fichiers de test ont des assertions `as` problématiques, installer (`npm i @total-typescript/shoehorn`), trouver les fichiers de test avec un grep (`grep -r " as [A-Z]" --include="*.test.ts" --include="*.spec.ts"`), remplacer `as Type` par `fromPartial()`, `as unknown as Type` par `fromAny()`, ajouter les imports, puis lancer le type check pour vérifier. Crédit : @mattpocock. Bémols honnêtes : code de test uniquement — shoehorn ne doit jamais finir en production ; il remplace des assertions, il n'ajoute pas de vraie couverture de types, lancez donc votre type checker et votre suite de tests après la migration ; le workflow vous demande d'abord quels fichiers migrer, ce n'est pas une réécriture automatique de tout le dépôt. Skill Harbor ne vérifie jamais le code, examinez-le vous-même avant usage.
Version :
Installation
Prérequis : un projet TypeScript avec des fichiers de test utilisant des assertions `as`. Le workflow du skill installe @total-typescript/shoehorn via npm. Installe-moi « Migration vers Shoehorn — Matt Pocock ». Un skill de migration de tests qui remplace les assertions de type `as` par les helpers type-safe de @total-typescript/shoehorn (fromPartial(), fromAny(), fromExact()) — avec patterns avant/après et workflow pas à pas (trouver les fichiers de test, remplacer, importer, lancer le type check). Code de test uniquement — jamais pour le code de production. Dépôt : https://github.com/mattpocock/skills/blob/main/skills/misc/migrate-to-shoehorn/SKILL.md 1. Récupère le fichier SKILL.md (et les fichiers auxiliaires) depuis le chemin du dépôt dans un dossier temporaire et résume en une ou deux phrases ce qu'il fait. 2. Contrôle de sécurité : examine le SKILL.md et les scripts pour tout comportement suspect (appels réseau inattendus, commandes shell, récolte d'identifiants). Ce dépôt ne doit contenir aucun secret dans le code, les identifiants passent uniquement par le coffre sécurisé. Vérifie que c'est bien le cas ; ARRÊTE sur le moindre drapeau rouge et dis-le-moi. 3. Installe-le comme skill : copie SKILL.md et ses fichiers auxiliaires dans le répertoire des skills de l'agent, dans un dossier nommé « mattpocock-migrate-to-shoehorn ». 4. Vérifie sans appels réseau : frontmatter valide, fichiers en place. 5. Indique ce qui a été installé, où, et ce qu'il me reste à faire moi-même. GitHub est optionnel : si j'ai un compte GitHub ou la CLI gh, tu peux l'utiliser ; sinon l'accès public suffit. Ne l'exige jamais sauf si c'est dans les prérequis ci-dessus. Règles : ne touche à rien en dehors du dossier temporaire et de la cible d'installation. Si quelque chose semble anormal, arrête et demande-moi.
Questions
Comment installer une création ?
Chaque fiche produit contient un prompt d’installation à copier-coller. Collez-le dans votre Muse et il installe la création pour vous — sans configuration manuelle.
Où va mon argent ?
Directement au vendeur. Skill Harbor ne traite jamais les paiements : le paiement se fait sur la page du vendeur, généralement via Stripe.
Que signifie le ✓ à côté du nom d’un créateur ?
Il signifie que nous avons confirmé l’identité de la personne derrière la fiche. Il ne dit rien sur le code lui-même — vérifiez toujours une création avant de l’installer.