API & interface design
Designing interfaces that are hard to misuse and cheap to evolve — naming, versioning, error shape, defaults.
Installation
$ npx skills add addyosmani/agent-skillsThe CLI's unit is the repository, so this installs everything in addyosmani/agent-skills, not api-and-interface-design alone. It writes into whichever agent directories it finds — Claude Code, Codex, Cursor, Copilot, Windsurf, Zed.
Summary
Designing interfaces that are hard to misuse and cheap to evolve — naming, versioning, error shape, defaults.
- Reach for it when you are about to add a public function, endpoint or package export that other teams will depend on.
- Sits in Design & architect — interfaces, module boundaries and domain language — decided before the code sets them in concrete.
- Stack-agnostic — nothing in it assumes a particular language or framework.
- Published by Addy Osmani. Well regarded, but not the vendor of the thing it covers.
- Installing pulls the whole addyosmani/agent-skills repository: this catalogue lists 19 other entries from it, and the repo may hold more.
Where it sits in delivery
Design & architectInterfaces, module boundaries and domain language — decided before the code sets them in concrete.Everything in Design →
The skill itself
The full text lives with its publisher and changes when they change it. Read it there rather than here — a mirrored copy of somebody else's procedure goes stale silently, and this page would have no way of telling you.
Related
More in Design & architect
- Frontend designAnthropic's guidance for producing interfaces that look designed rather than defaulted.
anthropics/skills - Web design guidelinesVercel's design rules for agent-generated web interfaces: layout, spacing, typography, motion, state.
vercel-labs/agent-skills - Codebase designWhere module boundaries go, and what belongs on each side of one.
mattpocock/skills - Diagramming codeProduces accurate architecture and data-flow diagrams from the code that exists, not the code somebody described.
trailofbits/skills - Domain modelingModelling the problem so that illegal states cannot be represented, instead of validating them at every call site.
mattpocock/skills - Improve codebase architectureFinds the places where deepening a module would remove a whole class of call-site complexity.
mattpocock/skills