Start a fresh conversation. Replace the highlighted placeholders.
Use pydantic-models-py to create Base, Create, Update, Response, and InDB Pydantic models for [API resource] from [API contract], inspecting the installed Pydantic version before choosing configuration syntax.
Required inputs
[API resource]
[API contract]
User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗
SKILL.md
name: pydantic-models-pydescription: "Create Pydantic models following the multi-model pattern for clean API contracts."risk: criticalsource: communitydate_added: "2026-02-27"
Pydantic Models
Create Pydantic models following the multi-model pattern for clean API contracts.
Quick Start
Use the inline model patterns below and adapt class names and fields to the actual API contract. Inspect the installed Pydantic version before selecting configuration syntax; these fragments require the imports and application types shown by your project. Do not assume a standalone template file is bundled.
Multi-Model Pattern
Model
Purpose
Base
Common fields shared across models
Create
Request body for creation (required fields)
Update
Request body for updates (all optional)
Response
API response with all fields
InDB
Database document with doc_type
camelCase Aliases
class MyModel(BaseModel):
workspace_id: str = Field(..., alias="workspaceId")
created_at: datetime = Field(..., alias="createdAt")
class Config:
populate_by_name = True # Accept both snake_case and camelCase
Optional Update Fields
class MyUpdate(BaseModel):
"""All fields optional for PATCH requests."""
name: Optional[str] = Field(None, min_length=1)
description: Optional[str] = None
Database Document
class MyInDB(MyResponse):
"""Adds doc_type for Cosmos DB queries."""
doc_type: str = "my_resource"
Integration Steps
Create models in src/backend/app/models/
Export from src/backend/app/models/__init__.py
Add corresponding TypeScript types
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
Use this skill only when the task clearly matches the scope described above.
Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.