For Product & Engineering teamsDesign → Review → Implement

Ship instrumentation that's right the first time.

Design the schema, review the change, implement the tracking call, whether a human writes it or a coding agent does. The contract is checked at every step, before a single bad event reaches your warehouse.

See the workflow
On the Data & AI side? For Data & AI teams
checkout_started · draftIN REVIEW
user_idstring
cart_valuenumber
+ coupon_valueADDITIVE
No breaking changes· 14 downstream models safe
01 · Design & author

The schema is the spec. Author it like code.

Typed properties, owners, PII classification and lifecycle stages, all versioned in changesets with review, not scattered across a spreadsheet nobody updates.

Event catalog
Bootstrap from what discovery already found in your warehouse. suky recognises Segment, RudderStack and Snowplow table layouts on connect, so the catalog arrives populated.
Changesets with review
Draft → in review → approved → merged. Every diff auto-classified breaking / additive / cosmetic so reviewers triage at a glance.
Lifecycle & sunset warnings
Alpha → beta → GA → deprecated, with 30- and 7-day lead-time warnings so downstream consumers migrate before the cutoff.
02 · Implement

Your coding agents write the tracking code. suky keeps them on-contract.

Agents ship more instrumentation than humans now, and they'll invent an event name if nothing stops them. suky gives them the canonical schema before they write, and a CI gate that fails the PR if they drift.

MCP server for Cursor, Claude Code, Windsurf (Pro)
Agents look up canonical events and get SDK snippets for Segment, Amplitude, Mixpanel, GA4, PostHog.
CI contract gate on every PR
Diffs proposed contracts against the workspace and fails on breaking changes, with a machine-readable block agents parse and self-correct from.
Auto-PR when drift ships anyway
Violation correlated to the deploy, corrected SDK call drafted as a PR scoped to the files the plan read, for human approval.
GitHubPR #2851 · feat: add coupon tracking to checkoutby cursor-agent
MCP · get_event('checkout_started')canonical schema fetched before codegen
suky / contract gate1 BREAKING CHANGE12s
breaking · checkout_started.coupon_code · type change string → number
14 downstream dbt models depend on this property · annotated inline in the diff
suky:check:v1 · for coding agents
"status": "failed", "summary": { "proposed_changes": { "breaking": 1 } },
"findings": [{ "cls": "breaking", "suggested_action": "add coupon_value:number" }]
agent amended the PRcoupon_value added · gate green · merged
03 · Publish

One approved schema, enforced everywhere events are born.

Merged contracts publish to your schema registry and validate at ingestion, with no pipeline migration, no lock-in.

Segment Protocols
RudderStack Tracking Plans
Snowplow Iglu
mParticle Data Master
ODCS v3.1 round-trip · keep contracts in your own git, validated by the CI gate
Contract

Put your next tracking change under contract.

See the consumer side