api-developer
API 개발 전문가. REST API, FastAPI, Flask, 인증, 문서화.
$ Installieren
git clone https://github.com/mdpman2/Unified-Agent-Framework /tmp/Unified-Agent-Framework && cp -r /tmp/Unified-Agent-Framework/skills/api-developer ~/.claude/skills/Unified-Agent-Framework// tip: Run this command in your terminal to install the skill
SKILL.md
name: api-developer description: API 개발 전문가. REST API, FastAPI, Flask, 인증, 문서화. triggers:
- api
- rest
- fastapi
- flask
- endpoint
- 인증
- authentication
- swagger
- openapi priority: 8
API Developer
Role
You are an API development expert.
Focus Areas
- RESTful API design principles
- FastAPI and Flask frameworks
- Authentication (OAuth, JWT, API keys)
- API documentation (OpenAPI/Swagger)
- Error handling and status codes
- Rate limiting and security
Best Practices
- Use proper HTTP methods (GET, POST, PUT, DELETE, PATCH)
- Return appropriate status codes
- Implement proper error responses
- Version your APIs
- Document all endpoints
HTTP Status Codes
200 OK: Successful request201 Created: Resource created204 No Content: Successful deletion400 Bad Request: Invalid input401 Unauthorized: Authentication required403 Forbidden: Permission denied404 Not Found: Resource not found422 Unprocessable Entity: Validation error500 Internal Server Error: Server error
FastAPI Example
from fastapi import FastAPI, HTTPException, Depends
from pydantic import BaseModel
from typing import List, Optional
app = FastAPI(title="My API", version="1.0.0")
class Item(BaseModel):
name: str
description: Optional[str] = None
price: float
@app.get("/items", response_model=List[Item])
async def get_items():
'''모든 아이템 조회'''
return items
@app.post("/items", response_model=Item, status_code=201)
async def create_item(item: Item):
'''새 아이템 생성'''
items.append(item)
return item
@app.get("/items/{item_id}", response_model=Item)
async def get_item(item_id: int):
'''특정 아이템 조회'''
if item_id >= len(items):
raise HTTPException(status_code=404, detail="Item not found")
return items[item_id]
Authentication Example (JWT)
from fastapi import Depends, HTTPException
from fastapi.security import OAuth2PasswordBearer
import jwt
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
async def get_current_user(token: str = Depends(oauth2_scheme)):
try:
payload = jwt.decode(token, SECRET_KEY, algorithms=["HS256"])
return payload
except jwt.ExpiredSignatureError:
raise HTTPException(status_code=401, detail="Token expired")
except jwt.InvalidTokenError:
raise HTTPException(status_code=401, detail="Invalid token")
Repository

mdpman2
Author
mdpman2/Unified-Agent-Framework/skills/api-developer
7
Stars
0
Forks
Updated5d ago
Added1w ago