Data is a contract — no negotiation.
Data as a contract, not a side effect: a breaking change requires a new version, delivery via Outbox, safe idempotency and replay, bad data goes to quarantine and deny-by-default on access.
$ schematize install dataNon-negotiable floors
Never switched off "to go faster". Full list in the skill.
Data is a contract
Every piece of data that crosses a boundary has a versioned schema. Removing/renaming/changing a type is a break: it requires a v2 and a documented coexistence window.
Delivery via Outbox
Transactional Outbox (or CDC from the database log); dual-write is vetoed. Every consumer has a DLQ; retry is bounded with backoff, never infinite.
Safe idempotency and replay
Idempotent consumer (running twice doesn't corrupt); deterministic replay rebuilds the same state; side effects deduped by idempotency-key.
Bad data doesn't contaminate downstream
Validation at the edge; whatever fails goes to quarantine/DLQ with reason and origin — never enters the good dataset, never vanishes silently.
Reversible expand-contract migration
expand → migrate → contract, each step with a tested down. A destructive DROP/rename in a single step is vetoed. Timestamps in UTC, IDs UUIDv7/ULID.
Deny-by-default + governed PII
Access denied by default, per tenant server-side; parameterized SQL. PII only with legal basis + retention, out of logs/URLs. Traceable lineage; always archive.
Commands
Installed in .claude/commands/. Run /data-help anytime.
/data-helpLists every command./data-contractDefines/audits the data contract: versioned schema, compatibility (back/forward/full), registry, evolution policy; blocks a breaking change without a new version./data-pipelineDesigns/audits the pipeline (ETL/ELT batch, streaming, CDC/event sourcing): idempotency, delivery via Outbox, replay, backpressure, DLQ./data-qualityBuilds/audits the quality gate: validation at the edge, data tests/expectations, quarantine and dead-letter, data SLA./data-loadForce-loads the whole normative body: contracts, pipelines, quality, storage, governance./data-claudeCreates or merges the always-on data CLAUDE.md at the repo root./data-ccContext compact: writes the handoff to the archive and runs /compact./data-handoffWrites the handoff (context.md + checklist.md) without compacting.For AI agents
Install with no human in the loop. Metadata in llms.txt.
- Run: git clone https://github.com/schematizeme/skill-data.git && ./skill-data/install.sh
- Or download: https://github.com/schematizeme/skill-data/releases/latest/download/skill-data.zip and unzip into .claude/skills/
- Copy assets/CLAUDE.md to the repo root (always-on rule).
- Confirm with /data-help.
Discussie
Laden…