원클릭으로
api-design
Design stable, versioned, self-documenting APIs. Easy to use correctly, hard to use incorrectly. Apply Hyrum's Law from day one.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Design stable, versioned, self-documenting APIs. Easy to use correctly, hard to use incorrectly. Apply Hyrum's Law from day one.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | api-design |
| description | Design stable, versioned, self-documenting APIs. Easy to use correctly, hard to use incorrectly. Apply Hyrum's Law from day one. |
| category | build |
| applies-to | ["claude","gemini","cursor","copilot","any"] |
| version | 1.0.0 |
APIs are contracts. Once published, every behavior — documented or not — becomes something users depend on (Hyrum's Law). This skill enforces the discipline of designing APIs that are stable, self-documenting, and difficult to misuse.
Verify: You can write 3 example usages without looking at the implementation.
Verify: Every public field and behavior is either documented as stable or marked as internal.
/api/v1/, Content-Type: application/vnd.myapi.v1+jsonVerify: API version is in the URL or headers. Deprecation policy is documented.
Verify: A new developer can use the API from documentation alone, without reading source code.
| Excuse | Rebuttal |
|---|---|
| "We'll document it later" | Undocumented APIs become black boxes. Document as you build. |
| "We can break it, it's internal" | Internal APIs become external. Design them well from the start. |
| "Versioning is premature" | Retrofitting versioning into an unversioned API is painful. Start versioned. |
Automated quality gates from commit to production. Every merge to main is potentially shippable. No manual steps in the deployment path.
Document decisions, not just implementations. ADRs for architectural choices, inline docs for non-obvious code, and runbooks for operational knowledge.
Graceful degradation and meaningful error messages. Errors are first-class citizens, not afterthoughts. Every error path is designed, not discovered.
Test real system boundaries, not mocks of mocks. Integration tests verify that components work together, not that they work in isolation.
Converts unstructured meeting notes into structured, assigned, time-bounded action items. Never leave a meeting without knowing who does what by when.
Safe, behavior-preserving code transformation backed by tests. Refactor with evidence, not instinct.