← ClaudeAtlas

maintainlisted

Use this to keep a dbt project correct as the warehouse and the business change. It detects drift on four axes and proposes the fix: schema drift (source columns and tables added, dropped, retyped, or renamed), volume drift (a row count that collapsed, a table that emptied, a load that half-failed), grain drift (a key that lost uniqueness, a changed row-per-entity cardinality, an increased join fanout), and semantic drift (a metric, measure, dimension, or entity definition that no longer matches, new categorical values, dangling semantic references). Reach for this when something that used to work has started failing or producing different numbers and the cause is more likely upstream than in the code you just wrote: a test that began failing with no code change, a dashboard whose numbers moved, a model that is suddenly empty or duplicated. Trigger it for requests like "what changed in the warehouse", "did anything drift", "is my dbt project still in sync", "my primary key has duplicates now", "the row count
exmergo/dex · ★ 21 · AI & Automation · score 74
Install: claude install-skill exmergo/dex
# Maintain Keep the dbt project correct as the world underneath it moves. Maintenance is the recurring half of the loop: warehouses drift, loads half-fail, models go stale, keys stop being unique, and business definitions change. This skill compares a known-good baseline against current reality, classifies what drifted, and proposes the reconciling edit. It is manual and on-demand here; continuous drift detection and automated PRs are the commercial product. ## The model: baseline, detect, reconcile Drift is measured against a **baseline** (the `.dex/snapshot.json` fingerprint of the warehouse map and the project's per-layer definitions). Detection is read-only; only reconcile proposes edits. **Snapshot discipline matters.** A snapshot is only as trustworthy as the moment it froze. Take one right after a known-good build (`maintain snapshot`), and **commit `.dex/snapshot.json` like a lockfile** so the whole team diffs against the same reference. Snapshot a state that is already drifted and `check` will mask the very drift you care about. When you accept a change as the new normal (re-run `explore map` first, then `maintain snapshot`); `check` warns when the baseline looks stale. **On a warehouse past the rank cutoff, use `explore map --full` before snapshotting.** Past 50 objects `explore map` profiles the top 25 by rank and enters the rest as metadata alone, and the baseline can only compare columns for objects it has columns for. Snapshotting a partial map is still val