.agents/skills/api-designer/SKILL.md
Design consistent, RESTful APIs with proper versioning, documentation, and error handling.
npx skillsauth add jacksonemmerich/farmapub api-designerInstall 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.
Category: Dev Expert Version: 1.0.0 Used By: backend-nodejs, backend-python, backend-go, backend-laravel
Design consistent, RESTful APIs with proper versioning, documentation, and error handling.
| Method | Endpoint | Purpose | Response | |--------|----------|---------|----------| | GET | /users | List all | 200 + array | | GET | /users/:id | Get one | 200 / 404 | | POST | /users | Create | 201 + created | | PUT | /users/:id | Replace | 200 / 404 | | PATCH | /users/:id | Update | 200 / 404 | | DELETE | /users/:id | Delete | 204 / 404 |
GET /users/:userId/orders # User's orders
POST /users/:userId/orders # Create order for user
GET /users/:userId/orders/:orderId # Specific order
| Type | Convention | Example |
|------|------------|---------|
| Resources | Plural nouns | /users, /orders |
| Actions | Verbs (rare) | /auth/login, /reports/generate |
| Query params | snake_case | ?page_size=20 |
| Request/Response | camelCase | { "firstName": "John" } |
| Strategy | Example | When to Use |
|----------|---------|-------------|
| URL Path | /v1/users | Most common, clear |
| Header | Accept: application/vnd.api+json;version=1 | Clean URLs |
| Query | /users?version=1 | Simple but messy |
Recommended: URL path (/api/v1/...)
{
"data": { "id": "123", "name": "John" },
"meta": { "timestamp": "2025-01-01T00:00:00Z" }
}
{
"data": [{ "id": "1" }, { "id": "2" }],
"meta": {
"page": 1,
"pageSize": 20,
"total": 100,
"totalPages": 5
}
}
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid input",
"fields": { "email": "Invalid format" }
}
}
| Code | Meaning | When to Use | |------|---------|-------------| | 200 | OK | Successful GET/PUT/PATCH | | 201 | Created | Successful POST | | 204 | No Content | Successful DELETE | | 400 | Bad Request | Invalid input | | 401 | Unauthorized | No/invalid auth | | 403 | Forbidden | No permission | | 404 | Not Found | Resource missing | | 409 | Conflict | Duplicate/state conflict | | 422 | Unprocessable | Validation failed | | 429 | Too Many | Rate limited | | 500 | Server Error | Unexpected error |
GET /users?page=2&page_size=20
GET /users?cursor=eyJpZCI6MTAwfQ&limit=20
| Pattern | Pros | Cons | |---------|------|------| | Offset | Simple, jump to page | Slow on large datasets | | Cursor | Consistent, fast | No page jumping |
# Filter
GET /users?status=active&role=admin
# Sort
GET /users?sort=created_at:desc,name:asc
# Search
GET /users?q=john
# Combined
GET /users?status=active&sort=name:asc&page=1&page_size=20
openapi: 3.0.0
info:
title: User API
version: 1.0.0
paths:
/users:
get:
summary: List users
parameters:
- name: page
in: query
schema: { type: integer, default: 1 }
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UserList'
Version: 1.0.0 | Last Updated: 2025-11-28
documentation
Guidelines for modern Avalonia UI layout using Zafiro.Avalonia, emphasizing shared styles, generic components, and avoiding XAML redundancy.
tools
Autonomous agents are AI systems that can independently decompose goals, plan actions, execute tools, and self-correct without constant human guidance. The challenge isn't making them capable - it'...
tools
Design patterns for building autonomous coding agents. Covers tool integration, permission systems, browser automation, and human-in-the-loop workflows. Use when building AI agents, designing tool ...
tools
Build WhatsApp automations with Kapso workflows: configure WhatsApp triggers, edit workflow graphs, manage executions, deploy functions, and use databases/integrations for state. Use when automatin...