KS
Killer-Skills

api-designer — Categories.community

v1.0.0
GitHub

About this Skill

Perfect for Backend Agents needing to design and implement scalable RESTful APIs Simple code reviewer in local

tolluset tolluset
[0]
[0]
Updated: 3/5/2026

Quality Score

Top 5%
46
Excellent
Based on code quality & docs
Installation
SYS Universal Install (Auto-Detect)
Cursor IDE Windsurf IDE VS Code IDE
> npx killer-skills add tolluset/local-review

Agent Capability Analysis

The api-designer MCP Server by tolluset is an open-source Categories.community integration for Claude and other AI agents, enabling seamless task automation and capability expansion.

Ideal Agent Persona

Perfect for Backend Agents needing to design and implement scalable RESTful APIs

Core Value

Empowers agents to define API endpoints using RESTful rules, such as GET, POST, PATCH, PUT, and DELETE methods, and standardize response formats in JSON, enabling seamless integration with frontend applications and microservices architectures using protocols like HTTP and HTTPS

Capabilities Granted for api-designer MCP Server

Designing resource-oriented API endpoints
Implementing CRUD operations using RESTful methods
Standardizing API response formats for consistent data exchange

! Prerequisites & Limits

  • Requires knowledge of RESTful architecture principles
  • Limited to designing APIs using RESTful rules and JSON response format
Project
SKILL.md
3.0 KB
.cursorrules
1.2 KB
package.json
240 B
Ready
UTF-8

# Tags

[No tags]
SKILL.md
Readonly

API Designer Skill

Role

Backend developer who designs and implements RESTful APIs

API Design Principles

RESTful Rules

MethodPurposePath Pattern
GETRetrieve/api/resources, /api/resources/:id
POSTCreate/api/resources
PATCHPartial update/api/resources/:id
PUTFull replace/api/resources/:id
DELETEDelete/api/resources/:id

Response Format

typescript
1// Success 2{ data: T } 3{ data: T[], total?: number } 4 5// Error 6{ error: string, details?: unknown }

HTTP Status Codes

CodePurpose
200Success
201Created
400Bad request
404Not found
500Server error

Implementation Order

1. Type Definition (packages/shared)

typescript
1// packages/shared/src/index.ts 2export type CreateFeatureRequest = { 3 name: string; 4 description?: string; 5}; 6 7export type FeatureResponse = { 8 id: string; 9 name: string; 10 description: string | null; 11 createdAt: string; 12};

2. DB Schema (if needed)

typescript
1// packages/db/src/schema.ts 2export const features = sqliteTable('features', { 3 id: text('id').primaryKey(), 4 name: text('name').notNull(), 5 description: text('description'), 6 createdAt: text('created_at').notNull(), 7});

3. Route Implementation

typescript
1// apps/server/src/routes/features.ts 2import { Router } from 'express'; 3import { db } from '@local-review/db'; 4import { features } from '@local-review/db/schema'; 5import { nanoid } from 'nanoid'; 6 7const router = Router(); 8 9// GET /api/features 10router.get('/', async (req, res) => { 11 try { 12 const result = await db.select().from(features); 13 res.json(result); 14 } catch (error) { 15 res.status(500).json({ error: 'Failed to fetch features' }); 16 } 17}); 18 19// POST /api/features 20router.post('/', async (req, res) => { 21 try { 22 const { name, description } = req.body; 23 24 if (!name) { 25 return res.status(400).json({ error: 'Name is required' }); 26 } 27 28 const newFeature = { 29 id: nanoid(), 30 name, 31 description: description ?? null, 32 createdAt: new Date().toISOString(), 33 }; 34 35 await db.insert(features).values(newFeature); 36 res.status(201).json(newFeature); 37 } catch (error) { 38 res.status(500).json({ error: 'Failed to create feature' }); 39 } 40}); 41 42export default router;

4. Register Route

typescript
1// apps/server/src/index.ts 2import featuresRouter from './routes/features'; 3app.use('/api/features', featuresRouter);

5. Frontend API Client

typescript
1// apps/web/src/lib/api.ts 2export const featureApi = { 3 list: () => fetchJson<FeatureResponse[]>('/api/features'), 4 create: (data: CreateFeatureRequest) => 5 fetchJson<FeatureResponse>('/api/features', { 6 method: 'POST', 7 body: JSON.stringify(data), 8 }), 9};

Existing API Reference

Current project API structure:

  • GET /api/git/branches - Branch list
  • GET/POST /api/sessions - Session CRUD
  • GET/POST /api/sessions/:id/comments - Comments
  • PATCH /api/sessions/:id/files/*/status - File status

Related Skills

Looking for an alternative to api-designer or building a Categories.community AI Agent? Explore these related open-source MCP Servers.

View All

widget-generator

Logo of f
f

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

149.6k
0
Design

flags

Logo of vercel
vercel

flags is a Next.js feature management skill that enables developers to efficiently add or modify framework feature flags, streamlining React application development.

138.4k
0
Browser

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
Communication

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
Communication