LO
typescript
Обеспечивает строгую типизацию и стиль кода при работе с TypeScript/TSX/MTS, включая импорт, асинхронный код и подавление ошибок. Полезно для поддержания безопасности типов в редакторе LobeHub.
Что делает навык
Набор правил для обеспечения строгой типизации и единого стиля кода в TypeScript/TSX/MTS, охватывающий управление типами, асинхронные паттерны и подавление ошибок. Помогает поддерживать безопасность типов и избегать накопления технического долга при работе с редактором LobeHub.
Когда применять
- Применение строгих правил типизации: использование `interface` для объектов, `type` для объединений и `Record<PropertyKey, unknown>` вместо `any`.
- Написание асинхронного кода для операций ввода-вывода (IO) с использованием Promise-based API (например, `fs/promises`) и `top-level await` вместо синхронных вызовов.
- Подавление ошибок TypeScript с приоритетом `@ts-expect-error` над `@ts-ignore` и `as any`.
- Расширение типов через ES module augmentation (`declare module`) вместо использования `namespace`.
Как работает
- Избегать явных аннотаций типов там, где TypeScript может вывести их самостоятельно, и явно типизировать переменные только при необходимости.
- Предпочитать `as const satisfies XyzInterface` обычному `as const` и использовать `@ts-expect-error` для подавления ошибок.
- Для нового кода с операциями IO (fs, child_process) всегда использовать асинхронные API (например, `import { readFile } from 'fs/promises'`), избегая `*Sync` методов.
- Использовать `top-level await` (ESM) для инициализации модулей и CLI, не допуская синхронных цепочек в новых модулях.
- Определять поля метаданных (например, `PipelineContext.metadata`) рядом с процессором или плагином, который их использует, а не в центральном реестре.
- При необходимости расширения типов использовать ES module augmentation, избегая паттернов на основе `namespace`.
Примеры запросов агенту
Напиши функцию чтения файла с использованием строгой типизации и асинхронных API из fs/promises.
Проверь типы в объекте React props, используя interface, и замени any на Record<PropertyKey, unknown>.
Исправь ошибку TypeScript в коде, используя @ts-expect-error, и убедись, что типы выводятся автоматически.
Описание составлено по SKILL.md навыка, сверено 06.10.2026.
Как подключить
1Скачать навык
# возьмите папку навыка «typescript» из репозитория:
# https://github.com/lobehub/lobehub
2Положить папку с
SKILL.md к навыкам ассистента# положите папку навыка туда, где ассистент ищет skills:
cp -r typescript/ ~/.claude/skills/typescript/
Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.