Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/sananthanarayan/skilldrop/data-contractnpx skills add sananthanarayan/skilldrop --skill data-contractgit clone --depth 1 https://github.com/sananthanarayan/skilldropWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00096 | $0.01694 |
| Opus 5 | $0.00048 | $0.00847 |
| Sonnet 5 | $0.00019 | $0.00339 |
| Haiku 4.5 | $0.00010 | $0.00169 |
Grade A, and why
data-contract scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 68 lines — stays where its author put it; the contents beside it link to each section on GitHub.
data-contract
Treats a dataset, table, or topic as a product with an owner and a guarantee — the agreement a producing team makes to everyone reading their data. Distinct from api-contract-draft (synchronous request/response + webhook interfaces): this governs data at rest and in motion — the warehouse table, the Kafka topic, the daily export — where the failure mode isn't a 500, it's a downstream model silently trained on a column whose meaning changed last Tuesday.
How to respond
-
Establish producer, consumers, and the asset. What dataset (table / topic / file feed), who produces it, and who consumes it — because the consumer list is what makes a change "breaking". Ask at most 2 questions, spent on the asset's update mechanism (batch / streaming / CDC) and whether any consumer is outside the producing team's control (another team, a partner, a trained model). A dataset with unknown consumers can't have a contract — surfacing that is the first value.
-
Specify schema with semantics, not just types. Types prevent crashes; semantics prevent silent wrongness. Every field gets: name, type, nullability, unit or allowed-values, and a one-line meaning. ✅ "
amount— int64, not null, minor currency units (cents), the net charged after discounts" — ❌ "amount— integer" (cents or dollars? gross or net? the model that assumed dollars is now off by 100×). Mark every field's[required]vs[optional]and whethernullis a valid value distinct from absent. -
Set quality guarantees as measurable SLAs (catalog in
reference.md) — each with a threshold, a check, and a breach action:- Freshness — max acceptable lag ("partition for day D lands by 06:00 D+1")
- Completeness — expected volume / no gaps ("row count within ±10% of trailing-7-day median; no missing partitions")
- Validity — % rows passing field constraints ("≥99.9% of
emailrows match the format") - Uniqueness — the key that's actually unique ("
event_idunique; duplicates are a contract breach, not a dedup hint") - Distribution — drift bounds on the columns consumers depend on ("
countrycardinality and null-rate within historical band") A quality SLA without a breach action ("page the producer" / "quarantine the partition" / "alert consumers") is a wish; name the action.
What ships with it
5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 68 lines · 96 tokens per session scan A 61fa57668f47
data-contract is a skill published in the GitHub repository sananthanarayan/skilldrop (2 stars, last pushed 18d ago), licensed MIT. It adds 96 tokens to every session and 1,694 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
cognee-community
Use when the user needs something that ships outside cognee core — community database adapters (Qdrant, Milvus, Weaviate, Redis, Pinecone, FalkorDB, Memgraph, DuckDB, NetworkX, …), data-source connectors (Slack, Gmail, Notion, Confluence, Google Drive), custom tasks/pipelines/retrievers (Exa, ScrapeGraph, codify)…
bigquery-ai-ml
Skill for BigQuery AI and Machine Learning queries using standard SQL and AI. functions (preferred over dedicated tools).
data-quality-frameworks
Implement data quality validation with Great Expectations, dbt tests, and data contracts. Use when building data quality pipelines, implementing validation rules, or establishing data contracts.
fabriciq-ontology-cli
Manages Fabric IQ Ontology items, including entity and relationship types, data bindings, and definition updates, plus schema, lineage, grounding, and graph-walk exploration. Use for ontology modelling and traversal. For natural-language questions over a Power BI report use fabriciq.
lineage-diff
Compare column-level lineage between two versions of a SQL query to show added, removed, and changed data flow edges.
dbt-bigquery
Expert guidance for creating, modifying, and optimizing dbt pipelines for BigQuery. Use this skill whenever user asks for generating or modifying a dbt model or project. Activate this skill when the user - Creates, modifies, or troubleshoots dbt models or pipelines - Needs to optimize SQL within a dbt project - Is…