property-based-testing — скилл для Claude Code: тесты и установка
Скилл помогает создавать и проверять property-based-тесты для целого диапазона входных значений. Пригодится для сериализаторов, парсеров и инвариантов смарт-контрактов.
npx skills add trailofbits/skills --skill property-based-testing -a claude-codeЧто делает property-based-testing
Скилл подбирает свойства для проверки кода: например, обратимость преобразования, идемпотентность нормализации или сохранение инварианта. Он помогает написать тесты, оценить уже существующие и разобрать упавший тест: понять, ошибочно ли сформулировано свойство или обнаружена ошибка в коде.
В работе рассматриваются Hypothesis, fast-check, proptest, jqwik, rapid, а для инвариантов Solidity — Echidna и Medusa. Внутри есть отдельные материалы о генераторах, ревью тестов, разборе сбоев, выборе библиотек и подготовке кода, у которого пока нет проверяемого свойства.
Для проекта без библиотеки property-based-тестирования её подключение остаётся решением пользователя: скилл предлагает конкретный тест, а не добавляет зависимость сам. Он не предназначен для бинарного фаззинга, мутационного тестирования, статического анализа, бенчмарков и сквозных UI-тестов.
Какие задачи решает
- Проверить обратимость кодирования и декодирования
- Сформулировать свойства для парсера или нормализатора
- Найти слабые утверждения и пустые условия в тестах
- Разобрать контрпример, найденный генератором
- Задать инварианты состояния Solidity-контракта
Примеры запросов агенту
- Добавь property-based-тесты для пары encode и decode.
- Проверь, что тесты с
@givenдействительно выявляют ошибки. - Разбери контрпример из упавшего теста и проверь, верно ли сформулировано свойство.
Как установить property-based-testing
1Через Skills CLI (Vercel)
npx skills add trailofbits/skills --skill property-based-testing -a claude-code2Вручную: положить файлы
~/.claude/skills/property-based-testing/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/property-based-testing/
1Через Skills CLI (Vercel)
npx skills add trailofbits/skills --skill property-based-testing -a codex2Вручную: положить файлы
.agents/skills/property-based-testing/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add trailofbits/skills --skill property-based-testing -a cursor2Вручную: положить файлы
.cursor/skills/property-based-testing/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install trailofbits/skills property-based-testing2Вручную: положить файлы
.github/skills/property-based-testing/SKILL.md1Через Skills CLI (Vercel)
npx skills add trailofbits/skills --skill property-based-testing -a gemini-cli2Командой платформы
gemini skills install https://github.com/trailofbits/skills --path plugins/property-based-testing/skills/property-based-testingВручную: положить файлы
.devin/skills/property-based-testing/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add trailofbits/skills --skill property-based-testing -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о property-based-testing
Как установить property-based-testing в Claude Code?
Выполните npx skills add trailofbits/skills --skill property-based-testing -a claude-code. Файл скилла появится по пути ~/.claude/skills/property-based-testing/SKILL.md.
Что делает property-based-testing?
Помогает писать и проверять тесты, которые проверяют сформулированные свойства на сгенерированных входных значениях. Также помогает разбирать упавшие проверки.
Добавит ли скилл библиотеку тестирования в проект?
Нет. Если в проекте ещё нет такой библиотеки, решение о добавлении зависимости остаётся за пользователем.