Unit Test Skills by Mavka — плагин

Два скилла для Java: план тестов по ветвям кода, тесты JUnit 5 с Mockito и AssertJ, компиляция и запуск до отчета

  • 73 ★ репозитория
  • Последний коммит
  • MIT
Плагин

Расширенный доступ

Почему такой уровень

  • Скилл `generate-tests` без присмотра пишет файлы тестов и запускает компиляцию и тесты на вашей машине
  • Сгенерированные тесты стоит просмотреть: зеленая сборка и полное покрытие не гарантируют находку дефектов
Все причины и проверки

mavka-ai/unit-tests-skills

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add plugins/unit-test-skills-by-mavka

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Скилл `generate-tests` без присмотра пишет файлы тестов и запускает компиляцию и тесты на вашей машине
  • Сгенерированные тесты стоит просмотреть: зеленая сборка и полное покрытие не гарантируют находку дефектов

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Скиллы дают агенту процесс тестирования вместо разового запроса «напиши тесты». Агент, которому велели написать тесты, может остановиться, как только сборка стала зеленой, а полный охват ветвей не гарантирует, что дефекты будут найдены. Поэтому работа идет по цепочке Plan, Generate, Compile, Run: сначала список случаев из ветвей кода, затем тесты, затем проверка компиляции и запуск. Скилл `generate-tests` выполняет весь процесс без присмотра: анализирует код, печатает список тестовых случаев, пишет тесты и проверяет, что они компилируются и проходят. Команда выглядит как `/generate-tests src/services/OrderService.java`. Скилл `generate-test-cases` только анализирует и выдает структурированный список в формате Given-When-Then, код не пишется, и вы просматриваете план заранее. Поддерживается Java с JUnit 5, Mockito и AssertJ. Правила навязывают общие практики: имена в формате `{метод}_{состояние}_{результат}`, структура Given-When-Then с префиксами `actual` и `expected`, один сценарий на тест, проверка поведения без привязки к реализации, никакой логики в тестах, данные через помощники и билдеры, подготовка внутри теста. Автор приводит замер на одной цели, Spring Petclinic с 12 внесенными дефектами: при зеленой сборке и 100 процентах покрытия ветвей тесты со скиллами поймали 10–11 дефектов вместо 5.

Для кого. Java-разработчикам, у которых сервисы и контроллеры остались без юнит-тестов и которым нужны тесты с единым стилем имен и структуры.

Подходит, если

  • Нужно покрыть тестами непокрытый сервис, например `OrderService`, по ветвям кода
  • План тестовых случаев хочется прочитать и поправить до того, как напишется код тестов
  • Тесты должны выдерживать мутационную проверку, полного покрытия ветвей для этого мало
  • Команде нужны единые правила имен и структуры тестов: `метод_состояние_результат` и Given-When-Then

Не подходит, если

  • Проект написан не на Java: поддерживаются только JUnit 5, Mockito и AssertJ
  • Нужны интеграционные тесты со стеком и базой: набор рассчитан на юнит-тесты
  • Нужен результат без запуска сборки: скилл запускает компиляцию и тесты на вашей машине

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

/generate-tests src/services/OrderService.java

Ограничения

Поддерживается только Java с JUnit 5, Mockito и AssertJ. Скилл `generate-tests` сам запускает компиляцию и тесты, поэтому в проекте должна работать сборка. Замер автора касается одной зафиксированной цели, Spring Petclinic, с 12 внесенными дефектами и двух движков (Claude Code 2.1.276 с OPUS-5 и Codex 0.155.1 с `gpt-5.6-sol`). Результаты на других кодовых базах, задачах и моделях могут отличаться.

Для надежного обнаружения скилла автор советует добавить фрагмент из `templates/AGENTS-SNIPPET.md` в `AGENTS.md` проекта. Названия команд зависят от установки: после плагина они идут с префиксом `/unit-tests-skills:`. Лицензия MIT, последний коммит от 23 сентября 2026 года.

Как отключить. Для плагина выполните `/plugin uninstall unit-tests-skills@mavka`. Скиллы, поставленные через `npx skills`, удалите из каталога скиллов агента, а фрагмент для `AGENTS.md` уберите вручную. Созданные тесты остаются в проекте.

Частые вопросы

Как установить скиллы в Claude Code?

Выполните `/plugin marketplace add mavka-ai/unit-tests-skills`, затем `/plugin install unit-tests-skills@mavka`. Команды получат префикс: `/unit-tests-skills:generate-tests` и `/unit-tests-skills:generate-test-cases`.

Чем `generate-tests` отличается от `generate-test-cases`?

