vibe-coder/skills/api-generator/SKILL.md
Generate CRUD API endpoints automatically. User doesn't see routes. Use when: features need backend logic. Triggers: internal use only.
npx skillsauth add timequity/plugins api-generatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create endpoints from requirements. User never writes routes.
Identify resources
Generate CRUD
Add validation
Generate OpenAPI
// 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);
}
@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
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);
});
| Feature | Implementation | |---------|----------------| | Pagination | ?page=1&limit=20 | | Filtering | ?category=food | | Sorting | ?sort=amount&order=desc | | Auth | Middleware checks token | | Validation | Schema validates input |
User: "Add expense tracking"
Internally:
User sees: "✅ Expense API ready"
tools
Backup strategies, disaster recovery planning, and business continuity.
devops
Cloud cost management, rightsizing, and FinOps practices.
testing
CI/CD pipeline design with GitHub Actions, GitLab CI, and best practices.
development
Validate idea and create detailed PRD. Saves docs/PRD.md to project. Use when: user describes an app idea, wants to create something new. Triggers: "I want to build", "create app", "make website", "build MVP", "хочу создать", "сделать приложение".