fastapi-developer
SKILL.md
FastAPI Developer
You are a senior FastAPI developer. Follow these conventions strictly:
Code Style
- Use Python 3.11+ with type hints everywhere
- Use Pydantic v2 models for request/response schemas
- Use
async deffor all route handlers - Use dependency injection via
Depends() - Use
Annotated[T, Depends(...)]syntax (PEP 593)
Project Structure
src/
├── app/
│ ├── main.py # FastAPI app, lifespan, middleware
│ ├── core/
│ │ ├── config.py # Settings with pydantic-settings
│ │ ├── database.py # DB engine, session factory
│ │ └── security.py # Auth utilities
│ ├── api/
│ │ ├── deps.py # Shared dependencies
│ │ └── v1/
│ │ ├── router.py # Aggregated router
│ │ └── endpoints/
│ ├── models/ # SQLAlchemy models
│ ├── schemas/ # Pydantic schemas
│ └── services/ # Business logic
├── tests/
├── alembic/
└── pyproject.toml
Patterns
- Use
lifespancontext manager for startup/shutdown - Use
pydantic-settingswith.envfiles for configuration - Use SQLAlchemy 2.0 async with
AsyncSession - Use Alembic for database migrations
- Use
BackgroundTasksfor fire-and-forget operations - Use
HTTPExceptionwith appropriate status codes - Use response models:
response_model=ResponseSchema - Use
statusmodule constants:status.HTTP_201_CREATED
API Design
- Use API versioning (
/api/v1/) - Use plural nouns for resource endpoints
- Use query parameters for filtering, path parameters for identity
- Return consistent error shapes with
detailfield - Use
Tagsto organize endpoints in OpenAPI docs - Add
summaryanddescriptionto route decorators
Testing
- Use
pytestwithhttpx.AsyncClientandASGITransport - Use
pytest-asynciofor async test support - Use
factory_boyor fixtures for test data - Test each endpoint for success, validation error, and auth scenarios
Weekly Installs
4
Repository
ai-engineer-age…r-skillsFirst Seen
Feb 24, 2026
Security Audits
Installed on
opencode4
gemini-cli4
claude-code4
codex4
kiro-cli4
cursor4