Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints, defining type contracts between modules, or establishing boundaries between frontend and backend.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# API and Interface Design
## Overview
Design stable, well-documented interfaces that are hard to misuse. Good interfaces make the right thing easy and the wrong thing hard. This applies to REST APIs, GraphQL schemas, module boundaries, component props, and any surface where one piece of code talks to another.
## When to Use
- Designing new API endpoints
- Defining module boundaries or contracts between teams
- Creating component prop interfaces
- Establishing database schema that informs API shape
- Changing existing public interfaces
## Core Principles
### Hyrum's Law
> With a sufficient number of users of an API, all observable behaviors of your system will be depended on by somebody, regardless of what you promise in the contract.
This means: every public behavior — including undocumented quirks, error message text, timing, and ordering — becomes a de facto contract once users depend on it. Design implications:
- **Be intentional about what you expose.** Every observable behavior is a potential commitment.
- **Don't leak implementation details.** If users can observe it, they will depend on it.
…
The line at the top of this page pins the label git:20260916.3a6b22e, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
GET https://markdownregistry.com/api/v1/artifacts/art_3a2pukett2jypf5t
GET https://markdownregistry.com/api/v1/resolve?ref=nota-america/forgecat-agent-profiles/api-and-interface-design
GET https://markdownregistry.com/api/v1/blob/5dafd0c44a3aabf11cae5bcb34f6fcc24dfa5c01ba6e0d3176bce997f4d68bc8
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/api-and-interface-design/SKILL.md · Guides stable API and interface design. Use when designing APIs,
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/browser-testing-with-devtools/SKILL.md · Tests in real browsers via Chrome DevTools MCP. Use when building
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/ci-cd-and-automation/SKILL.md · Automates CI/CD pipeline setup. Use when setting up or modifying
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/code-review-and-quality/SKILL.md · Conducts multi-axis code review. Use before merging any change. Use
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/code-simplification/SKILL.md · Simplifies code for clarity. Use when refactoring code for clarity
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/constraint-driven-development/SKILL.md · Establishes a project's quality bar as a written contract and stops
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/context-engineering/SKILL.md · Optimizes agent context setup. Use when starting a new session,
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/deprecation-and-migration/SKILL.md · Manages deprecation and migration. Use when removing old systems,
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/documentation-and-adrs/SKILL.md · Records decisions and documentation. Use when you need to document
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/doubt-driven-development/SKILL.md · Subjects every non-trivial decision to a fresh-context adversarial
addyosmani/agent-skills · skills/api-and-interface-design/SKILL.md · Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when…
sickn33/agentic-awesome-skills · plugins/agentic-awesome-skills-claude/skills/api-and-interface-design/SKILL.md · Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when…
shashankswe2020-ux/whoop-mcp · .github/skills/api-and-interface-design/SKILL.md · Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when…
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-forgecat/platforms/cursor/.cursor/skills/api-and-interface-design/SKILL.md · Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when…
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-forgecat/skills/api-and-interface-design/SKILL.md · Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when…
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-forgecat/platforms/codex/.agents/skills/api-and-interface-design/SKILL.md · Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when…
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/api-and-interface-design/SKILL.md · Guides stable API and interface design. Use when designing APIs,
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-cursor/.cursor/skills/api-and-interface-design/SKILL.md · Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when…