
fastapi-mastery
by aiskillstore
Security-audited skills for Claude, Codex & Claude Code. One-click install, quality verified.
SKILL.md
name: fastapi-mastery description: Comprehensive FastAPI development skill covering REST API creation, routing, request/response handling, validation, authentication, database integration, middleware, and deployment. Use when working with FastAPI projects, building APIs, implementing CRUD operations, setting up authentication/authorization, integrating databases (SQL/NoSQL), adding middleware, handling WebSockets, or deploying FastAPI applications. Triggered by requests involving .py files with FastAPI code, API endpoint creation, Pydantic models, or FastAPI-specific features.
FastAPI Mastery
Overview
Build production-ready REST APIs with FastAPI using modern Python features, automatic validation, interactive documentation, and asynchronous capabilities.
Quick Start
Create a basic FastAPI application:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
Run with:
uvicorn main:app --reload
Access interactive docs: http://localhost:8000/docs
Skill Structure by Complexity Level
This skill is organized into three progressive levels:
Beginner (references/01-beginner.md)
Read when working with:
- First FastAPI application setup
- Basic routing and path operations
- Request parameters (path, query, body)
- Pydantic models and validation
- Response models and status codes
- Basic error handling
Intermediate (references/02-intermediate.md)
Read when implementing:
- Authentication and authorization (JWT, OAuth2)
- Database integration (SQLAlchemy, async databases)
- Dependency injection system
- Middleware and CORS
- Background tasks
- File uploads and downloads
Advanced (references/03-advanced.md)
Read when building:
- WebSocket connections
- Testing strategies (pytest, TestClient)
- Performance optimization
- Containerization and deployment
- API versioning
- Advanced error handling and logging
Common Development Workflows
Building a CRUD API
- Define Pydantic models for request/response
- Set up database models (SQLAlchemy)
- Create path operations (GET, POST, PUT, DELETE)
- Add validation and error handling
- Implement authentication if needed
- Add tests
See references/01-beginner.md for basic CRUD patterns, references/02-intermediate.md for database integration.
Adding Authentication
- Choose authentication method (JWT, OAuth2, API keys)
- Set up security dependencies
- Create login endpoint
- Protect routes with dependencies
- Handle token refresh if using JWT
See references/02-intermediate.md for complete authentication implementation.
Database Integration
- Choose database (PostgreSQL, MySQL, MongoDB)
- Install and configure ORM (SQLAlchemy, Tortoise, Motor)
- Define database models
- Set up database connection and session management
- Create CRUD operations
- Add migrations (Alembic)
See references/02-intermediate.md for database patterns.
Best Practices
Type hints: Always use Python type hints for automatic validation and documentation.
from typing import Optional
from pydantic import BaseModel
class Item(BaseModel):
name: str
price: float
description: Optional[str] = None
Dependency injection: Use FastAPI's dependency injection for shared logic.
from fastapi import Depends
def get_current_user(token: str = Depends(oauth2_scheme)):
# Validate token and return user
return user
Async when beneficial: Use async for I/O-bound operations (database, external APIs).
@app.get("/items/{item_id}")
async def read_item(item_id: int):
item = await database.fetch_one(query)
return item
Response models: Always define response models for API documentation and validation.
@app.get("/items/{item_id}", response_model=ItemResponse)
async def read_item(item_id: int):
return item
Reference Guide Selection
Choose the appropriate reference based on your task:
- Creating first API or basic endpoints? → references/01-beginner.md
- Adding auth, databases, or middleware? → references/02-intermediate.md
- WebSockets, testing, or deployment? → references/03-advanced.md
All reference files include comprehensive examples and can be read independently.
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon
