api-generator

timequity's avatarfrom timequity

Generate CRUD API endpoints automatically. User doesn't see routes.Use when: features need backend logic.Triggers: internal use only.

⭐0stars🔀0forks📁View on GitHub🕐Updated Dec 18, 2025

When & Why to Use This Skill

The API Generator Claude skill streamlines backend development by automatically creating robust CRUD API endpoints from high-level requirements. It handles the heavy lifting of resource identification, database integration, and authentication middleware across frameworks like Next.js, FastAPI, and Hono. By automating boilerplate code and generating OpenAPI documentation, it ensures consistent, secure, and well-documented backend logic without manual routing.

Use Cases

  • Rapid Prototyping: Quickly generate a fully functional backend for new features like expense tracking or user management without writing boilerplate routes.
  • Standardized API Development: Automatically implement best practices for pagination, filtering, and sorting across all generated endpoints.
  • Automated Documentation: Maintain up-to-date OpenAPI specifications for frontend teams and third-party integrations as the backend evolves.
  • Security & Validation: Ensure all endpoints are protected with auth middleware and validated against input schemas by default.
nameapi-generator
description|
Use whenfeatures need backend logic.
Triggersinternal use only.

API Generator

Create endpoints from requirements. User never writes routes.

Process

  1. Identify resources

    • "Manage expenses" → /api/expenses
    • "User profile" → /api/users/me
  2. Generate CRUD

    • GET (list, single)
    • POST (create)
    • PUT/PATCH (update)
    • DELETE (remove)
  3. Add validation

    • Input schemas
    • Error handling
    • Auth middleware
  4. 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:

  1. Generate /api/expenses endpoints
  2. Add validation schemas
  3. Connect to database
  4. Add auth middleware
  5. Generate OpenAPI spec

User sees: "✅ Expense API ready"