python-best-practices · c0x12c — скилл для Claude Code: обзор и установка
Задаёт архитектурные стандарты для бэкенда на FastAPI и Pydantic v2. Помогает писать чистый асинхронный код и выдерживать границы слоёв.
npx skills add c0x12c/ai-toolkit --skill python-best-practices -a claude-codeЧто делает python-best-practices
Скилл инструктирует ассистента строго делить проект по уровням: роутер обращается только к сервису, а сервис работает с репозиторием. Каждый слой взаимодействует только с тем, что находится прямо под ним. Сетевые запросы наружу отправляются через httpx.AsyncClient. Логику запуска и завершения приложения переключают на контекстный менеджер lifespan взамен устаревшего on_event.
В схемах Pydantic v2 требуется явно указывать from_attributes=True, иначе модели ORM тихо перестанут сериализоваться в ответы. Для полей со сложными дефолтными значениями предписан default_factory. В моделях SQLAlchemy 2.0 вместо устаревшего Column используются аннотации Mapped вместе с mapped_column, сохраняя автодополнение в редакторе.
Особое внимание уделено асинхронности. Синхронные блокирующие вызовы внутри async def намертво подвешивают весь event loop. Поэтому под ресурсоёмкие вычисления скилл требует объявлять обычные функции def, которые FastAPI уводит в отдельный пул потоков.
Какие задачи решает
- Разделить логику приложения между роутерами, сервисами и репозиториями
- Перевести схемы данных со старого orm_mode на Pydantic v2
- Настроить мягкое удаление записей через SoftDeleteMixin
- Заменить устаревший datetime.utcnow() на timezone-aware datetime.now(UTC)
- Устранить блокирующие вызовы внутри асинхронных эндпоинтов
Примеры запросов агенту
- Проверь роуты в
app/api/v1на блокирующие вызовы внутри async def - Перепиши модели в
app/models/user.pyна синтаксис SQLAlchemy 2.0 с Mapped - Сделай схему пагинации через PaginatedResponse для эндпоинта списка заказов
Как установить python-best-practices
1Через Skills CLI (Vercel)
npx skills add c0x12c/ai-toolkit --skill python-best-practices -a claude-code2Вручную: положить файлы
~/.claude/skills/python-best-practices/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/python-best-practices/
1Через Skills CLI (Vercel)
npx skills add c0x12c/ai-toolkit --skill python-best-practices -a codex2Вручную: положить файлы
.agents/skills/python-best-practices/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add c0x12c/ai-toolkit --skill python-best-practices -a cursor2Вручную: положить файлы
.cursor/skills/python-best-practices/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install c0x12c/ai-toolkit python-best-practices2Вручную: положить файлы
.github/skills/python-best-practices/SKILL.md1Через Skills CLI (Vercel)
npx skills add c0x12c/ai-toolkit --skill python-best-practices -a gemini-cli2Командой платформы
gemini skills install https://github.com/c0x12c/ai-toolkit --path toolkit/skills/python-best-practicesВручную: положить файлы
.devin/skills/python-best-practices/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add c0x12c/ai-toolkit --skill python-best-practices -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о python-best-practices
Как установить python-best-practices в Claude Code?
Выполните команду npx skills add c0x12c/ai-toolkit --skill python-best-practices -a claude-code в терминале.
Что делает скилл python-best-practices?
Он задаёт правила разработки на FastAPI: разделение проекта на слои, переход на Pydantic v2 и разграничение асинхронных роутов от синхронного кода.
Почему скилл требует использовать plain def вместо async def для некоторых задач?
Синхронный блокирующий код внутри async def блокирует весь event loop сервера. Обычные функции def сам FastAPI исполняет в отдельном пуле потоков, не мешая параллельным запросам.
Похожие скиллы
Все скиллы по теме «Бэкенд и API» →Сначала — python-best-practices от других авторов.