python-testing-strategies — скилл для Claude Code: тесты FastAPI
Скилл задаёт агенту правила написания тестов для FastAPI: pytest-asyncio, httpx AsyncClient, фабрики данных и обязательные проверки на каждый эндпоинт.
npx skills add c0x12c/ai-toolkit --skill python-testing-strategies -a claude-codeЧто делает python-testing-strategies
Скилл описывает, как писать тесты в проекте на FastAPI. Агент получает набор шаблонов: клиент на httpx.AsyncClient с ASGITransport, фикстуры, простые фабрики тестовых данных с разумными значениями по умолчанию и правила именования тестов вроде test_create_item_missing_name для проверки валидации.
Отдельный блок — обязательное покрытие на каждый эндпоинт: успешный сценарий, 404, ошибка валидации 422, отказ авторизации 401 для защищённых ручек и мягкое удаление, когда удалённые записи не возвращаются. Есть раздел с подводными камнями: без asyncio_mode = "auto" в pyproject.toml асинхронные тесты молча не собираются или зависают, а TestClient из Starlette синхронный и не заменяет AsyncClient — на нём async-баги прячутся. Ещё один камень: состояние базы протекает между тестами без фикстуры с autouse=True, и тогда порядок запуска начинает влиять на результат.
Скилл читает и правит файлы, ищет по проекту и запускает команды в оболочке. Установка — через npx skills add для Claude, Codex, Cursor, Gemini CLI и OpenCode, для GitHub Copilot есть отдельная команда gh skill install.
Какие задачи решает
- написать тесты для асинхронных ручек FastAPI
- настроить
conftest.pyи фикстуры клиента - закрыть каждый эндпоинт проверками на 404, 422 и 401
- сделать фабрики тестовых данных вместо копипасты словарей
- починить тесты, которые не собираются из-за
asyncio_mode
Примеры запросов агенту
- Напиши тесты для эндпоинтов
itemsпо правилам скилла - Настрой
conftest.pyсAsyncClientиASGITransport - Добавь фикстуру с
autouse=True, чтобы база очищалась между тестами
Как установить python-testing-strategies
1Через Skills CLI (Vercel)
npx skills add c0x12c/ai-toolkit --skill python-testing-strategies -a claude-code2Вручную: положить файлы
~/.claude/skills/python-testing-strategies/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/python-testing-strategies/
1Через Skills CLI (Vercel)
npx skills add c0x12c/ai-toolkit --skill python-testing-strategies -a codex2Вручную: положить файлы
.agents/skills/python-testing-strategies/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add c0x12c/ai-toolkit --skill python-testing-strategies -a cursor2Вручную: положить файлы
.cursor/skills/python-testing-strategies/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install c0x12c/ai-toolkit python-testing-strategies2Вручную: положить файлы
.github/skills/python-testing-strategies/SKILL.md1Через Skills CLI (Vercel)
npx skills add c0x12c/ai-toolkit --skill python-testing-strategies -a gemini-cli2Командой платформы
gemini skills install https://github.com/c0x12c/ai-toolkit --path toolkit/skills/python-testing-strategiesВручную: положить файлы
.devin/skills/python-testing-strategies/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add c0x12c/ai-toolkit --skill python-testing-strategies -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о python-testing-strategies
Как установить python-testing-strategies в Claude Code?
Выполните npx skills add c0x12c/ai-toolkit --skill python-testing-strategies -a claude-code. Файл скилла появится по пути ~/.claude/skills/python-testing-strategies/SKILL.md.
Что делает python-testing-strategies?
Даёт агенту шаблоны тестов для FastAPI: асинхронный клиент, фикстуры, фабрики данных и список проверок, которые нужны на каждый эндпоинт.
Почему мои асинхронные тесты не запускаются?
Скорее всего в pyproject.toml не выставлен asyncio_mode = "auto". Без него тесты либо не собираются, либо зависают — скилл советует добавить настройку до того, как писать первый async-тест.