mcpbeat

Pydantic Models Py

microsoft/pydantic-models-py

Create Pydantic models following the multi-model pattern with Base, Create, Update, Response, and InDB variants. Use when defining API request/response schemas, database models, or data validation in Python applications using Pydantic v2.

1k tokens
context cost
the whole folder, loaded on every use
3
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
6 d ago
last touched
this folder, not the whole repository

Install

one command, takes just this skill from the repository
npx skills add https://github.com/microsoft/skills --skill pydantic-models-py

What comes with it

2 624 bytes besides the instruction
assets/template.py
references/capabilities.md

The instruction itself

8 sections, as written by the author

Pydantic Models

Create Pydantic models following the multi-model pattern for clean API contracts.

Quick Start

Copy the template from assets/template.py and replace placeholders:

  • {{ResourceName}} → PascalCase name (e.g., Project)
  • {{resource_name}} → snake_case name (e.g., project)

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

from datetime import datetime

from pydantic import BaseModel, ConfigDict, Field

class MyModel(BaseModel):
    model_config = ConfigDict(populate_by_name=True)

    workspace_id: str = Field(..., alias="workspaceId")
    created_at: datetime = Field(..., alias="createdAt")

Optional Update Fields

class MyUpdate(BaseModel):
    model_config = ConfigDict(populate_by_name=True)

    name: Optional[str] = Field(None, min_length=1)
    description: Optional[str] = None

Database Document

class MyInDB(MyResponse):
    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

Reference Files

| File | Contents |

|------|----------|

| references/capabilities.md | Additional non-hero capabilities, operation-group coverage, and production checklists. |

How to use it

Copy the folder

Take microsoft/pydantic-models-py from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.