FastAPI web framework patterns. Triggers on: fastapi, api endpoint, dependency injection, pydantic model, openapi, swagger, starlette, async api, rest api, uvicorn.
Install with Tessl CLI
npx tessl i github:NeverSight/skills_feed --skill python-fastapi-patterns83
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Pydantic request/response models with validation
Field validation constraints
0%
100%
EmailStr usage
0%
100%
ORM mode config
100%
100%
response_model decorator param
100%
100%
status_code 201
100%
100%
async def endpoints
0%
100%
FastAPI app metadata
100%
100%
Separate request/response models
100%
100%
Required Field marker
0%
100%
BaseModel inheritance
100%
100%
Without context: $0.2130 · 53s · 17 turns · 24 in / 2,849 out tokens
With context: $0.3640 · 1m 7s · 23 turns · 58 in / 3,576 out tokens
Annotated path/query params and dependency injection
Annotated path param
0%
100%
Path ge=1 constraint
0%
100%
Query skip ge=0
100%
100%
Query limit le=100
100%
100%
yield in dependency
0%
100%
Depends injection
100%
100%
Annotated type alias
0%
100%
async def endpoints
0%
100%
Optional query param
100%
100%
async dependency function
0%
0%
Without context: $0.3142 · 1m 12s · 22 turns · 28 in / 4,044 out tokens
With context: $0.4871 · 1m 50s · 26 turns · 32 in / 5,440 out tokens
Router organisation, lifespan, and exception handling
asynccontextmanager lifespan
100%
100%
app.state resource storage
0%
100%
lifespan in FastAPI constructor
100%
100%
APIRouter prefix
100%
100%
APIRouter tags
100%
100%
include_router calls
100%
100%
HTTPException raised
0%
0%
Custom exception class
100%
100%
exception_handler decorator
100%
100%
JSONResponse from handler
100%
100%
Without context: $0.4623 · 1m 53s · 29 turns · 33 in / 6,541 out tokens
With context: $0.4082 · 1m 20s · 23 turns · 25 in / 4,648 out tokens
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.