modern-python
por trailofbitsmodern-python configura proyectos en Python con uv, ruff y ty. Usa la skill modern-python para paquetes nuevos, scripts autónomos o migraciones desde pip, Poetry, mypy y black. Ofrece una guía práctica de modern-python para `pyproject.toml`, scripts PEP 723, grupos de dependencias y una configuración de proyecto reproducible.
Esta skill obtiene 78/100, lo que significa que es una ficha sólida del directorio para quienes buscan una guía de trabajo moderna en Python con valor operativo real. Tiene suficiente claridad para activarse correctamente y aporta bastante detalle de flujo de trabajo, de modo que los agentes pueden trabajar con menos ambigüedad que con un prompt genérico; aun así, funciona mejor como skill de referencia y configuración que como paquete totalmente automatizado instalable.
- El frontmatter y los casos de uso están explícitos: en la descripción de la skill se nombran proyectos nuevos, configuración de `pyproject`, herramientas, dependencias de scripts y migraciones.
- El contenido de flujo de trabajo es amplio y cuenta con 9 archivos de referencia más plantillas, con orientación concreta para `uv`, `ruff`, `ty`, scripts PEP 723, Dependabot, configuración de seguridad y pasos de migración.
- Los antipatrónes operativos y la guía de cuándo no usarlo reducen la ambigüedad cuando los agentes deciden si aplicar la skill.
- No hay comando de instalación en `SKILL.md`, así que su adopción depende de leer y seguir la documentación en lugar de invocar un flujo automatizado empaquetado.
- El contenido está orientado de forma marcada a herramientas modernas y a Python 3.11+, por lo que encaja mal en proyectos con herramientas heredadas o intérpretes antiguos.
Resumen de modern-python
Qué hace modern-python
La skill modern-python te ayuda a iniciar o modernizar proyectos de Python alrededor de uv, ruff y ty, en lugar de combinaciones heredadas como pip, Poetry, mypy y black. Resulta especialmente útil cuando necesitas una guía práctica de modern-python para configurar proyectos, empaquetar scripts o hacer migraciones que deban ser repetibles, rápidas y fáciles de mantener.
Quién debería usarla
Usa la skill modern-python si estás creando un paquete nuevo, una CLI, un script independiente con dependencias o si estás convirtiendo un repositorio existente a herramientas modernas. Encaja muy bien en equipos que trabajan con Python 3.11+ y quieren una sola ruta de herramientas para instalaciones, linting, formato, pruebas y gestión de dependencias.
Por qué se diferencia de un prompt genérico
Esta skill no se limita a “usa uv”. Incorpora reglas de decisión sobre cuándo usar pyproject.toml, cuándo usar metadatos de script PEP 723, cuándo confirmar uv.lock y cuándo no conviene reemplazar un flujo de trabajo existente. Eso hace que la skill modern-python sea más útil que un prompt corriente, porque le da al modelo restricciones concretas en lugar de preferencias vagas.
Cómo usar la skill modern-python
Instala y carga el contexto correcto
Instala la skill modern-python con el comando normal de skills del directorio y luego lee primero SKILL.md, seguido de references/pyproject.md, references/ruff-config.md y references/uv-commands.md. Si vas a hacer una migración, también lee references/migration-checklist.md y references/testing.md antes de empezar a cambiar cosas.
Dale a la skill una forma realista de proyecto
El uso de modern-python funciona mucho mejor cuando indicas si estás construyendo:
- una biblioteca, una app o una CLI
- un script de un solo archivo o un proyecto de varios archivos
- un repositorio nuevo o una migración
- un repositorio que debe conservar herramientas heredadas por ahora
Una solicitud sólida sería: “Configura este repositorio como un paquete de Python 3.12 usando uv, ruff, ty y uv_build; mantenlo apto para biblioteca, añade grupos de dependencias de desarrollo y evita Poetry.” Eso es mejor que pedir “buenas prácticas modernas de Python”, porque la skill puede elegir los archivos y comandos correctos.
Lee primero los archivos con más señal
Para trabajos orientados a instalación, revisa estas rutas en este orden:
SKILL.mdreferences/pyproject.mdreferences/uv-commands.mdreferences/ruff-config.mdreferences/pep723-scripts.mdsi la tarea es un scriptreferences/migration-checklist.mdsi la tarea es una conversión
Si necesitas estructura inicial del repositorio o hooks de CI, inspecciona templates/dependabot.yml y templates/pre-commit-config.yaml como anclas de implementación.
Usa información de entrada que reduzca las suposiciones
La skill modern-python se beneficia de restricciones explícitas: versión de Python, nombre del paquete de destino, si .venv/ debe ignorarse, si uv.lock debe confirmarse en el repo y qué herramientas son obligatorias. Si quieres ayuda con una migración, incluye la pila actual y lo que debe permanecer sin cambios para que la skill no reescriba tu flujo de trabajo innecesariamente.
Preguntas frecuentes de la skill modern-python
¿modern-python es solo para proyectos nuevos?
No. La skill modern-python también está pensada para migraciones, pero solo cuando quieres llevar el repositorio hacia uv, ruff y ty. Si el proyecto debe conservar sus herramientas actuales, conviene usarla de forma selectiva o directamente no usarla.
¿Cuándo debo usar PEP 723 en lugar de pyproject.toml?
Usa la ruta de scripts de la skill modern-python cuando tengas una utilidad de un solo archivo con dependencias. Usa pyproject.toml cuando el proyecto tenga varios archivos, código reutilizable o un límite de paquete. Ese límite es una de las razones principales para instalar la skill modern-python.
¿Esto reemplaza un prompt normal?
Sí, cuando necesitas una decisión de configuración que sea repetible. Un prompt normal puede describir las herramientas, pero la skill modern-python te da una guía para gestión de dependencias, linting, formato y compensaciones de migración, de modo que el modelo tenga menos probabilidades de mezclar patrones incompatibles.
¿Funciona para usuarios principiantes de Python?
Sí, si el objetivo es una pila moderna y limpia. Es menos adecuada si todavía estás aprendiendo convenciones de herramientas más antiguas o si necesitas versiones de Python por debajo de 3.11, ya que la skill se basa en supuestos de modern-python.
Cómo mejorar la skill modern-python
Indica qué resultado importa más
Para obtener mejores resultados con modern-python, di si te importa más el empaquetado de bibliotecas, la portabilidad de scripts, la preparación para CI o la seguridad en la migración. Eso cambia la salida: una biblioteca necesita disciplina con dependencias y orientación sobre el archivo de bloqueo, mientras que un script puede necesitar metadatos PEP 723 en lugar de un diseño de proyecto completo.
Aporta desde el principio los datos que faltan del proyecto
El mayor modo de fallo es una configuración demasiado poco especificada. Incluye:
- versión objetivo de Python
- nombre del paquete y nombre de importación
- estructura plana o estructura
src/ - si hay que confirmar
uv.lock - herramientas obligatorias:
ruff,ty, tests, pre-commit, Dependabot
Esos detalles permiten que la skill modern-python genere un plan de instalación utilizable en lugar de recomendaciones genéricas.
Revisa el primer borrador contra las convenciones del repositorio
Después de la primera salida, comprueba si el resultado encaja con las expectativas de tu repo para grupos de dependencias, ajustes del formateador y comandos de prueba. Si algo no cuadra, itera con una corrección concreta como “mantén la CI heredada, pero reemplaza solo el linting y la gestión de dependencias por el enfoque modern-python”.
Vigila los casos de desajuste más comunes
Modern-python rinde peor cuando el proyecto debe conservar semántica de pip/Poetry, soportar intérpretes antiguos o mantenerse indefinidamente a medias entre lo moderno y lo heredado. En esos casos, pide a la skill que se adapte con cautela en lugar de remodelar toda la pila, o no la uses para ese repositorio.
