К основному содержанию
скилл CX Codex

typescript-magician — скилл для Claude Code: как установить

Устраняет ошибки TypeScript, заменяет any на строгие типы и строит типобезопасные дженерики. Помогает навести порядок в типах кодовой базы.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add mcollina/skills --skill typescript-magician -a claude-code
Открыть на GitHub

Что делает typescript-magician

Скилл работает по чётким шагам. Перед внесением правок агент запускает tsc --noEmit, чтобы зафиксировать исходные ошибки компилятора. Затем он ищет причину сбоя вроде неявных any или неточных ограничений дженериков и заменяет их строгими конструкциями. Завершается работа повторным вызовом tsc --noEmit, подтверждающим чистую сборку проекта.

Инструмент использует возможности TypeScript: условные типы, ключевое слово infer, сопоставленные типы, шаблонные литералы строк, брендированные типы и утилиты вроде ReturnType или Awaited. При замене any скилл перепроверяет совместимость со всеми местами вызова функций.

Для полноценной работы скиллу требуется настроенный компилятор tsc в вашем репозитории, иначе агент не сможет автоматически валидировать типы.

Какие задачи решает

  • убрать типы any и заменить их строгими дженериками
  • исправить ошибки компилятора TypeScript с проверкой через tsc --noEmit
  • написать тайпгарды для валидации неизвестных структур данных
  • реализовать брендированные типы и условную типизацию

Примеры запросов агенту

  • Найди в файле src/api.ts неявные типы any и замени их на безопасные дженерики.
  • Исправь ошибку типизации в функции и проверь результат через tsc --noEmit.
  • Напиши тайпгард для сужения неизвестного ответа от сервера к интерфейсу пользователя.

Как установить typescript-magician

1Через Skills CLI (Vercel)

npx skills add mcollina/skills --skill typescript-magician -a claude-code

2Вручную: положить файлы

~/.claude/skills/typescript-magician/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/typescript-magician/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора11

fastify-best-practices Скилл обучает ассистента архитектуре серверов на Fastify для Node.js. Он помогает настраивать маршруты, плагины, валидацию схем и логирование через Pino. CX Codex +1 81 400установок node Даёт агенту правила для Node.js и TypeScript: от запуска .ts без сборки до потоков, тестов и остановки сервиса. CX Codex +1 5 900установок nodejs-core Скилл для правок и отладки ядра Node.js: коммиты и PR в nodejs/node, нативные краши, V8, node-gyp, N-API и libuv. CX Codex +1 1 900установок documentation Скилл структурирует техническую документацию по фреймворку Diátaxis. Он помогает писать туториалы, инструкции how-to, справочники и концептуальные статьи без каши в структуре. CX Codex +1 1 800установок octocat Скилл связывает агента с Git и GitHub через gh CLI. Он пригодится для PR, issue, проверок CI, веток и анализа истории репозитория. CX Codex +1 1 300установок init Собирает AGENTS.md из того, что агент не выведет из кода: нестандартные команды, ловушки, локальные договорённости. И выкидывает из файла всё остальное. CX Codex +1 1 300установок oauth Настраивает авторизацию OAuth 2.0 и 2.1 в приложениях на Fastify с защитой через PKCE и ротацией токенов. Пригодится для проверки JWT, настройки сессий и устранения ошибок redirect URI. CX Codex +1 1 300установок skill-optimizer Скилл для тех, кто пишет и правит скиллы: помогает понять, почему модель их не применяет, и не ухудшают ли они вывод. CX Codex +1 1 400установок

Похожие

typescript-advanced-types sickn33 Помогает агенту писать дженерики, условные и mapped-типы в TypeScript и честно говорит, где проверка типов заканчивается. CX Codex +1 1 300установок typescript gentleman-programming Скилл задаёт агенту правила строгого TypeScript: const-объекты вместо union-типов, плоские интерфейсы, отказ от any. Пригодится, когда код пишет ИИ и хочется единый стиль. CX Codex +1 496установок typescript-pro VoltAgent Community Субагент помогает писать TypeScript со сложными типами, generic-ами и проверкой типобезопасности между frontend и backend. Пригодится для крупных типизированных модулей. 9 602установок typescript-discriminated-unions mkosir Скилл учит ИИ-агента применять дискриминированные объединения в TypeScript для взаимоисключающих состояний и проверять исчерпывающий switch через ESLint. CX Codex +1 3 800установок typescript-variables mkosir Применяет соглашения TypeScript для переменных: const assertions, замена enum на литеральные типы, union вместо флагов, различение null и undefined. CX Codex +1 3 800установок typescript-refactor pproenca Скилл с 47 правилами по рефакторингу TypeScript и React/TSX: типы, сужение, дженерики, современные фичи TS 6.0 и React 19. CX Codex +1 788установок

Рядом в теме «Языки программирования»

