Stats
Actions
Tags
From skills
FastAPI service-layer architecture, dependency injection, domain-error handling, SQLAlchemy 2.0 async, and Alembic conventions. Use when building or modifying FastAPI apps, in addition to python-patterns.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skills:fastapi-patternsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- **Service layer pattern**: business logic in `services/`, thin routers.
services/, thin routers.Annotated[Type, Depends()] for all injected dependencies.get_settings() class, never os.getenv() directly.NotFoundError, ValidationError, ConflictError.BaseModel for request/response schemas.select() not query(). Async sessions everywhere.is_deleted flag). Hard delete only with explicit justification (e.g. GDPR erasure), documented in the migration.BackgroundTasks only for fire-and-forget under ~30s; anything heavier or retryable goes to a real queue (ARQ).Depends(get_current_user)); RBAC decisions live in the service layer.WHERE discipline.packages/db/.packages/db/constants.py — import, don't duplicate.npx claudepluginhub bjornjee/skills --plugin skillsCreates, edits, and verifies skills using a test-driven development approach with pressure scenarios and subagents.