fix-flaky-tests — скилл для Claude Code: чинит нестабильные тесты
Скилл разбирает историю падений теста в Tuist, находит причину и правит код. Пригодится, когда тест то проходит, то нет.
npx skills add tuist/agent-skills --skill fix-flaky-tests -a claude-codeЧто делает fix-flaky-tests
Скилл работает через CLI Tuist. Сначала он тянет метрики теста командой tuist test case show <id-or-identifier> --json, потом смотрит историю нестабильных прогонов через tuist test case run list Module/Suite/TestCase --flaky --json, а детали падения — сообщение, путь к файлу и номер строки — берёт из tuist test case run show <test-case-run-id> --json. Дальше открывает исходник по указанному пути и правит.
Если конкретный тест не задан, скилл сам ищет все нестабильные: tuist test case list --flaky --json --page-size 50. Он группирует их по сьютам, потому что несколько падающих тестов в одном сьюте часто имеют общую причину. Отдельно проверяет, не упали ли тесты в одном прогоне из-за краха процесса, а не из-за собственной ошибки.
Внутри — каталог типовых причин: гонки и незакрытые ожидания, общее состояние между тестами, зависимость от сети, времени и путей, порядок запуска. Для крахов есть разбор по crash_report: EXC_BREAKPOINT, EXC_BAD_ACCESS, EXC_CRASH. Правку скилл советует делать минимальную, без рефакторинга соседнего кода. Проверка — повторный прогон через xcodebuild test с -test-iterations и -run-tests-until-failure; для быстрых юнит-тестов он советует начать с 50–100 итераций, для медленных интеграционных хватит 2–5. Учтите: воспроизвести гонку или проблему, которая видна только на CI, локально может не получиться, тогда скилл идёт от логов и анализа кода.
Какие задачи решает
- найти причину теста, который падает через раз
- отличить баг в тесте от краха процесса на CI
- убрать зависимость теста от текущего времени и часового пояса
- развязать тесты, которые делят общее состояние
- подтвердить правку повторными прогонами теста
Примеры запросов агенту
- Разбери падения теста Module/Suite/TestCase и почини
- Найди все нестабильные тесты в проекте и исправь их
- Почему тест падает только на CI? Посмотри историю прогонов
Как установить fix-flaky-tests
1Через Skills CLI (Vercel)
npx skills add tuist/agent-skills --skill fix-flaky-tests -a claude-code2Вручную: положить файлы
~/.claude/skills/fix-flaky-tests/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/fix-flaky-tests/
1Через Skills CLI (Vercel)
npx skills add tuist/agent-skills --skill fix-flaky-tests -a codex2Вручную: положить файлы
.agents/skills/fix-flaky-tests/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add tuist/agent-skills --skill fix-flaky-tests -a cursor2Вручную: положить файлы
.cursor/skills/fix-flaky-tests/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install tuist/agent-skills fix-flaky-tests2Вручную: положить файлы
.github/skills/fix-flaky-tests/SKILL.md1Через Skills CLI (Vercel)
npx skills add tuist/agent-skills --skill fix-flaky-tests -a gemini-cli2Командой платформы
gemini skills install https://github.com/tuist/agent-skills --path skills/fix-flaky-testsВручную: положить файлы
.devin/skills/fix-flaky-tests/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add tuist/agent-skills --skill fix-flaky-tests -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о fix-flaky-tests
Как установить fix-flaky-tests в Claude?
Выполните npx skills add tuist/agent-skills --skill fix-flaky-tests -a claude-code. Скилл окажется в ~/.claude/skills/fix-flaky-tests/SKILL.md.
Что делает fix-flaky-tests?
Смотрит метрики и историю прогонов теста в Tuist, находит причину нестабильности по сообщениям о падении и путям к файлам и вносит точечную правку в тест.
Нужен ли Tuist, чтобы скилл заработал?
Да, все шаги идут через CLI Tuist: метрики, список нестабильных прогонов и детали падений берутся из его данных.