Skip to content

skilldrop·docs·How-to

Use event-contract-draft

Draft the contract for an event or message interface (Kafka topics, SNS/SQS, EventBridge, Pub/Sub, RabbitMQ, webhooks) as an AsyncAPI 3.0 document plus a short decisions…

Draft the contract for an event or message interface (Kafka topics, SNS/SQS, EventBridge, Pub/Sub, RabbitMQ, webhooks) as an AsyncAPI 3.0 document plus a short decisions page — past-tense event names, a required envelope with event id for deduplication, the partition key and the ordering it does and doesn't give, at-least-once delivery and how consumers stay idempotent, data minimisation with PII marked, additive-only versioning with dated deprecation, and retention, replay and dead-letter handling.

Reach for it when the user wants to define events, design a Kafka topic or message schema, write an AsyncAPI spec, agree what a producer publishes and what consumers must do, or version an event safely.

Install it

npx skilldrop-cli install event-contract-draft                 # Claude Code, your user folder
npx skilldrop-cli install event-contract-draft --project       # Claude Code, this repo
npx skilldrop-cli install event-contract-draft --ide cursor    # or kiro, codex, antigravity, copilot

It is part of the Solution architect pack: --pack solution-architect installs it with its neighbours.

It ships scripts, so it needs Python 3 (standard library only, nothing to install). What they may touch is declared in its manifest.

Ask for it

Say it the way you would to a colleague. Requests like these route to it:

Requests like these belong to a different skill, so it shouldn't answer them:

If another skill answers instead, ask for this one by name: "use event-contract-draft".

Check what you get

A good result:

See a worked example

Use something else when

Next

Edit this page on GitHub · View source