fastapi-expert
Use when building high-performance async Python APIs with FastAPI and Pydantic V2.
Skill by https://github.com/Jeffallan
Chalk Labs
Need help deploying fastapi-expert?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/srulyrosenblat-fastapi-expert
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
fastapi-expert- Description
- 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.
- License
- MIT
- Metadata
- role: specialist · scope: implementation · author: https://github.com/Jeffallan · domain: backend · version: 1.1.0 · triggers: FastAPI, Pydantic, async Python, Python API, REST API Python, SQLAlchemy async, JWT authentication, OpenAPI, Swagger Python · output-format: code · related-skills: fullstack-guardian, django-expert, test-master
- Instructions
- 172 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: "fastapi-expert" does not match folder "source"
Files (7)
- SKILL.md
- async-sqlalchemy.md · references/
- authentication.md · references/
- endpoints-routing.md · references/
- migration-from-django.md · references/
- pydantic-v2.md · references/
- testing-async.md · references/
SKILL.md (first lines)
# FastAPI Expert
Deep expertise in async Python, Pydantic V2, and production-grade API development with FastAPI.
## When to Use This Skill
- Building REST APIs with FastAPI
- Implementing Pydantic V2 validation schemas
- Setting up async database operations
- Implementing JWT authentication/authorization
- Creating WebSocket endpoints
- Optimizing API performance
## Core Workflow
1. **Analyze requirements** — Identify endpoints, data models, auth needs
2. **Design schemas** — Create Pydantic V2 models for validation
3. **Implement** — Write async endpoints with proper dependency injection
4. **Secure** — Add authentication, authorization, rate limiting
5. **Test** — Write async tests with pytest and httpx; run `pytest` after each endpoint group and verify OpenAPI docs at `/docs`
> **Checkpoint after each step:** confirm schemas validate correctly, endpoints return expected HTTP status codes, and `/docs` reflects the intended API surface before proceeding.
## Minimal Complete Example
Schema + endpoint + dependency injection in one cohesive unit:
```python
# schemas.py
from pydantic import BaseModel, EmailStr, field_validator, model_config
class UserCreate(BaseModel):
model_config = model_config(str_strip_whitespace=True)
email: EmailStr
password: str
name: str | None = None
@field_validator("password")
@classmethod
def password_strength(cls, v: str) -> str:
if len(v) < 8:
raise ValueError("Password must be at least 8 characters")
return v
class UserResponse(BaseModel):
model_config = model_config(from_attributes=True)
id: int
email: EmailStr
name: str | None = None
```
```python
# routers/users.py
from fastapi import APIRouter, Depends, HTTPException, status
from sqlalchemy.ext.asyncio import AsyncSession
from typing import Annotated
from app.database import get_db
from app.schemas import UserCreate, UserResponse
from app import crud
router = APIRouter(prefix="/users", tags=["users"])
DbDep = Annotated[AsyncSession, Depends(get_db)]
@router.post("/", response_model=UserResponse, status_code=status.HTTP_201_CREATED)
async def create_user(payload: UserCreate, db: DbDep) -> UserResponse:
existing = await crud.get_user_by_email(db, payload.email)
if existing:
raise HTTPException(status_code=status.HTTP_409_CONFLICT, detail="Email already registered")
return await crud.create_user(db, payload)
```
```python
# crud.py
from sqlalchemy import select
from sqlalchemy.ext.asyncio import AsyncSession
from app.models import User
from app.schemas import UserCreate
from app.security import hash_password
async def get_user_by_email(db: AsyncSession, email: str) -> User | None:
result = await db.execute(select(User).where(User.email == email))
return result.scalar_one_or_none()
async def create_user(db: AsyncSession, payload: UserCreate) -> User:
user = User(email=payload.email, hashed_password=hash_password(payload.password), name=payload.name)
db.add(user)
await db.commit()
await db.refresh(user)
return user
```
## JWT Authentication Snippet
```python
# security.py
from datetime import datetime, timedelta, timezone
from jose import JWTError, jwt
from fastapi import Depends, HTTPException, status
from fastapi.security import OAuth2PasswordBearer
from typing import Annotated
SECRET_KEY = "read-from-env" # use os.environ / settings
ALGORITHM = "HS256"
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/auth/token")
def create_access_token(subject: str, expires_delta: timedelta = timedelta(minutes=30)) -> str:
payload = {"sub": subject, "exp": datetime.now(timezone.utc) + expires_delta}
return jwt.encode(payload, SECRET_KEY, algorithm=ALGORITHM)
async def get_current_user(token: Annotated[str, Depends(oauth2_scheme)]) -> str:
try:
data = jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM])
subject: str | None = data.get("sub")
if subject is None:
raise ValueErrorFrom SrulyRosenblat/skill-cards, MIT.
More from SrulyRosenblat/skill-cards
- 0.443score
ai-app
SrulyRosenblat
Full-stack AI application generator with Next.js, AI SDK, and ai-elements.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
ai-sdk-6
SrulyRosenblat
Vercel AI SDK v6 development.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
ai-elements
SrulyRosenblat
Create new AI chat interface components for the ai-elements library following established composable patterns, shadcn/ui integration, and Vercel AI SDK…
SkillDFreshness: D★ 2Claude Code +9 - 0.431score
Flask Testing Patterns
SrulyRosenblat
Flask application testing with test client, fixture patterns, SQLAlchemy model testing, blueprint testing, and Flask-specific extension testing.
SkillDFreshness: D★ 2Claude Code +9 - 0.430score
fastapi-pro
SrulyRosenblat
Build high-performance async APIs with FastAPI, SQLAlchemy 2.0, and Pydantic V2.
SkillDFreshness: D★ 2Claude Code +9 - 0.430score
django-pro
SrulyRosenblat
Master Django 5.x with async views, DRF, Celery, and Django Channels.
SkillDFreshness: D★ 2Claude Code +9 - 0.427score
upgrade-python-deps
SrulyRosenblat
Upgrade Python dependencies using uv, then run post-upgrade checks to ensure nothing is broken.
SkillDFreshness: D★ 2Claude Code +9 - 0.427score
flask
SrulyRosenblat
Flask Python microframework with blueprints and extensions.
SkillDFreshness: D★ 2Claude Code +9 - 0.427score
upgrade-js-deps
SrulyRosenblat
Upgrade JavaScript dependencies using npm-check-updates, then run post-upgrade checks to ensure nothing is broken.
SkillDFreshness: D★ 2Claude Code +9 - 0.424score
fix-types
SrulyRosenblat
Interactively fix any type checking issues in Python code
SkillDFreshness: D★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Apr 7, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.1.0
- License
- MIT
- Repository
- github.com/SrulyRosenblat/skill-cards
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
- 0.697score
fastapi-expert
https://github.com/Jeffallan
Use when building high-performance async Python APIs with FastAPI and Pydantic V2.
SkillAFreshness: A★ 12KClaude Code +9 - 0.290score
fastapi-expert
https://github.com/Jeffallan
Use when building high-performance async Python APIs with FastAPI and Pydantic V2.
SkillBFreshness: B★ 11Claude Code +9 - 0.287score
fastapi-expert
https://github.com/Jeffallan
Use when building high-performance async Python APIs with FastAPI and Pydantic V2.
SkillAFreshness: A★ 1Claude Code +9 - 0.233score
fastapi-expert
https://github.com/Jeffallan
Use when building high-performance async Python APIs with FastAPI and Pydantic V2.
SkillCFreshness: CClaude Code +9
More from https://github.com/Jeffallan
- 0.697score
angular-architect
https://github.com/Jeffallan
Generates Angular 17+ standalone components, configures advanced routing with lazy loading and guards, implements NgRx state management, applies RxJS…
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
spec-miner
https://github.com/Jeffallan
Reverse-engineering specialist that extracts specifications from existing codebases.
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
cpp-pro
https://github.com/Jeffallan
Writes, optimizes, and debugs C++ applications using modern C++20/23 features, template metaprogramming, and high-performance systems techniques.
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
code-documenter
https://github.com/Jeffallan
Generates, formats, and validates technical documentation — including docstrings, OpenAPI/Swagger specs, JSDoc annotations, doc portals, and user guides.
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
fullstack-guardian
https://github.com/Jeffallan
Builds security-focused full-stack web applications by implementing integrated frontend and backend components with layered security at every level.
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
api-designer
https://github.com/Jeffallan
Use when designing REST or GraphQL APIs, creating OpenAPI specifications, or planning API architecture.
SkillAFreshness: A★ 12KClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get fastapi-expert running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
fastapi-expert skill. Agent Mart. https://agentmart.dev/skills/srulyrosenblat-fastapi-expert (last updated 2026-10-24)