api-generator

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

$ 설치

git clone https://github.com/majiayu000/claude-skill-registry /tmp/claude-skill-registry && cp -r /tmp/claude-skill-registry/skills/product/api-generator ~/.claude/skills/claude-skill-registry

// tip: Run this command in your terminal to install the skill


name: api-generator description: | Generate CRUD API endpoints automatically. User doesn't see routes. Use when: features need backend logic. Triggers: internal 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

FeatureImplementation
Pagination?page=1&limit=20
Filtering?category=food
Sorting?sort=amount&order=desc
AuthMiddleware checks token
ValidationSchema 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"