AIKraft/Skills/Волшебник TypeScript

Волшебник TypeScript

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

mcollina official Дизайн

Что делает навык

Skill предназначен для проектирования сложных generic-типов, рефакторинга типов any в строгие альтернативы, создания type guards и utility types, а также решения ошибок компилятора TypeScript. Он помогает применять строгую типизацию, работать с выводом типов, условными типами, mapped types и брендированными типами.

Когда применять

  • Устранение типов any из кодовой базы и замена их на строгие альтернативы.
  • Решение сложных задач с generics и выводом типов (type inference).
  • Создание type guards для сужения типов (narrowing) и проверки структур данных.
  • Работа с продвинутыми типами: conditional types, template literal types, mapped types.
  • Отладка и диагностика ошибок компилятора TypeScript.

Как работает

  1. Запустить tsc --noEmit для получения полного вывода ошибок до внесения изменений.
  2. Выявить корневую причину проблем с типами (несоответствующий вывод, отсутствующие ограничения, implicit any и т.д.).
  3. Создать точные, типобезопасные решения с использованием продвинутых возможностей TypeScript.
  4. Устранить все типы any, заменив их на правильное типизирование, и проверить, что замены удовлетворяют местам вызова.
  5. Подтвердить, что исправление компилируется чисто, запустив tsc --noEmit во второй раз.
  6. Объяснить теорию типов, лежащую в основе проблемы, и предоставить примеры до/после.

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

Как убрать тип any из функции getProperty и сделать её строго типизированной?
Помоги написать type guard для проверки структуры ответа API и вернуть строго типизированный объект User.
Как использовать conditional types и infer для извлечения типа из сложного generic-параметра?

Что понадобится

  • Установленный TypeScript (команда tsc)
  • Возможность запуска tsc --noEmit для проверки типов

Описание составлено по SKILL.md навыка, сверено 05.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «typescript-magician» из репозитория: # https://github.com/mcollina/skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r typescript-magician/ ~/.claude/skills/typescript-magician/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.