mcpbeat

REST Patterns

aiskillstore/rest-patterns

Quick reference for RESTful API design patterns, HTTP semantics, caching, and rate limiting. Triggers on: rest api, http methods, status codes, api design, endpoint design, api versioning, rate limiting, caching headers.

This is a copy. The original lives at comeonoliver/rest-patterns.

14k tokens
context cost
the whole folder, loaded on every use
6
files
instructions only
0
copies elsewhere
how many repositories repackaged it
404
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/aiskillstore/marketplace --skill rest-patterns

What comes with it

52 214 bytes besides the instruction
references/caching-patterns.md
references/rate-limiting.md
references/response-formats.md
references/status-codes.md
skill-report.json

The instruction itself

9 sections, as written by the author

REST Patterns

Quick reference for RESTful API design patterns and HTTP semantics.

HTTP Methods

| Method | Purpose | Idempotent | Cacheable |

|--------|---------|------------|-----------|

| GET | Retrieve resource(s) | Yes | Yes |

| POST | Create new resource | No | No |

| PUT | Replace entire resource | Yes | No |

| PATCH | Partial update | Maybe | No |

| DELETE | Remove resource | Yes | No |

Essential Status Codes

| Code | Name | Use |

|------|------|-----|

| 200 | OK | Success with body |

| 201 | Created | POST success (add Location header) |

| 204 | No Content | Success, no body |

| 400 | Bad Request | Invalid syntax |

| 401 | Unauthorized | Not authenticated |

| 403 | Forbidden | Not authorized |

| 404 | Not Found | Resource doesn't exist |

| 422 | Unprocessable | Validation error |

| 429 | Too Many Requests | Rate limited |

| 500 | Server Error | Internal failure |

Resource Design

GET    /users              # List
POST   /users              # Create
GET    /users/{id}         # Get one
PUT    /users/{id}         # Replace
PATCH  /users/{id}         # Update
DELETE /users/{id}         # Delete

# Query parameters
GET /users?page=2&limit=20          # Pagination
GET /users?sort=created_at:desc     # Sorting
GET /users?role=admin               # Filtering

Security Checklist

  • [ ] HTTPS/TLS only
  • [ ] OAuth 2.0 or JWT for auth
  • [ ] Validate all inputs
  • [ ] Rate limit per client
  • [ ] CORS headers configured
  • [ ] No sensitive data in URLs
  • [ ] Use no-store for sensitive responses

Common Mistakes

| Mistake | Fix |

|---------|-----|

| Verbs in URLs | /getUsers/users |

| Deep nesting | Flatten or use query params |

| 200 for errors | Use proper 4xx/5xx |

| No pagination | Always paginate collections |

| Missing rate limits | Protect against abuse |

Quick Reference

| Task | Pattern |

|------|---------|

| Paginate | ?page=2&limit=20 |

| Sort | ?sort=field:asc |

| Filter | ?status=active |

| Sparse fields | ?fields=id,name |

| Include related | ?include=orders |

When to Use

  • Designing new API endpoints
  • Choosing HTTP methods and status codes
  • Implementing caching headers
  • Setting up rate limiting
  • Structuring error responses

Additional Resources

For detailed patterns, load:

  • ./references/status-codes.md - Complete status code reference with examples
  • ./references/caching-patterns.md - Cache-Control, ETag, CDN patterns
  • ./references/rate-limiting.md - Rate limiting strategies and headers
  • ./references/response-formats.md - Errors, versioning, bulk ops, HATEOAS

How to use it

Copy the folder

Take aiskillstore/rest-patterns from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.