api-and-interface-designlisted
Install: claude install-skill voidcorp-core/void-harness
# api-and-interface-design — voidcorp craftsman edition
A public interface is a promise. The contract is the promise; the implementation is replaceable. Once a consumer depends on a signature, that signature costs you forever — every shape you expose is a shape you must keep working or deprecate on a schedule. This skill governs how you draw the contract of anything other code consumes: what it accepts, what it returns, how it fails, how it changes.
Design the contract before the implementation. The implementation is private and free to churn; the contract is public and expensive to change.
**Attribution**: see `.source` in this directory. Foundation: Parnas "information hiding," Bloch "How to Design a Good API," contract-first / OpenAPI, SemVer.
---
## Boundary with neighboring skills
This skill is narrow. It does NOT cover layered architecture or domain vocabulary.
| Concern | Owner |
|---|---|
| Where the boundary sits physically, dependency direction, ports vs adapters | `hexagonal-architecture` |
| What the domain IS — bounded contexts, aggregates, ubiquitous language | `domain-driven-design` |
| **The shape, stability, and versioning of a public contract — viewed from the outside** | **this skill** |
A port (hex) is an interface the domain owns. This skill says how to draw that port well *as seen by its consumer*: minimal, hard to misuse, stable, versioned. Hex decides the port exists and which side owns it; DDD supplies the words inside it; this skill shapes th