Skillshub restful-hateoas

Community RESTful HATEOAS Best Practices

install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/pproenca/dot-skills/restful-hateoas" ~/.claude/skills/comeonoliver-skillshub-restful-hateoas && rm -rf "$T"
manifest: skills/pproenca/dot-skills/restful-hateoas/SKILL.md
source content

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

PriorityCategoryImpactPrefix
1Resource ModelingCRITICAL
res-
2HTTP Method SemanticsCRITICAL
http-
3Hypermedia & Link RelationsCRITICAL
link-
4Status Codes & Response HeadersHIGH
status-
5Content Negotiation & Media TypesHIGH
media-
6Collection PatternsMEDIUM-HIGH
coll-
7Error SemanticsMEDIUM
err-
8Caching & Conditional RequestsMEDIUM
cache-
9API EvolutionLOW-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

FileDescription
references/_sections.mdCategory definitions and ordering
assets/templates/_template.mdTemplate for new rules
metadata.jsonVersion and reference information