Converted and distributed by TomeVault — claim your Tome and manage your conversions.
Coder System Design API Design
API design rules for stable, observable, backward-compatible HTTP APIs. Use when this capability is needed.
Coder System Design API Design by tomevault-io · 3be231e
npx skillmds@latest add tomevault-io/coder-system-design-api-design File contents
---name: coder-system-design-api-designdescription: API design rules for stable, observable, backward-compatible HTTP APIs. Use when this capability is needed.---<when_to_use> <trigger>Designing new HTTP APIs or evolving existing contracts</trigger> <trigger>Reviewing API changes for compatibility and client impact</trigger> <trigger>Defining versioning, error model, pagination, and idempotency</trigger></when_to_use><input_requirements> <required>API consumers and usage patterns</required> <required>Resource model and operation set</required> <required>Compatibility policy and deprecation expectations</required> <required>Operational requirements (SLOs, observability, rate limits)</required></input_requirements><design_rules> <rule priority="P0">Model nouns as resources and use HTTP semantics consistently</rule> <rule priority="P0">Define one explicit versioning strategy and enforce it platform-wide</rule> <rule priority="P0">Use machine-readable error format with stable codes/types</rule> <rule priority="P0">Support idempotency for mutating operations with retries</rule> <rule priority="P1">Ship pagination from first release for list endpoints</rule> <rule priority="P1">Keep filtering/sorting grammar explicit and validated</rule> <rule priority="P1">Require request correlation and trace propagation headers</rule> <rule priority="P1">Treat backward compatibility as mandatory default in same major version</rule> <rule priority="P2">Use explicit deprecation timeline and sunset communication</rule></design_rules><decision_matrix> <item>Versioning: path major for public API unless platform standard mandates header/query versioning</item> <item>Error model: prefer RFC 9457 problem details over custom ad-hoc envelopes</item> <item>Pagination: cursor/page token for mutable datasets; offset only for small stable datasets</item></decision_matrix><checklist> <item>Status codes are accurate and documented per operation</item> <item>Error payload includes stable identifier and actionable detail</item> <item>Idempotency behavior is documented for retries and duplicate submission</item> <item>List endpoints define page size bounds and continuation token behavior</item> <item>Compatibility impact is evaluated for each contract change</item></checklist><do_not> <item importance="critical">Do not introduce breaking field or behavior changes in same major version</item> <item importance="high">Do not require clients to parse free-text error messages</item> <item importance="high">Do not add pagination later for high-volume endpoints</item></do_not><output_requirements> <requirement>API contract summary with versioning and compatibility notes</requirement> <requirement>Error model and idempotency strategy</requirement> <requirement>Pagination/filtering contract and limits</requirement> <requirement>Observability and deprecation plan</requirement></output_requirements><references> <source url="https://www.rfc-editor.org/rfc/rfc9110.html">RFC 9110 HTTP Semantics</source> <source url="https://www.rfc-editor.org/rfc/rfc9457.html">RFC 9457 Problem Details</source> <source url="https://www.rfc-editor.org/rfc/rfc9745.html">RFC 9745 Deprecation Header</source> <source url="https://www.rfc-editor.org/rfc/rfc8594.html">RFC 8594 Sunset Header</source> <source url="https://google.aip.dev/180">Google AIP-180 Backward Compatibility</source> <source url="https://google.aip.dev/185">Google AIP-185 Versioning</source> <source url="https://google.aip.dev/158">Google AIP-158 Pagination</source> <source url="https://google.aip.dev/160">Google AIP-160 Filtering</source> <source url="https://www.openapis.org/">OpenAPI Specification</source></references>---> Converted and distributed by [TomeVault](https://tomevault.io/claim/ozerohax) — claim your Tome and manage your conversions.<!-- tomevault:4.0:skill_md:2026-04-11 -->
tomevault-io/skills-registry/tree/main/ozerohax--assistagents--api-design commit 3be231e1d4
Frequently asked questions
Run npx skillmds@latest add tomevault-io/coder-system-design-api-design in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
API design rules for stable, observable, backward-compatible HTTP APIs. Use when this capability is needed. It is listed under Integrations & APIs on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
tomevault-io (@tomevault-io) published this skill. Their other Agent Skills are listed on their SkillMD profile.