Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
Overall
score
80%
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/skillEvaluation — 100%
↑ 1.08xAgent success when using this skill
Validation for skill structure
Project structure and core initialization
api/v1/endpoints dir
100%
100%
core/ directory
100%
100%
schemas/ directory
100%
100%
services/ directory
100%
100%
repositories/ directory
0%
100%
Lifespan pattern
100%
100%
pydantic_settings import
100%
100%
.env config
100%
100%
lru_cache on settings
100%
100%
Async engine
100%
100%
expire_on_commit=False
100%
100%
get_db commit/rollback
100%
100%
CORS middleware
100%
100%
Without context: $0.6454 · 1m 49s · 38 turns · 73 in / 7,297 out tokens
With context: $0.8830 · 2m 33s · 40 turns · 84 in / 8,036 out tokens
Async repository pattern and service layer
Generic BaseRepository
50%
100%
select() for queries
100%
100%
flush and refresh on write
100%
100%
exclude_unset on update
0%
100%
Async session in get_db
100%
100%
expire_on_commit=False
100%
100%
Service class with repository
100%
100%
Business logic in service
100%
100%
Routes use service not DB
100%
100%
Async route handlers
100%
100%
Without context: $1.3157 · 3m 41s · 46 turns · 46 in / 16,816 out tokens
With context: $1.3304 · 3m 20s · 47 turns · 46 in / 14,267 out tokens
Async test infrastructure and JWT auth
httpx AsyncClient
100%
100%
In-memory SQLite URL
100%
100%
dependency_overrides
100%
100%
pytest.mark.asyncio
100%
100%
jose for JWT
100%
100%
bcrypt via passlib
100%
100%
Registration success test
100%
100%
Duplicate registration test
100%
100%
Login failure test
100%
100%
Auth protected endpoint test
100%
100%
Without context: $1.3657 · 4m 11s · 53 turns · 42 in / 16,826 out tokens
With context: $2.5850 · 7m 34s · 64 turns · 56 in / 29,142 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.