Use when building high-performance async Python APIs with FastAPI and Pydantic V2. Invoke to create REST endpoints, define Pydantic models, implement authentication flows, set up async SQLAlchemy database operations, add JWT authentication, build WebSocket endpoints, or generate OpenAPI documentation. Trigger terms: FastAPI, Pydantic, async Python, Python API, REST API Python, SQLAlchemy async, JWT authentication, OpenAPI, Swagger Python.
97
100%
Does it follow best practices?
Impact
94%
1.14xAverage score across 6 eval scenarios
Passed
No known issues
Pydantic V2 schema patterns
V2 field validator
100%
100%
No class Config
100%
100%
from_attributes ORM mode
100%
100%
Union type syntax
0%
100%
model_dump usage
100%
100%
model_validate usage
0%
100%
Sensitive field excluded
100%
100%
model_validator cross-field
100%
100%
pydantic-settings config
100%
100%
exclude_unset partial
100%
50%
Type hints present
100%
100%
JWT auth and async SQLAlchemy
bcrypt via passlib
0%
0%
python-jose JWT
100%
100%
Token type field
100%
100%
Token type verification
100%
100%
datetime.now(UTC)
50%
100%
async engine setup
75%
100%
Mapped columns
100%
100%
get_db generator
62%
100%
Annotated DI aliases
0%
100%
Lifespan handler
100%
100%
No sensitive data in response
100%
100%
Proper HTTP status codes
66%
100%
Async testing and CRUD patterns
pytest.mark.asyncio
100%
100%
AsyncClient transport
100%
100%
dependency_overrides
100%
100%
anyio_backend fixture
0%
0%
SQLite test DB
100%
100%
Per-test DB isolation
62%
100%
scalar_one_or_none
100%
100%
scalars().all()
100%
100%
selectinload eager loading
100%
100%
Async CRUD operations
100%
100%
Auth test fixture
50%
100%
404 test coverage
100%
100%
Role-based access and custom dependencies
UserRole enum
100%
100%
require_roles factory
83%
100%
403 on role mismatch
100%
100%
AdminUser type alias
100%
100%
Annotated DI for DB
0%
100%
No hardcoded SECRET_KEY
87%
87%
OAuth2PasswordBearer
100%
100%
401 on missing/invalid token
100%
100%
Async endpoints
100%
100%
Type hints on endpoints
100%
100%
APIRouter prefix and tags
100%
100%
Correct status code on creation
100%
100%
Django to FastAPI migration
Multiple schema models
66%
100%
from_attributes on read model
100%
100%
APIRouter replaces ViewSet
100%
100%
Mapped column syntax
100%
100%
selectinload for relationships
70%
100%
Async CRUD queries
100%
100%
scalar_one_or_none usage
100%
100%
X | None optional fields
42%
100%
field_validator not @validator
100%
100%
model_dump not .dict()
100%
100%
httpx test client
100%
100%
Async test markers
62%
100%
Output templates and partial update patterns
Schema file present
100%
100%
Endpoint file present
100%
100%
CRUD file present
100%
100%
Explanation document
100%
100%
exclude_unset on PATCH
100%
100%
Query param constraints
100%
100%
Path param constraints
37%
100%
flush then refresh on create
22%
100%
Lifespan handler
100%
100%
response_model_exclude_unset
0%
0%
204 on delete
100%
100%
Async all I/O
100%
100%
Type hints everywhere
83%
100%
5b76101
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.