Agent Skills: Community RESTful HATEOAS Best Practices

RESTful API design guidelines following the Richardson Maturity Model through to Level 3 (HATEOAS) for Ruby on Rails. This skill should be used when designing, building, reviewing, or refactoring REST APIs to ensure proper resource modeling, HTTP method semantics, hypermedia controls, content negotiation, and API evolvability. Triggers on tasks involving API controllers, serializers, routing, link relations, pagination, error handling, or HTTP caching in Rails.

UncategorizedID: pproenca/dot-skills/restful-hateoas

Install this agent skill to your local

pnpm dlx add-skill https://github.com/pproenca/dot-skills/tree/HEAD/skills/.curated/restful-hateoas

Skill Files

Browse the full folder contents for restful-hateoas.

Download Skill

Loading file tree…

skills/.curated/restful-hateoas/SKILL.md

Skill Metadata

Name
restful-hateoas
Description
RESTful API design guidelines following the Richardson Maturity Model through to Level 3 (HATEOAS) for Ruby on Rails. This skill should be used when designing, building, reviewing, or refactoring REST APIs to ensure proper resource modeling, HTTP method semantics, hypermedia controls, content negotiation, and API evolvability. Triggers on tasks involving API controllers, serializers, routing, link relations, pagination, error handling, or HTTP caching in Rails.

Community RESTful HATEOAS Best Practices

Comprehensive guide to building REST APIs that reach the Glory of REST (Richardson Maturity Level 3) in Ruby on Rails. Contains 47 rules across 9 categories, ordered by the request/response lifecycle — from resource URI design through hypermedia link relations to API evolution.

When to Apply

Reference these guidelines when:

  • Designing new REST API endpoints and resource URIs
  • Adding hypermedia controls (_links, affordances) to API responses
  • Implementing content negotiation with HAL, JSON:API, or vendor media types
  • Building paginated, filterable, sortable collection endpoints
  • Reviewing APIs for proper HTTP method semantics and status codes
  • Evolving APIs without breaking existing clients

Rule Categories by Priority

| Priority | Category | Impact | Prefix | |----------|----------|--------|--------| | 1 | Resource Modeling | CRITICAL | res- | | 2 | HTTP Method Semantics | CRITICAL | http- | | 3 | Hypermedia & Link Relations | CRITICAL | link- | | 4 | Status Codes & Response Headers | HIGH | status- | | 5 | Content Negotiation & Media Types | HIGH | media- | | 6 | Collection Patterns | MEDIUM-HIGH | coll- | | 7 | Error Semantics | MEDIUM | err- | | 8 | Caching & Conditional Requests | MEDIUM | cache- | | 9 | API Evolution | LOW-MEDIUM | evolve- |

Quick Reference

1. Resource Modeling (CRITICAL)

2. HTTP Method Semantics (CRITICAL)

3. Hypermedia & Link Relations (CRITICAL)

4. Status Codes & Response Headers (HIGH)

5. Content Negotiation & Media Types (HIGH)

6. Collection Patterns (MEDIUM-HIGH)

7. Error Semantics (MEDIUM)

8. Caching & Conditional Requests (MEDIUM)

9. API Evolution (LOW-MEDIUM)

How to Use

Read individual reference files for detailed explanations and code examples:

Reference Files

| File | Description | |------|-------------| | references/_sections.md | Category definitions and ordering | | assets/templates/_template.md | Template for new rules | | metadata.json | Version and reference information |