Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    hainamchung

    pydantic-models

    hainamchung/pydantic-models
    Coding
    21
    1 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Create Pydantic models following the multi-model pattern with Base, Create, Update, Response, and InDB variants.

    SKILL.md

    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

    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

    1. Create models in src/backend/app/models/
    2. Export from src/backend/app/models/__init__.py
    3. Add corresponding TypeScript types
    Repository
    hainamchung/agent-assistant
    Files