Design data-quality monitoring for production pipelines and stores — checks across the six dimensions (freshness, completeness/volume, uniqueness, validity, consistency/referential integrity, distribution drift), placed at the right pipeline stage (ingest, transform, serving), each with severity, an owner, and a failure action (block, quarantine to a reviewable location, or alert-and-pass — never silent auto-fix), plus per-dataset quality SLAs and incident routing. Produces the monitor spec and quarantine policy as design; alert/dashboard wiring is observability-operator and user-journey SLO targets stay with slo-reliability-architect. Use when bad, stale, or missing data keeps reaching users or models, when a warehouse/pipeline needs quality gates, or when nobody can say whether a dataset is trustworthy. Do NOT use for TEST data design (test-data-architect), system telemetry (observability-operator), or LLM output shape (structured-output-validator).
Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
Design data-quality monitoring for production pipelines and stores — checks across the six dimensions (freshness, completeness/volume, uniqueness, validity, consistency/referential integrity, distribution drift), placed at the right pipeline stage (ingest, transform, serving), each with severity, an owner, and a failure action (block, quarantine to a reviewable location, or alert-and-pass — never silent auto-fix), plus per-dataset quality SLAs and incident routing. Produces the monitor spec and quarantine policy as design; alert/dashboard wiring is observability-operator and user-journey SLO targets stay with slo-reliability-architect. Use when bad, stale, or missing data keeps reaching users or models, when a warehouse/pipeline needs quality gates, or when nobody can say whether a dataset is trustworthy. Do NOT use for TEST data design (test-data-architect), system telemetry (observability-operator), or LLM output shape (structured-output-validator).
Data Quality Monitor Designer
Purpose
Systems monitor their services and stay blind to their data: the pipeline
runs green while a third of yesterday's rows never arrived, a join
silently fans out duplicates, and a upstream format change poisons every
downstream report. This skill designs the data-quality monitoring layer —
which checks, on which datasets, at which pipeline stage, with what
severity, owner, and failure action — so data problems surface as typed,
routed incidents instead of being discovered by the user who trusted the
number. It produces the monitor SPEC and the quarantine policy; it does
not wire alerts (that is observability-operator's implementation
surface) and it never designs checks that silently "fix" data.
Use When
Use when: bad, stale, duplicated, or missing data keeps reaching users,
reports, or models, and detection is currently "someone notices".
Use when: a pipeline, warehouse, or critical dataset needs quality gates
and nobody can enumerate what is checked today.
Use when: defining per-dataset quality SLAs (freshness by 06:00, ≥99.5%
rows with valid foreign keys) and what happens when they are missed.
Use when: a data incident post-mortem asks "what monitor would have
caught this?" and the answer needs designing, not guessing.
Do NOT use when: the data in question is TEST data — deterministic
fixtures, factories, and seed hygiene are test-data-architect; this
skill watches production data.
Do NOT use when: the signals are system telemetry — latency, errors,
saturation, health checks are observability-operator (implementation)
and slo-reliability-architect (targets); this skill owns checks on the
DATA CONTENT itself.
Do NOT use when: validating an LLM's response shape against a schema —
that is structured-output-validator.
Do NOT use when: the failing thing is a migration's correctness during a
planned data move — one-time verification gates belong to
data-migration-runbook-author's runbook; this skill owns the STANDING
monitors that outlive the move.
Inputs to Inspect
The dataset inventory in scope: tables/topics/files, their producers,
their downstream consumers (reports, features, models, exports), and
which consumers make decisions on them.
The pipeline topology: ingest points, transform stages, serving
surfaces — where a check can physically run and how early a defect is
catchable.
Incident history: past data incidents (silent loss, duplication, drift,
late arrival) — each one is a candidate check with a known severity.
Existing checks and their gaps: constraint definitions in the store,
ad-hoc assertion scripts, pipeline-native tests already present.
Contract sources for validity rules: schema definitions, enum
registries, business rules docs — what "valid" even means per field.
The tenant dimension: whether quality must be judged per tenant (one
tenant's feed failing while the aggregate looks fine).
Workflow
Rank datasets by blast radius. For each dataset: who consumes it,
what decision or feature breaks when it is wrong, and how long a defect
goes unnoticed today. Monitor design effort follows this ranking —
full six-dimension coverage for the critical few, freshness+volume
floors for the long tail.
Design checks per dimension, per dataset. For each critical
dataset, work the six dimensions and state each check concretely:
Freshness: latest event/partition age vs an expected-by deadline.
Completeness/volume: row/event counts vs a seasonal-aware
expectation band, plus required-field null rates.
Uniqueness: duplicate rate on declared keys (joins and replays are
the usual injectors).
Validity: type/format/enum/range conformance per field, sourced
from the contract inputs, not invented.
Consistency: referential integrity across stores, aggregate
reconciliation (sum of parts vs reported total), cross-system counts.
Drift: distribution shift on fields where meaning matters
(categorical mix, numeric distribution) — flag, never auto-correct.
Place each check at the earliest viable stage. Ingest-time checks
stop poison at the door (schema/validity), transform-time checks catch
what only exists post-join (uniqueness, consistency), serving-time
checks guard what users actually read (freshness, reconciliation).
State the placement and why.
Assign severity and failure action per check. The action vocabulary
is exactly three: block (pipeline stops; defect cannot pass),
quarantine (offending rows diverted to a reviewable location with
provenance; healthy rows proceed; quarantine has an owner and a drain
SLA — mirroring DLQ discipline), alert-and-pass (data flows,
humans notified). Silent correction — coercing, defaulting, dropping
without a record — is not in the vocabulary.
Define per-dataset quality SLAs. The consumer-facing promise:
freshness deadline, completeness floor, validity floor — each derived
from what the top consumer can tolerate, stated with its measurement
window. Where a journey-level SLO exists (slo-reliability-architect),
the data SLA feeds it rather than duplicating it.
Route incidents. Per dataset: who owns a red check (a named role,
not a channel), what the first diagnostic step is (the check's own
evidence: failing rows sample, expected-vs-actual counts), and where
quarantined data is reviewed. Alert wiring, dedup, and dashboards are
handed to observability-operator as an implementation package.
Design the monitor-as-code shape. Checks live versioned next to the
pipeline they guard (declarative where the stack allows), with the
convention stated: adding a dataset of class X requires its floor
checks in the same change — a review-time rule, not tooling magic.
Every check names its dataset, dimension, placement, severity,
owner, and one of the three failure actions — no check "just logs".
No check silently mutates data: quarantine preserves offending rows
with provenance; nothing coerces, defaults, or drops unrecorded.
Validity rules cite a contract source (schema, enum registry,
business rule) — none invented from sample data alone.
Volume/drift checks use expectation bands aware of seasonality, not
naive fixed thresholds guaranteed to false-positive.
Quarantine has an owner and a drain SLA — it is not a write-only
graveyard.
Per-tenant blindness considered: aggregate-level checks that a
single tenant's failure cannot trip are named as such.
Coverage residual is explicit — datasets left unmonitored are
listed, not implied covered.
The spec hands wiring to observability-operator rather than
embedding alert-platform configuration.
Gotchas
Green pipelines, rotten data: orchestration success says the job ran,
not that the data is right. Quality checks assert on CONTENT — never
accept "the DAG succeeded" as a quality signal.
Fixed thresholds rot: "alert if rows < 10,000" false-positives every
holiday and misses a 30% drop on the biggest day. Bands come from
history with seasonality, and get reviewed like code.
Silent coercion is data loss with better manners: a transform that
defaults bad values to zero destroys the evidence AND the number.
Quarantine exists so correction is a reviewed decision.
Aggregate checks mask per-tenant failure: total volume looks fine while
one integration's feed died. The tenant dimension check exists for the
datasets where that matters.
Duplicates arrive at joins and replays, not ingest: uniqueness checked
only at the door misses fan-out introduced mid-pipeline. Placement
follows where the defect is created.
Drift checks on the wrong fields alarm-fatigue everyone: monitor
distribution only where shift changes meaning (model features, pricing
inputs), not every column.
Reconciliation needs a lag budget: comparing system A to system B
before B's sync window closes manufactures false mismatches — state the
comparison point, not just the comparison.
Quality SLAs without consumers are decoration: a freshness deadline
nobody depends on will be ignored the first week it is red. Every SLA
cites the consumer that needs it.
Stop Conditions
Asked to design checks that auto-repair failing data (coerce, default,
drop, "clean up") as the failure action → refuse silent correction;
offer quarantine + reviewed repair, and record any human decision to
auto-correct a specific field as an explicit, logged transform, not a
monitor behavior.
Validity rules cannot be sourced — no schema, no contract, and the
owner cannot say what valid means for a critical field → stop for that
dataset; checks invented from sampled data enshrine today's defects as
the standard.
The request is really "make the pipeline stop failing" (orchestration
reliability, retries, infra) → route to the pipeline/reliability
surface; adding quality checks will not fix a broken scheduler.
Monitoring would require reading data classified as restricted (PII
fields under minimization rules from pii-lifecycle-designer) and no
privacy-preserving check form exists (counts, hashes, null rates) →
halt and surface the conflict rather than designing checks that widen
access.
Asked to also wire the alerts/dashboards live → decline that slice;
hand the implementation package to observability-operator (which is
manual-invocation for live config).
Supporting Files
references/quality-dimension-catalog.md
— per-dimension check catalog with concrete forms, expectation-band
guidance, placement table, and the quarantine-policy template.
evals/evals.json — behavior cases including the seasonality-band edge
and the silent-auto-fix refusal.
evals/trigger-evals.json — discrimination against
observability-operator, test-data-architect,
structured-output-validator, and data-migration-runbook-author.
Deliver the spec in the Output Format with coverage honestly
stated: which datasets got full coverage, which got floors, which got
nothing yet — an explicit residual list, not an implied "all".