Все скиллы по теме «Языки программирования» →

Вопросы о typescript-magician

Как установить typescript-magician в Claude Code?

Выполните команду npx skills add mcollina/skills --skill typescript-magician -a claude-code.

Что делает скилл typescript-magician?

Он проектирует строгие типы, убирает any, создаёт функции сужения типов и устраняет ошибки компилятора TypeScript.

Как typescript-magician проверяет корректность правок?

Скилл запускает tsc --noEmit до внесения изменений для фиксации ошибок и повторяет её после правок, чтобы подтвердить чистую сборку.

Исходный текст

SKILL.md · MIT
---
name: typescript-magician
description: Designs complex generic types, refactors `any` types to strict alternatives, creates type guards and utility types, and resolves TypeScript compiler errors. Use when the user asks about TypeScript (TS) types, generics, type inference, type guards, removing `any` types, strict typing, type errors, `infer`, `extends`, conditional types, mapped types, template literal types, branded/opaque types, or utility types like `Partial`, `Record`, `ReturnType`, and `Awaited`.
metadata:
  tags: typescript, types, generics, type-safety, advanced-typescript
---

## When to use

Use this skill for:
- TypeScript errors and type challenges
- Eliminating `any` types from codebases
- Complex generics and type inference issues
- When strict typing is needed

## Instructions

When invoked:
1. Run `tsc --noEmit` to capture the full error output before making changes
2. Identify the root cause of type issues (unsound inference, missing constraints, implicit `any`, etc.)
3. Craft precise, type-safe solutions using advanced TypeScript features
4. Eliminate all `any` types with proper typing — validate each replacement still satisfies call sites
5. Confirm the fix compiles cleanly with a second `tsc --noEmit` pass

Capabilities include:
- Advanced generics and conditional types
- Template literal types and mapped types
- Utility types and type manipulation
- Brand types and nominal typing
- Complex inference patterns
- Variance and distribution rules
- Module augmentation and declaration merging

For every TypeScript challenge:
- Explain the type theory behind the problem
- Provide multiple solution approaches when applicable
- Show before/after type representations
- Include comprehensive type tests
- Ensure full IntelliSense support

## Quick Examples

### Eliminating `any` with generics

**Before**
```ts
function getProperty(obj: any, key: string): any {
  return obj[key];
}
```

**After**
```ts
function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
  return obj[key];
}
// getProperty({ name: "Alice" }, "name") → inferred as string ✓
```

### Narrowing an unknown API response

**Before**
```ts
async function fetchUser(): Promise<any> {
  const res = await fetch("/api/user");
  return res.json();
}
```

**After**
```ts
interface User { id: number; name: string }

function isUser(value: unknown): value is User {
  return (
    typeof value === "object" &&
    value !== null &&
    "id" in value &&
    "name" in value
  );
}

async function fetchUser(): Promise<User> {
  const res = await fetch("/api/user");
  const data: unknown = await res.json();
  if (!isUser(data)) throw new Error("Invalid user shape");
  return data;
}
```

## Reference

Read individual rule files for detailed explanations and code examples:

### Core Patterns
- [rules/as-const-typeof.md](rules/as-const-typeof.md) - Deriving types from runtime values using `as const` and `typeof`
- [rules/array-index-access.md](rules/array-index-access.md) - Accessing array element types using `[number]` indexing
- [rules/utility-types.md](rules/utility-types.md) - Built-in utility types: Parameters, ReturnType, Awaited, Omit, Partial, Record

### Advanced Generics
- [rules/generics-basics.md](rules/generics-basics.md) - Fundamentals of generic types, constraints, and inference
- [rules/builder-pattern.md](rules/builder-pattern.md) - Type-safe builder pattern with chainable methods
- [rules/deep-inference.md](rules/deep-inference.md) - Achieving deep type inference with F.Narrow and const type parameters

### Type-Level Programming
- [rules/conditional-types.md](rules/conditional-types.md) - Conditional types for type-level if/else logic
- [rules/infer-keyword.md](rules/infer-keyword.md) - Using `infer` to extract types within conditional types
- [rules/template-literal-types.md](rules/template-literal-types.md) - String manipulation at the type level
- [rules/mapped-types.md](rules/mapped-types.md) - Creating new types by transforming existing type properties

### Type Safety Patterns
- [rules/opaque-types.md](rules/opaque-types.md) - Brand types and opaque types for type-safe identifiers
- [rules/type-narrowing.md](rules/type-narrowing.md) - Narrowing types through control flow analysis
- [rules/function-overloads.md](rules/function-overloads.md) - Using function overloads for complex function signatures

### Debugging
- [rules/error-diagnosis.md](rules/error-diagnosis.md) - Strategies for diagnosing and understanding TypeScript type errors

© mcollina · MIT · mcollina/skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой