The design contract layer
for agent skills
A portable, framework-agnostic file format for declaring what a skill is: its domain, public interface, dependencies, typed contracts, and proof-of-correctness fixtures.
The Missing Contract
Skills are folders of prose.
Opaque vs. Bound
Currently, a caller has to read the entire skill folder to learn what it exposes, what inputs it requires, what side effects it has, and which outputs it actually produces.
When the skill changes, callers find out at runtime. COVENANT.md fills that gap. The boundary is declared and typed; the caller depends on the contract, not the internals.
The Five Questions
Every COVENANT.md answers five questions about a skill.
Domain
Who are you? The skill's identity and the problem space it owns.
Interface
What do you expose? The operations callers may invoke, and nothing more.
Dependencies
What do you need? The tools, sibling skills, and environment required.
Contracts
What do you promise? Typed inputs and outputs, plus verifiable invariants.
Quality
How do you prove it? Fixtures and gates that demonstrate the skill works.