import-format-contract-design
Installation
SKILL.md
Designing an exchange-file contract
An exchange file is a contract between a producer (a converter, an exporter, a plugin) and a consumer (your app). Write the contract down as a document, not as whatever the parser happens to accept. A worked envelope:
{ "songs": [ … ], "playlists": [ … ] }
Start the document by stating what the consumer refuses to do — that constrains the producer more than any field does: "the app does no matching of its own; if a track has no id by the time the file is written, it must not appear in the file at all." Everything downstream follows from that.