Первый ведет весь процесс без присмотра: план, тесты, компиляция и запуск. Второй только выдает список случаев в формате Given-When-Then и код не пишет.

Какие языки и библиотеки поддерживаются?

Java с JUnit 5, Mockito и AssertJ. Для других языков скилл не рассчитан.

Что показал замер на Petclinic?

При зеленой сборке и 100 процентах покрытия ветвей тесты без скилла поймали 5 из 12 внесенных дефектов у обоих агентов. С ним Claude поймал 10, Codex 11. Это одна зафиксированная цель, на других проектах результат может быть другим.

Как сделать так, чтобы агент находил скиллы?

Установите через `npx skills add mavka-ai/unit-tests-skills` и добавьте фрагмент из `templates/AGENTS-SNIPPET.md` в `AGENTS.md`. Альтернатива: `npx openskills install mavka-ai/unit-tests-skills` и затем `npx openskills sync` сам обновит `AGENTS.md`.

Обсуждение

Вопросов и отзывов пока нет.

Плагины

Семь QA-агентов и десять скиллов для автотестов: Playwright на TypeScript, Selenium на Java, API, доступность и ISTQB.

ПлагинРасширенный доступ263Звезды репозитория

Плагин с навыками для тестирования: от требований и тест-кейсов до прогона API, мобильных и веб-проверок с доказательствами.

ПлагинРасширенный доступ101Звезды репозитория

169 QA-скиллов на двух языках: тест-дизайн, API, UI, регрессия, нагрузка, безопасность и тесты LLM для агентов.

СкиллМинимальный доступ308Звезды репозитория
Официальный

CLI от TestMu AI: сам пишет сквозные тесты из требований и гоняет их в браузере и на мобильных, а скилл подключает агента

CLIШирокий доступ264Звезды репозитория

Скилл ведет Claude Code и Codex через пишущий и чинящий цикл автотестов API на pytest с проверкой реальным запуском.

СкиллРасширенный доступ174Звезды репозитория

Скилл Пола Хадсона по Swift Testing: параметризованные тесты, подтверждения, тесты на завершение процесса и переход с XCTest

СкиллМинимальный доступ479Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйЗвезды репозиторияГлавное отличие
Unit Test Skills by Mavka (эта карточка)нет73
TDD Guardнет2 377следит за TDD-циклом у агента, эти скиллы планируют случаи по ветвям Java-кода и проверяют тесты компиляцией и запуском
claude-code-javaнет773набор подсказок для Java в Claude Code, этот ведет процесс тестирования Plan, Generate, Compile, Run

Коротко о README

Описание подает скиллы как процесс тестирования Plan, Generate, Compile, Run и сравнивает результаты с замером на Spring Petclinic. Дальше идут три способа установки, примеры вызова, пример плана и теста, шаги работы и таблица принципов тестирования.

Бейдж для README

Исходный SKILL.md

---
name: generate-test-cases
description: "Use when the user asks to analyze code for test coverage, list what test cases are needed, or review testing strategy — WITHOUT generating actual test code."
allowed-tools: Read, Glob, Grep
argument-hint: "<file-path-or-class>"
---

# Generate Test Cases Skill

You will analyze code and generate a list of test cases that should be written for a given method/class. This skill outputs test case descriptions only — it does NOT generate actual test code.

**Target to analyze:** $ARGUMENTS

## Quality Standards

- Take your time to analyze the code thoroughly before listing test cases.
- Quality is more important than speed — read all relevant source files and rules carefully.
- Do not skip reading the dependency classes. Understanding the full context produces better test cases.

---

## Instructions

### Step 1: Read Rules and Analyze Context

1. **Read the rules** from `./rules/general/` directory (see Rules Reference below)
2. **Read the target** source file/class/method specified above
3. **Read dependencies**: Follow imports to read DTOs, entities, enums, and other types referenced by the target (as specified in `code-context-analysis` rule)
4. **Check for existing tests**: Search for existing test classes covering this target (as specified in `existing-test-awareness` rule) — if found, read it fully and focus only on behaviors not yet covered

### Step 2: Generate Test Cases

1. Analyze ALL code branches, including:
   - Success paths
   - Error/exception paths
   - Validation logic
   - Private/protected methods called by the target
   - Security annotations (if present)
2. Apply the INCLUDE/EXCLUDE rules strictly
3. Output the list of test cases in the specified format
4. Stop at the descriptions — the list itself is this skill's deliverable
5. Close by naming the next step: `generate-tests <target>` takes this list as its plan
   and writes the code from it. Hand the list forward as it stands — the user can review
   or amend it first

Сообщить о проблеме