Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
onewave-ai avatar

Api Endpoint Scaffolder

  • 226 installs
  • 237 repo stars
  • Updated July 15, 2026
  • onewave-ai/claude-skills

Generate REST or HTTP endpoint stubs with routes, handlers, validation, and response shapes aligned to your API conventions.

About

Scaffolds API endpoints with routes, handlers, validation, and response contracts following project conventions so backend features ship faster with consistent structure across services.

  • Route and handler stubs
  • Request validation
  • Response schemas
  • Auth middleware hooks
  • Convention-aware layout

Api Endpoint Scaffolder by the numbers

  • 226 all-time installs (skills.sh)
  • +4 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #1,757 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/onewave-ai/claude-skills --skill api-endpoint-scaffolder

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs226
repo stars237
Last updatedJuly 15, 2026
Repositoryonewave-ai/claude-skills

What it does

Generate REST or HTTP endpoint stubs with routes, handlers, validation, and response shapes aligned to your API conventions.

Files

SKILL.mdMarkdownGitHub ↗

API Endpoint Scaffolder

Instructions

When creating a new API endpoint:

1. Identify the framework (Express, Next.js, FastAPI, etc.) 2. Determine HTTP method (GET, POST, PUT, PATCH, DELETE) 3. Define request/response types 4. Implement with best practices

Templates

Next.js App Router (TypeScript)

// app/api/[resource]/route.ts
import { NextRequest, NextResponse } from 'next/server';
import { z } from 'zod';

const RequestSchema = z.object({
  // Define your schema
});

export async function GET(request: NextRequest) {
  try {
    const { searchParams } = new URL(request.url);
    // Implementation
    return NextResponse.json({ data }, { status: 200 });
  } catch (error) {
    console.error('[API] Error:', error);
    return NextResponse.json(
      { error: 'Internal server error' },
      { status: 500 }
    );
  }
}

export async function POST(request: NextRequest) {
  try {
    const body = await request.json();
    const validated = RequestSchema.parse(body);
    // Implementation
    return NextResponse.json({ data }, { status: 201 });
  } catch (error) {
    if (error instanceof z.ZodError) {
      return NextResponse.json(
        { error: 'Validation failed', details: error.errors },
        { status: 400 }
      );
    }
    return NextResponse.json(
      { error: 'Internal server error' },
      { status: 500 }
    );
  }
}

Express (TypeScript)

import { Router, Request, Response, NextFunction } from 'express';
import { z } from 'zod';

const router = Router();

const CreateSchema = z.object({
  // Define schema
});

router.post('/', async (req: Request, res: Response, next: NextFunction) => {
  try {
    const data = CreateSchema.parse(req.body);
    // Implementation
    res.status(201).json({ success: true, data });
  } catch (error) {
    next(error);
  }
});

export default router;

Best Practices

1. Always validate input using Zod, Yup, or similar 2. Use proper HTTP status codes:

  • 200: Success
  • 201: Created
  • 400: Bad Request
  • 401: Unauthorized
  • 403: Forbidden
  • 404: Not Found
  • 500: Server Error

3. Log errors but don't expose internals to clients 4. Use consistent response format 5. Add rate limiting for public endpoints 6. Document with OpenAPI/Swagger when possible

Related skills

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.