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

write-unit-tests — скилл для Claude Code: тесты для tldraw SDK

Скилл для написания unit- и интеграционных тестов в репозитории tldraw: подсказывает, где размещать тесты, как работать с TestEditor и какие ловушки Vitest подстерегают.

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

Что делает write-unit-tests

Скилл описывает, как писать тесты в монорепозитории tldraw на Vitest. Тесты запускаются из директорий воркспейсов, а не из корня репозитория. Для packages/editor пишут тесты на примитивы, геометрию и менеджеры, для packages/tldraw — на всё, что требует стандартных фигур и инструментов.

Внутри — правила размещения файлов, список примеров для старта и разбор неочевидных мест. События колеса и пинча батчатся, поэтому после editor.dispatch() нужен editor.emit('tick', 16), иначе событие не применится. Для сравнения геометрии с плавающей точкой используется toCloselyMatchObject вместо toMatchObject, иначе тест падает на шуме округления. Анимации требуют подмены requestAnimationFrame на уровне модуля: vi.useFakeTimers() сам по себе не помогает.

У каждого пакета свой TestEditor, и они не взаимозаменяемы: в packages/editor нет стандартных фигур и инструментов. Импортировать нужно из того пакета, который тестируете. В afterEach обязателен editor?.dispose(), иначе подписки и таймеры утекают в следующие тесты того же файла. Скилл требует восстанавливать vi.spyOn через mockRestore() и глобальные состояния в finally или afterEach.

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

  • написать первый тест для нового компонента tldraw
  • разобраться, в каком воркспейсе разместить тест
  • починить падающий тест из-за шума округления геометрии
  • заставить работать тесты с анимацией и requestAnimationFrame
  • убрать утечки таймеров между тестами в одном файле

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

  • Напиши unit-тест для Vec.ts рядом с файлом
  • Добавь интеграционный тест на SelectTool в packages/tldraw/src/test/
  • Почини падающий тест в ArrowShapeUtil.test.ts

Как установить write-unit-tests

1Через Skills CLI (Vercel)

npx skills add tldraw/tldraw --skill write-unit-tests -a claude-code

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

~/.claude/skills/write-unit-tests/SKILL.md

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

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

Вопросы о write-unit-tests

Как установить write-unit-tests в Claude Code?

Выполните npx skills add tldraw/tldraw --skill write-unit-tests -a claude-code. Скилл появится по пути ~/.claude/skills/write-unit-tests/SKILL.md.

Что делает write-unit-tests?

Описывает, как писать unit- и интеграционные тесты на Vitest в репозитории tldraw: где размещать файлы, как использовать TestEditor и какие подводные камни есть у событий, анимаций и моков.

Почему тест с колесом мыши не срабатывает после dispatch?

События колеса и пинча батчатся. После editor.dispatch(wheelEvent) нужно вызвать editor.emit('tick', 16), чтобы событие применилось.

Похожие скиллы

Все скиллы по теме «Тесты и QA» →
improve-codebase-architecture Matt Pocock Скилл ищет архитектурные узкие места в кодовой базе и показывает варианты углубления модулей в HTML-отчёте. Подойдёт для ревью перед рефакторингом. 1 163 035установок design-taste-frontend Leonxlnx Скилл задаёт арт-дирекцию для публичных страниц и рабочих экранов, а затем проверяет результат в браузере по скриншотам. Нужен, когда интерфейс выглядит шаблонным или недоработанным. CX Codex +1 678 700установок tdd Matt Pocock Скилл управляет циклом красный-зелёный в TDD: проверяет, что тесты пишутся до кода, держит их на уровне публичных интерфейсов и не завязывает на внутреннюю структуру. 1 141 062установок skill-creator официальный anthropics Помогает создать новый скилл, доработать существующий и проверить результат через тестовые промпты и оценки. 414 180установок agent-browser vercel-labs Скилл управляет браузером через CLI: открывает страницы, заполняет формы, нажимает кнопки и проверяет веб-приложения. Подходит для задач, где агенту нужно действовать в интерфейсе. CX Codex +1 1 200 000установок prototype Matt Pocock Создаёт временный прототип, чтобы проверить логику, модель состояния или вид интерфейса до работы над основным кодом. 986 201установок

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

write-docs Скилл для написания и обновления документации SDK tldraw. Помогает создавать статьи, обновлять существующие доки и следовать стилю проекта. CX Codex +1 486установок write-example Задаёт правила создания демо-примеров в SDK tldraw: файловую структуру, разметку README.md и каркас компонентов на React. CX Codex +1 445установок skill-creator Инструкция для агента, по которой он собирает новые скиллы: структура SKILL.md, папки с ресурсами и правила, чтобы не раздувать контекст. CX Codex +1 431установок write-e2e-tests Помогает писать Playwright E2E-тесты для tldraw: действия в интерфейсе, меню и фигуры на холсте. Нужен при добавлении тестов в примеры SDK или клиент tldraw.com. CX Codex +1 430установок write-pr Задаёт формат заголовков и описаний пулл-реквестов: семантические типы, структурированные шаблоны и правила изложения для ревьюера. CX Codex +1 419установок write-issue Скилл задаёт правила оформления и триажа задач GitHub в стиле репозитория tldraw. Помогает составить понятный заголовок, структурировать описание и расставить метки. CX Codex +1 405установок review-docs Запускает аудит документации по гайдам стиля и кодовой базе tldraw с оценкой по 40-балльной шкале. Помогает находить неточности в коде и исправлять текст по шагам. CX Codex +1 391установок write-release-notes Готовит и проверяет статьи о релизах tldraw SDK: собирает изменения из PR, выделяет критические правки и требует рецепты миграции. CX Codex +1 327установок

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

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