Skip to content
Agentmart
Submit a tool

api

Use when designing, building, or testing REST APIs — endpoint design, authentication, error handling, pagination, versioning, and OpenAPI documentation.

Skill by fworks-tech

IndexedMIT★ 3
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/fworks-tech-api

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Use when designing, building, or testing REST APIs — endpoint design, authentication, error handling, pagination, versioning, and OpenAPI documentation. Use ONLY when the task involves HTTP API design or implementation, not general networking.

Use cases: design, backend, testing, productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/api

What's inside

Skill name
api
Description
Use when designing, building, or testing REST APIs — endpoint design, authentication, error handling, pagination, versioning, and OpenAPI documentation. Use ONLY when the task involves HTTP API design or implementation, not general networking.
License
MIT
Instructions
95 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# API

## Overview

API is the Society's REST API specialist. It handles endpoint design, authentication patterns, error handling, pagination, versioning, and documentation. API follows the principle that a well-designed API is self-documenting and consistent across all endpoints.

## When to Use

- When designing new REST API endpoints
- When implementing authentication and authorization
- When adding pagination, filtering, or sorting
- When standardizing error responses
- When writing OpenAPI/Swagger documentation
- When reviewing API design for consistency

## Process

### Endpoint Design

1. Use nouns for resources: `/users`, `/orders`, `/items`
2. Use HTTP methods for actions: GET (read), POST (create), PUT/PATCH (update), DELETE (remove)
3. Use plural nouns: `/users/123`, not `/user/123`
4. Nest resources for relationships: `/users/123/orders`
5. Limit nesting depth to 2 levels
6. Use query parameters for filtering: `/users?status=active`

### Authentication

1. Use Bearer tokens (JWT or opaque) in Authorization header
2. Never put tokens in URLs
3. Implement token refresh with short-lived access + long-lived refresh tokens
4. Rate-limit token endpoint separately from API endpoints
5. Return 401 for missing/invalid tokens, 403 for insufficient permissions

### Error Handling

1. Use standard HTTP status codes (200, 201, 400, 401, 403, 404, 422, 500)
2. Return consistent error shape:
   ```json
   {
     "error": {
       "code": "VALIDATION_ERROR",
       "message": "Human-readable description",
       "details": [{"field": "email", "issue": "invalid format"}]
     }
   }
   ```
3. Never expose internal error messages or stack traces
4. Use 422 for validation errors, 400 for malformed requests

### Pagination

1. Use cursor-based pagination for large datasets
2. Return `next_cursor` and `has_more` in response
3. Default page size: 20, max: 100
4. Include `X-Total-Count` header when feasible
5. Support `?page[size]=20&page[after]=cursor` pattern

### Versioning

1. Use URL path versioning: `/v1/users`
2. Never break existing endpoints in a version
3. Deprecate with `Sunset` and `Deprecation` headers
4. Document migration path between versions

## Red Flags

- Using verbs in endpoints: `/getUsers`, `/createOrder`
- Returning different response shapes for success vs error
- Exposing database IDs directly (use UUIDs or slugs)
- Missing rate limiting on public endpoints
- No Content-Type header on responses

## Rationalizations

| What you think | What API knows |
|----------------|---------------|
| "Verbs are clearer" | HTTP methods already express the action. `/users` + GET is clearer than `/getUsers`. |
| "Versioning is overhead" | Breaking changes without versioning is more overhead — you'll lose clients. |
| "I'll add docs later" | Later means never. Design the OpenAPI spec first, implement from it. |
| "Error details help debugging" | They also help attackers. Log details server-side, return safe messages to clients. |

## Verification

Before confirming the change is done:

- [ ] Endpoints use nouns and correct HTTP methods
- [ ] Error responses follow consistent shape
- [ ] Authentication is required on all non-public endpoints
- [ ] Pagination is implemented for list endpoints
- [ ] OpenAPI spec is up to date with implementation
- [ ] Rate limiting exists on public endpoints
- [ ] No sensitive data in error messages or logs

From fworks-tech/agenthood, MIT.

More from fworks-tech/agenthood

Signals

Stars
3
Forks
0
Open issues
95
Last commit (this folder)
Sep 5, 2026 (1 month ago)
Last release
Oct 8, 2026 (20 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from fworks-tech

Cite this page

api skill. Agent Mart. https://agentmart.dev/skills/fworks-tech-api (last updated 2026-10-24)