← スキル一覧に戻る

backend-api
by Jawad-Chaudhary
The Evolution of Todo: A spec-driven, AI-native journey from a Python CLI to a Cloud-Native, Event-Driven AI Chatbot deployed on Kubernetes. Built with Claude Code, Spec-Kit Plus, Next.js, FastAPI, and Dapr.
⭐ 0🍴 0📅 2026年1月22日
SKILL.md
name: backend-api description: Build FastAPI REST APIs with CORS, JWT auth, Pydantic validation, async endpoints, and proper error handling. Use when creating API endpoints, middleware, or backend services.
FastAPI Backend API Development
Core Pattern
from fastapi import FastAPI, HTTPException, Depends
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel, Field
import os
app = FastAPI(title="API")
# CORS from environment
app.add_middleware(
CORSMiddleware,
allow_origins=os.getenv("CORS_ORIGINS", "").split(","),
allow_credentials=os.getenv("CORS_ALLOW_CREDENTIALS") == "true",
allow_methods=["*"],
allow_headers=["*"],
)
class Request(BaseModel):
field: str = Field(..., min_length=1)
@app.post("/api/{user_id}/endpoint")
async def endpoint(user_id: str, req: Request, current_user: str = Depends(verify_jwt)):
if user_id != current_user:
raise HTTPException(status_code=403, detail="User ID mismatch")
return {"status": "ok"}
Error Handling
- Use
HTTPExceptionwith proper status codes (401, 403, 404, 500) - Provide user-friendly error messages
- Always use async for I/O operations
Testing
from fastapi.testclient import TestClient
client = TestClient(app)
response = client.post("/api/user123/endpoint", json={"field": "value"})
assert response.status_code == 200
スコア
総合スコア
50/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
✓説明文
100文字以上の説明がある
+10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です