Claude-skill-registry api-generator
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/api-generator" ~/.claude/skills/majiayu000-claude-skill-registry-api-generator && rm -rf "$T"
manifest:
skills/data/api-generator/SKILL.mdsource content
API Generator
Create endpoints from requirements. User never writes routes.
Process
-
Identify resources
- "Manage expenses" → /api/expenses
- "User profile" → /api/users/me
-
Generate CRUD
- GET (list, single)
- POST (create)
- PUT/PATCH (update)
- DELETE (remove)
-
Add validation
- Input schemas
- Error handling
- Auth middleware
-
Generate OpenAPI
- Auto-document all endpoints
- For future integrations
Template-Specific
Next.js API Routes
// app/api/expenses/route.ts export async function GET() { const expenses = await db.expenses.findMany(); return Response.json(expenses); } export async function POST(req: Request) { const data = await req.json(); const expense = await db.expenses.create({ data }); return Response.json(expense); }
FastAPI
@router.get("/expenses") async def list_expenses(db: Session = Depends(get_db)): return db.query(Expense).all() @router.post("/expenses") async def create_expense(data: ExpenseCreate, db: Session = Depends(get_db)): expense = Expense(**data.dict()) db.add(expense) db.commit() return expense
Hono
app.get('/expenses', async (c) => { const expenses = await db.select().from(expensesTable); return c.json(expenses); }); app.post('/expenses', async (c) => { const data = await c.req.json(); const [expense] = await db.insert(expensesTable).values(data).returning(); return c.json(expense); });
Auto-Generated Features
| Feature | Implementation |
|---|---|
| Pagination | ?page=1&limit=20 |
| Filtering | ?category=food |
| Sorting | ?sort=amount&order=desc |
| Auth | Middleware checks token |
| Validation | Schema validates input |
User Experience
User: "Add expense tracking"
Internally:
- Generate /api/expenses endpoints
- Add validation schemas
- Connect to database
- Add auth middleware
- Generate OpenAPI spec
User sees: "✅ Expense API ready"