khalilbenaz/claude-skills-collection/typescript-mastery
Claude Code and agent skill by khalilbenaz/claude-skills-collection
- community
Checking that the SKILL.md file is still in the repository.
Maîtrise de TypeScript avec types avancés et patterns. Se déclenche avec "TypeScript", "TS", "types", "generics", "interface", "type guard", "utility types", "strict mode", "tsconfig". Also triggers on "TypeScript types", "fix this type error".
Install
npx vskill@latest install khalilbenaz/claude-skills-collection/typescript-masterySKILL.md
TypeScript Mastery
1. Configuration — point de départ obligatoire
tsconfig.json minimal recommandé (2026) :
Critères de choix `moduleResolution` :
| Contexte | Valeur | |
|---|---|---|
| Vite, esbuild, webpack 5 | bundler | |
| Node 18+ natif (ESM) | node16 ou nodenext | |
| Lib publiée NPM | node16 | |
| Legacy CJS | node |
Monorepo : utiliser references + composite: true par package pour éviter que tsc recompile tout.
2. Types fondamentaux — choisir la bonne construction
`type` vs `interface` :
interface→ shape d'objet qu'on va étendre ou merger (lib publique, OOP).type→ union, intersection, mapped type, alias de primitive. Par défaut utilisertype.
3. Generics avancés
4. Utility types — référence rapide
| Built-in | Usage concret | |
|---|---|---|
Partial<T> | Formulaire de mise à jour partielle | |
Required<T> | Forcer tous les champs après validation | |
Pick<T, K> | Projeter une sous-forme | |
Omit<T, K> | Exclure password d'un DTO user | |
Record<K, V> | Map statique clé-valeur | |
Readonly<T> | Config immuable | |
ReturnType<F> | Typer le retour d'une fonction inconnue | |
Awaited<T> | Déballer le type d'une Promise | |
Parameters<F> | Forwarding d'arguments | |
NonNullable<T> | Après un guard null |
5. Type guards et narrowing
6. Patterns métier
Result type (gestion d'erreurs sans exception) :
Validation runtime → types TS avec Zod :
Repository générique typé :
7. APIs type-safe
8. Debugging des types
9. Anti-patterns et pièges
| Anti-pattern | Problème | Remède | ||
|---|---|---|---|---|
any partout | Désactive le type checker | unknown + narrowing | ||
as Type sans validation | Cast dangereux silencieux | Zod parse ou type guard | ||
! non-null assertion | Exception runtime non détectée | assertDefined() ou ?. | ||
enum standard | Génère du JS runtime, tree-shaking difficile | const enum ou union de literals | ||
| Types écrits manuellement dupliquant le schéma DB/API | Désynchronisation garantie | Générer depuis OpenAPI / Prisma / Zod | ||
noUncheckedIndexedAccess: false | arr[0] peut être undefined sans avertissement | Activer et gérer le `T \ | undefined` | |
Ignorer exactOptionalPropertyTypes | { a?: string } accepte { a: undefined } | Activer pour distinguer absent vs undefined | ||
Object ou {} comme type générique | Trop permissif, accepte tout | object, Record<string, unknown> |
10. Bonnes pratiques 2026
- Générer, ne pas écrire les types depuis la source de vérité : Prisma → types DB, OpenAPI → types API, Zod schema → types métier.
- `satisfies` plutôt que
: Typequand on veut garder le type inféré précis tout en le validant. - `verbatimModuleSyntax` obligatoire : sépare clairement
import type(zéro runtime) deimport(runtime). - Commenter avec JSDoc (
/** */) les types publics : les IDE affichent le commentaire au hover, indispensable pour les libs internes. - `tsd` ou
@vitest/expect-typepour les tests de types dans la CI : évite les régressions silencieuses. - `ts-reset` (Matt Pocock) pour corriger les types stdlib surprenants (
JSON.parse→unknown,Array.isArraycorrect, etc.).
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingdev-skills/typescript-mastery/SKILL.md
Popularity
- Repository stars
- 9
- Repository forks
- 5
- 7-day trend score
- 12
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/khalilbenaz/claude-skills-collection/typescript-mastery)