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
### 1. Contract First
Define the interface before implementing it. The contract is the spec — implementation follows.
```typescript
// Define the contract first
interface TaskAPI {
// Creates a task and returns the created task with server-generated fields
createTask(input: CreateTaskInput): Promise<Task>;
// Returns paginated tasks matching filters
listTasks(params: ListTasksParams): Promise<PaginatedResult<Task>>;
// Returns a single task or throws NotFoundError
getTask(id: string): Promise<Task>;
// Partial update — only provided fields change
…
The line at the top of this page pins the label git:20260215.af8eb3a, 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_2npydy5lbjkurxgp
GET https://markdownregistry.com/api/v1/resolve?ref=lll0k0lad/agent-skills/api-and-interface-design
GET https://markdownregistry.com/api/v1/blob/58c5c117593f2fb88478671e10063ce0027c59c226ae4f4856a15b8a74f85c76
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.
lll0k0lad/agent-skills · skills/browser-testing-with-devtools/SKILL.md · Use when building or debugging anything that runs in a browser. Use when you need to inspect the DOM, capture console…
lll0k0lad/agent-skills · skills/ci-cd-and-automation/SKILL.md · Use when setting up or modifying build and deployment pipelines. Use when you need to automate quality gates, configure…
lll0k0lad/agent-skills · skills/code-review-and-quality/SKILL.md · Use before merging any change. Use when reviewing code written by yourself, another agent, or a human. Use when you…
lll0k0lad/agent-skills · skills/context-engineering/SKILL.md · Use when starting a new session, when agent output quality degrades, when switching between tasks, or when you need to…
lll0k0lad/agent-skills · skills/debugging-and-error-recovery/SKILL.md · Use when tests fail, builds break, behavior doesn't match expectations, or you encounter any unexpected error. Use when…
lll0k0lad/agent-skills · skills/documentation-and-adrs/SKILL.md · Use when making architectural decisions, changing public APIs, shipping features, or when you need to record context…
lll0k0lad/agent-skills · skills/frontend-ui-engineering/SKILL.md · Use when building or modifying user-facing interfaces. Use when creating components, implementing layouts, managing…
lll0k0lad/agent-skills · skills/git-workflow-and-versioning/SKILL.md · Use when making any code change. Use when committing, branching, resolving conflicts, or when you need to organize work…
lll0k0lad/agent-skills · skills/idea-refine/SKILL.md · Refine ideas through structured divergent and convergent thinking. Use "idea-refine" or "ideate" to trigger.
lll0k0lad/agent-skills · skills/incremental-implementation/SKILL.md · Use when implementing any feature or change that touches more than one file. Use when you're about to write a large…
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-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-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,