CtrlK
BlogDocsLog inGet started
Tessl Logo

fastapi-expert

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

1.14x
Quality

100%

Does it follow best practices?

Impact

94%

1.14x

Average score across 6 eval scenarios

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Evaluation results

96%

14%

Product Catalog Data Layer

Pydantic V2 schema patterns

Criteria
Without context
With context

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%

90%

17%

Secure User Authentication Service

JWT auth and async SQLAlchemy

Criteria
Without context
With context

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%

92%

6%

Task Management API with Integration Tests

Async testing and CRUD patterns

Criteria
Without context
With context

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%

99%

10%

Community Event Platform — Access Control Layer

Role-based access and custom dependencies

Criteria
Without context
With context

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%

100%

13%

Migrate a Book Review API from Django/DRF to FastAPI

Django to FastAPI migration

Criteria
Without context
With context

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%

92%

13%

Product Catalog API for an Online Marketplace

Output templates and partial update patterns

Criteria
Without context
With context

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%

Repository
jeffallan/claude-skills
Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6

Table of Contents

Is this your skill?

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.