Dataops
MicrosoftOfficialPublished by Microsoft
- Skill
- Guidelines
- Software development
- CC-BY-4.0
- Low risk
- Has scripts
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The dataops skill provides a structured reference for designing and reviewing data pipelines and machine learning workflows. It synthesizes engineering best practices regarding data quality tiers (Bronze, Silver, Gold), the strategic placement of validation logic, and the importance of maintaining faithful source copies for pipeline replayability. The skill helps teams distinguish between data validation and drift detection, ensuring that data-heavy systems are robust, testable, and maintainable.
What it does
- Defines data tier semantics for Bronze, Silver, and Gold storage layers.
- Provides rules for placing validation at the Bronze-to-Silver boundary.
- Explains the rationale for maintaining immutable, faithful source copies in the Bronze tier.
- Offers guidance on distinguishing between data validation and drift detection.
- Provides a framework for testing data science and MLOps code.
- Includes a contract for synthetic data operations to ensure safe preflight validation.
When to use it
- When designing the architecture of a new data pipeline or lakehouse.
- When reviewing data transformation code or pipeline test suites.
- When deciding where to implement data validation checks.
- When troubleshooting pipeline failures that require data replay or recovery.
- When establishing testing strategies for machine learning models and data loading processes.
Advantages
- Ensures consistent application of data quality and pipeline invariants.
- Promotes robust recovery strategies through faithful data ingestion.
- Clarifies the distinction between validation and drift for better observability.
- Provides clear, attributed guidance based on established engineering playbooks.
- Prevents common pitfalls like premature validation before data landing.
Usage examples
- “Where should I place validation logic in my ETL pipeline?”
- The skill advises placing validation at the Bronze-to-Silver boundary, explaining that Bronze should remain a faithful, immutable copy of the source to support replayability and recovery.
- “What is the difference between data validation and drift detection?”
- The skill provides a breakdown distinguishing data validation (schema and invariant checks) from drift detection (monitoring changes in data or model signals over time).
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/microsoft/dataops/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip dataops.zip -d .agents/skills
Documentation by Microsoft
DataOps Reference Pack
Goal
Ground pipeline and test generation in the Microsoft CSE engineering playbook so that data tier semantics, validation placement, recovery invariants, and DS/MLOps test technique are applied consistently and attributed accurately.
Inputs
The pipeline, transformation, validation, or test work under discussion
The tier of each dataset involved, when the consuming workflow records one
Existing test layout, package structure, and data-access boundaries
A data classification produced elsewhere, when sensitivity matters
Reference index
Read only the reference that matches the active concern.
| Reference | Read this when |
|---|---|
| data-tiers-and-pipeline-invariants.md | Assigning tier meaning, placing validation, routing malformed records, or asserting replay, idempotency, testability, source-control, and configuration invariants |
| testing-data-science-and-mlops.md | Writing or reviewing tests for data loading, transformation, model load or predict, data validation, or model robustness |
| validation-drift-and-observability.md | Distinguishing data validation from drift detection, choosing remediation, or deciding which data and model signals matter |
| synthetic-data-operation-contract.md | Validating synthetic-data preflight authority, field lineage, conditional subgroup evidence, result linkage, or guarded local replacement |
| provenance.md | Confirming what is upstream guidance, what is HVE Core derivation, and where upstream is silent |
Success criteria
Tier language distinguishes the three upstream quality tiers from the additional storage areas.
Validation is placed at the Bronze-to-Silver boundary, and the faithful-copy rationale with both replay purposes travels with that placement whether or not the request challenges it.
Test guidance names the operation category, its technique, and where mocking stops.
Validation and drift keep their distinct definitions and their distinct remediation paths.
Every claim traces to an attributed upstream source or is labelled as HVE Core guidance.
Synthetic-data generation stops before source access or writes unless its applicable
SYNTHETIC_DATA_OPERATION_V1preflight passes deterministic validation.
Constraints
This skill generates code, assertions, and review guidance. It does not execute pipelines, transformation engines, or telemetry backends.
Reproduce only the minimum text necessary for a specific technical point, and paraphrase everything else. Attribute every reference and describe accurately what each reference reproduces.
Label HVE Core derivations as such. Do not present a derived consequence or a repository convention as upstream guidance.
Where upstream is silent, say so rather than inventing an upstream-sounding rule.
Ownership boundaries
This skill decides which data and model signals matter. It does not own the vocabulary, the classification, or the surrounding workflow.
| Concern | Owner |
|---|---|
| Metric names, instrument types, units, cardinality discipline, and the PII emission denylist | telemetry-foundations |
| Data sensitivity classification and DPIA thresholds | privacy-standards |
| Entity semantics, relationships, and which tier a dataset is recorded as | The calling workflow |
| Feasibility assessment and go/no-go recommendation | The calling workflow |
No repository artifact currently owns the last two rows. When the caller supplies neither, state the gap rather than deciding tier assignment or feasibility here.
This skill never decides what is sensitive. It reads a classification produced elsewhere.
For synthetic-data operations, read synthetic-data-operation-contract.md and validate records against synthetic-data-operation-v1.schema.json. The contract records qualified decisions by immutable reference; it does not store source values or replace the authority of data, privacy, Responsible AI, fairness, or domain owners.
Stop rules
Stop and route metric naming, units, and cardinality to
telemetry-foundations, the OpenTelemetry-aligned vocabulary and instrumentation skill. Route data sensitivity toprivacy-standards, the privacy classification and DPIA-threshold reference.Stop and state the gap when the request depends on guidance the playbook does not provide, such as a drift threshold or an alerting policy.
Stop and offer the correct placement when asked to validate before Bronze landing, rather than complying or refusing without an alternative.
Attribution
This pack declares CC-BY-4.0 because both bodies of content it holds carry that license.
Source pages are Microsoft CSE Code With Engineering Playbook documentation licensed CC BY 4.0. The upstream project applies MIT through a separate LICENSE-CODE file to code samples only, which this pack does not reproduce. The references derive from those documentation pages and have been changed: upstream guidance is paraphrased, and only identifiers and structural names are carried across as facts. THIRD-PARTY-NOTICES carries the attribution CC BY 4.0 requires and states that the content has been changed. Each reference cites its own upstream URL and states what it reproduces.
Content labelled as HVE Core derivation is repository-original material under CC BY 4.0. See provenance.md for the consolidated source map and derivation labels.
Files
- ATTRIBUTION.mdAdded by AutoGineer965 B
- LICENSEAdded by AutoGineer16.6 KiB
- SKILL.md7.6 KiB
- assets/synthetic-data-operation-v1.schema.json9.2 KiB
- pyproject.toml681 B
- references/data-tiers-and-pipeline-invariants.md10.2 KiB
- references/provenance.md10.8 KiB
- references/synthetic-data-operation-contract.md6.4 KiB
- references/testing-data-science-and-mlops.md8.8 KiB
- references/validation-drift-and-observability.md7.2 KiB
- scripts/synthetic_data_operation.pyScript21.2 KiB
- tests/corpus/0_empty0 B
- tests/corpus/1_empty_object2 B
- tests/corpus/2_non_object_json2 B
- tests/corpus/3_minimal_preflight27 B
- tests/fuzz_harness.pyScript1.2 KiB
- tests/test_synthetic_data_operation.pyScript23.9 KiB
- uv.lock101.9 KiB
references/data-tiers-and-pipeline-invariants.md
title: Data tiers and pipeline invariants description: Bronze, Silver, and Gold tier semantics, Bronze-to-Silver validation placement, malformed routing, and the recovery and testability invariants that support them
Source
Microsoft CSE Code-with-Engineering-Playbook, Data and DataOps Fundamentals, documentation licensed CC BY 4.0. Content below is derived from that page and has been changed. Tier names, storage-area names, and artifact classes are preserved as identifiers; the definitions, the validation-placement rule, the replay rationale, and the surrounding guidance are paraphrased. THIRD-PARTY-NOTICES carries the attribution CC BY 4.0 requires. Statements labelled HVE Core are repository guidance, not playbook rules.
The quality model has three tiers
Upstream describes a widely used data-quality model built from three tiers, and recommends partitioning the lake along them.
| Tier | Definition | Optimized for | Typical consumer |
|---|---|---|---|
bronze | Landing zone for source data as received, with at most minimal shaping. Held immutable and append-only. | Writes and ingestion | Pipeline replay and recovery |
silver | Cleaned, partly processed data meeting a declared schema and declared data invariants, and possibly carrying extra enrichment. | Analysis | Data scientists |
gold | Heavily processed data tuned for reads, usually laid out as conventional fact and dimension tables. | Reads | Business users |
Three further storage areas are named, and they are not tiers
Upstream separately lists further areas worth keeping apart when a lake is organized: malformed data, intermediate sandbox data, and libraries, packages, and binaries.
These are storage areas, not members of the quality model. A workflow may record malformed or sandbox alongside the three tiers as a practical convenience, but describing five upstream tiers overstates the source.
Validation belongs at the Bronze-to-Silver boundary
Check the data as soon as it is usable. Put validation on the hop from Bronze into Silver, so what arrives in Silver satisfies a named schema and the invariants declared for it. Screening at that point also keeps surprise changes in the incoming data from breaking the pipeline downstream.
Records that fail the check are diverted into a store set aside for malformed data, where they can be investigated.
Why not before Bronze landing
Adding validation before data lands in Bronze is tempting and is explicitly not recommended upstream. Bronze earns its place by mirroring the source system as faithfully as it can, and that fidelity is what makes two different replays possible:
Replay to test validation logic. The pipeline can be re-run against a faithful source copy while validation rules are developed or corrected.
Replay to recover from corruption. When a bug in transformation code corrupts downstream data, the pipeline is replayed from the faithful copy after the fix is deployed.
Both purposes matter. Summarizing them as a single "replayability" benefit removes the reason a team cannot simply re-ingest from the source system.
Refusal with alternative
When asked to place validation before Bronze landing, do not silently comply and do not refuse without a path forward. State the faithful-copy rationale and the two replay purposes, then offer the Bronze-to-Silver boundary with malformed-record routing as the correct placement.
Pipeline invariants
Replayability and idempotency
Make pipelines re-playable and idempotent. Silver and Gold data can be corrupted by unintended bugs or unexpected input changes; replayability allows recovery by deploying a code fix and re-running the pipeline. Idempotency ensures replay does not duplicate data.
Transformation separated from data access
Ensure transformation code is testable. Abstracting transformation code away from data-access code is the key enabler for unit tests that target transformation logic. The upstream example of this separation is moving transformation code out of notebooks and into packages. Running tests against notebooks is possible, but extracting into packages speeds the feedback cycle and increases developer productivity.
Source-control scope
Every artifact needed to build the pipeline from scratch belongs in source control:
Infrastructure-as-code artifacts
Database objects such as schema definitions, functions, and stored procedures
Reference and application data
Data pipeline definitions
Data validation and transformation logic
New code entering the repository is reviewed both automatically, through linting and credential scanning, and by peers. Changes move through dev, test, and production via a safe, repeatable CI/CD process.
Secure configuration
Sensitive configuration such as database connection strings lives in a central secure location, accessible to the appropriate services within a specific environment. On Azure this is typically a Key Vault per environment that services query at runtime.
Observability includes data
Monitor infrastructure, pipelines, and data. Beyond base infrastructure and pipeline runs, the malformed record store is named as a common area that should have data monitoring. See validation-drift-and-observability.md for the signal-selection boundary.
Tier consequences (HVE Core)
Upstream defines the tiers and states one placement rule. It does not enumerate what each tier permits or forbids. The table below is HVE Core guidance derived from the upstream definitions, offered so tier assignment produces decidable behavior.
| Value | Permitted | Forbidden | Directly upstream-backed? |
|---|---|---|---|
bronze | Append-only ingestion; faithful source copy; origin for both replay purposes | Validation assertions at landing; in-place transformation; mutation that breaks faithful-copy status | The validation refusal is upstream. The remaining consequences are derived. |
silver | Schema conformance; declared invariants; augmentation; analysis consumption | Marking complete without a declared schema and invariants; accepting unvalidated Bronze input | Derived |
gold | Read-optimized serving; fact and dimension shape | Presenting a renamed Silver table as Gold without read optimization or fact and dimension shape | Derived |
malformed | Receiving validation failures; being treated as a monitored signal | Being treated as a quality tier; being discarded rather than monitored | Routing and monitoring are upstream. Tier exclusion is derived. |
sandbox | Exploratory and intermediate work | Carrying downstream guarantees; being consumed as if Silver or Gold | Derived |
Notebook-to-package extraction (HVE Core)
The invariant is upstream: move transformation logic out of notebooks and into packages so it can be unit tested. Upstream states no threshold.
Any trigger a workflow applies, such as a cell-length limit or duplicated transformation logic across cells, is a repository convention. Offer extraction to a package function with a matching test stub, and attribute the threshold to the convention rather than to the playbook.
Derived dataset persistence and versioning (HVE Core)
Upstream sets the tier semantics and the replay invariant. The following storage conventions are repository guidance for curated and derived datasets produced during analysis work.
Persist curated or derived datasets in a columnar format rather than a row-oriented text format. Columnar storage preserves types across a write-and-read cycle, which text formats do not, and analysis reads are overwhelmingly column-selective.
Name a derived dataset so its content and lineage are readable from the filename:
<entity>-<scope>-<transform>-v<major>.<minor>.<extension>Use lowercase and hyphens throughout. Increment the minor version for an additive change that leaves existing columns and their meaning intact. Increment the major version when the schema changes in a way that could break a consumer: a removed column, a renamed column, a changed type, or a changed unit.
The distinction matters because consumers pin to what they read. An additive change is safe to pick up silently; a breaking change must be visible in the name so a stale consumer fails loudly rather than reading a column that no longer means what it did.
Derived datasets are not Bronze. They carry the guarantees of the tier they were produced from, and exploratory derivations belong in the sandbox area rather than in a tier that implies downstream guarantees.
Adjacent guidance
Upstream also covers isolation levels and concurrency control on the same page: choose isolation levels deliberately, treat eventual consistency as a last resort behind batching, sharding, and caching, and prefer optimistic concurrency using a version increment or ETag over two-phase locking. This is relevant when the engagement touches transactional stores and is otherwise peripheral to pipeline work.
Requirements and compatibility
Written for: GitHub Copilot, Claude Code
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Claude Code frontmatter, Needs Python
Security
What our scanner noticed· Low risk
- Scripts that your agent may run
This skill includes scripts that your agent may run. Read them before you use it.
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Microsoft
- Publisher
- Microsoft (Official)
- Source
- microsoft/hve-core · .github/skills/data-science-engineering/dataops · commit f425e94
- Licence
- Creative Commons Attribution 4.0 International (redistribution allowed)
- LICENSE (written by AutoGineer)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Microsoft or Microsoft.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download dataops.zip