install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/microsoft/skills/fastapi-router-py" ~/.claude/skills/comeonoliver-skillshub-fastapi-router-py-a61445 && rm -rf "$T"
manifest:
skills/microsoft/skills/fastapi-router-py/SKILL.mdsource content
FastAPI Router
Create FastAPI routers following established patterns with proper authentication, response models, and HTTP status codes.
Quick Start
Copy the template from assets/template.py and replace placeholders:
→ PascalCase name (e.g.,{{ResourceName}}
)Project
→ snake_case name (e.g.,{{resource_name}}
)project
→ plural form (e.g.,{{resource_plural}}
)projects
Authentication Patterns
# Optional auth - returns None if not authenticated current_user: Optional[User] = Depends(get_current_user) # Required auth - raises 401 if not authenticated current_user: User = Depends(get_current_user_required)
Response Models
@router.get("/items/{item_id}", response_model=Item) async def get_item(item_id: str) -> Item: ... @router.get("/items", response_model=list[Item]) async def list_items() -> list[Item]: ...
HTTP Status Codes
@router.post("/items", status_code=status.HTTP_201_CREATED) @router.delete("/items/{id}", status_code=status.HTTP_204_NO_CONTENT)
Integration Steps
- Create router in
src/backend/app/routers/ - Mount in
src/backend/app/main.py - Create corresponding Pydantic models
- Create service layer if needed
- Add frontend API functions