ワンクリックで
rest-api-conventions
Design predictable REST APIs — noun resources, correct status codes, pagination, consistent errors, and versioning.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Design predictable REST APIs — noun resources, correct status codes, pagination, consistent errors, and versioning.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Write a blameless incident postmortem — timeline, impact, root cause, and concrete follow-ups, focused on systems not people.
Write clear, conventional git commit messages — type(scope): summary, imperative mood, a body that explains the why.
Build small, secure container images — pinned base, non-root user, multi-stage builds, no secrets in layers, minimal attack surface.
Control and query Home Assistant through the connector's call_service tool — REST API patterns, common domains, how to find entities before acting.
Handle API keys, tokens and passwords safely — store them in the vault, reference by name, never in chat, repo, memory, or code.
Diagnose slow queries and add the right indexes — read the query plan, index for filters/joins/sorts, avoid over-indexing.
| name | rest-api-conventions |
| description | Design predictable REST APIs — noun resources, correct status codes, pagination, consistent errors, and versioning. |
| category | Coding |
| tags | api, rest, http, design |
Designing or reviewing an HTTP/JSON API.
/orders, /orders/{id}/items. No verbs in paths.GET read (safe, idempotent) · POST create · PUT/PATCH replace/update ·
DELETE remove. POST for non-CRUD actions: /orders/{id}/refund.200 ok · 201 created (+ Location) · 204 no content · 400 bad input ·
401 unauthenticated · 403 forbidden · 404 not found · 409 conflict ·
422 validation · 429 rate-limited · 5xx server. Don't return 200 with an error body.
?limit=&cursor= (cursor) or ?page=&per_page=.?status=open&sort=-created_at.{ "error": { "code": "validation_error", "message": "…", "details": [ … ] } }
/v1/…. Don't break v1 in place.