Habilidades pydantic-models-py
📦

pydantic-models-py

Seguro

Crear Modelos Pydantic con Patrón Multi-Modelo

Define esquemas de API consistentes sin código repetitivo manual. Esta habilidad genera modelos Pydantic estructurados siguiendo patrones establecidos para validación de solicitudes, respuestas e integración con bases de datos.

Soporta: Claude Codex Code(CC)
📊 71 Adecuado
1

Descargar el ZIP de la skill

2

Subir en Claude

Ve a Configuración → Capacidades → Skills → Subir skill

3

Activa y empieza a usar

Pruébalo

Usando "pydantic-models-py". Entidad User con campos id, name, email, created_at

Resultado esperado:

Clases de modelos UserBase, UserCreate, UserUpdate, UserResponse y UserInDB generadas con definiciones Field apropiadas, anotaciones de tipo y clase Config para manejo de alias

Usando "pydantic-models-py". Modelo Project requiriendo compatibilidad camelCase para API

Resultado esperado:

Modelos con alias Field (workspaceId, createdAt) que aceptan ambas convenciones de nomenclatura usando snake_case Pythonico internamente

Auditoría de seguridad

Seguro
v1 • 2/24/2026

All 21 static analysis findings are false positives. The scanner misidentified Markdown code block backticks as shell execution, and documentation references to HTTP/cryptography as actual code. SKILL.md is pure documentation with Python code examples for Pydantic model patterns. No executable code, network calls, or security risks detected.

1
Archivos escaneados
64
Líneas analizadas
0
hallazgos
1
Auditorías totales
No se encontraron problemas de seguridad
Auditado por: claude

Puntuación de calidad

38
Arquitectura
100
Mantenibilidad
87
Contenido
31
Comunidad
100
Seguridad
91
Cumplimiento de la especificación

Lo que puedes crear

Definición de Esquemas REST API

Define modelos de solicitud/respuesta para endpoints FastAPI o Flask con patrones de validación consistentes.

Modelado de Documentos de Base de Datos

Crea variantes de modelos InDB con campos doc_type para almacenamiento de documentos Cosmos DB o MongoDB.

Sincronización de Contratos Frontend-Backend

Genera modelos Python y tipos TypeScript coincidentes para asegurar consistencia en contratos de API.

Prueba estos prompts

Generación Básica de Modelos
Create Pydantic models for a User entity with fields: id (string), name (string, required), email (string with email validation), created_at (datetime). Use the multi-model pattern with Base, Create, Update, and Response variants.
Modelo con Alias CamelCase
Generate Pydantic models for a Project entity. All fields should accept both snake_case and camelCase using Field aliases. Include workspace_id, project_name, and is_active fields.
Modelo de Base de Datos con Variante InDB
Create complete Pydantic models for a Document entity including InDB variant with doc_type field. Add min_length validation on name and optional description field for updates.
Patrón de Modelo Anidado Complejo
Build Pydantic models for an Order entity with nested line_items array. Each line item has product_id, quantity, and price. Create full multi-model pattern with validation constraints on all fields.

Mejores prácticas

  • Separa siempre los modelos Create y Update - Create requiere todos los campos, Update hace todos los campos opcionales para semántica PATCH
  • Usa Field con default=None explícito para campos de update opcionales para distinguir entre valores nulos y no establecidos
  • Habilita populate_by_name = True en la clase Config para aceptar tanto snake_case como camelCase desde clientes API

Evitar

  • No reutilices la misma clase de modelo tanto para cuerpos de solicitud como para documentos de base de datos - la separación previene fuga de datos
  • Evita poner lógica de negocio en clases de modelo - mantenlas como esquemas de datos puros solo con validación
  • No omitas doc_type en modelos InDB cuando uses Cosmos DB - las consultas fallarán sin filtrado de tipo apropiado

Preguntas frecuentes

¿Qué es el patrón multi-modelo y por qué usarlo?
El patrón crea clases de modelo separadas para diferentes propósitos: Base (campos compartidos), Create (campos requeridos para POST), Update (campos opcionales para PATCH), Response (salida completa) e InDB (documento de base de datos con metadatos). Esta separación previene exposición accidental de datos y aplica validación correcta en cada capa.
¿Cómo funcionan los alias camelCase con Pydantic?
Usa Field(alias='camelCaseName') en cada campo y establece populate_by_name = True en la clase Config. Esto permite que el modelo acepte ambas convenciones de nomenclatura desde clientes API mientras usa snake_case internamente en código Python.
¿Por qué hacer todos los campos de Update opcionales?
Las solicitudes PATCH solo deben incluir campos que se están modificando. Hacer todos los campos opcionales con default=None permite actualizaciones parciales mientras se distingue entre 'campo no proporcionado' (None) y 'campo establecido en null' (null explícito).
¿Para qué sirve el campo doc_type?
En bases de datos de documentos como Cosmos DB, doc_type identifica el tipo de entidad dentro de una colección compartida. El modelo InDB agrega este campo automáticamente para que las consultas puedan filtrar documentos por tipo.
¿Necesito crear tipos TypeScript manualmente?
Sí, esta habilidad te guía para crear interfaces TypeScript coincidentes. Considera herramientas como pydantic2ts o datamodel-code-generator para generación automática de TypeScript desde modelos Pydantic.
¿Puedo usar este patrón con SQLAlchemy u otros ORMs?
Sí, los modelos Pydantic funcionan junto con ORMs. Usa modelos Pydantic para validación y serialización de solicitud/respuesta, y modelos ORM para operaciones de base de datos. Algunos ORMs como SQLAlchemy 2.0 tienen integración nativa con Pydantic.

Detalles del desarrollador

Estructura de archivos

📄 SKILL.md