Skip to content
Development
Skill

/sota-data-engineering

State-of-the-art data engineering rules (2026) for building and auditing data pipelines and analytics infrastructure. Covers architecture and modeling (ELT, lakehouse vs warehouse, dimensional models, medallion layering), pipeline and orchestration discipline (idempotency,

From plugin
sota-skills
2443 skills5 commands4 hooks2 MCP

Claude Code

$ npx -y skills add martinholovsky/SOTA-skills --skill sota-data-engineering --agent claude-code

SKILL.md

sota-data-engineering.SKILL.md
name: sota-data-engineering
description: >-
  State-of-the-art data engineering rules (2026) for building and auditing
  data pipelines and analytics infrastructure. Covers architecture and
  modeling (ELT, lakehouse vs warehouse, dimensional models, medallion
  layering), pipeline and orchestration discipline (idempotency, incremental
  loads, backfills, dbt-style transformations), streaming and CDC (Kafka,
  exactly-once reality, schema evolution, Debezium-style capture), data
  quality and contracts, columnar storage and table-format performance
  (Parquet, Iceberg, Delta), and pipeline operations/governance. Use when
  designing, implementing, reviewing, or auditing batch/streaming pipelines,
  warehouses, or lakehouses. Trigger keywords: data pipeline, ETL, ELT,
  Kafka, streaming, data warehouse, dbt, Airflow, orchestration, data
  quality, lakehouse, Iceberg, Delta, CDC, Parquet, backfill, watermark,
  Spark, DuckDB, data contract, medallion, dimensional model.

SOTA Data Engineering

Purpose

Expert rules for analytical data systems: pipelines, streaming, warehousing, lakehouse storage, data quality, and operations. OLTP schema/query/index craft is owned by [`sota-databases`](../sota-databases/SKILL.md) — reference it, do not duplicate it. Outbox and event-driven service patterns live in [`sota-architecture`](../sota-architecture/SKILL.md); backpressure mechanics in [`sota-async-concurrency`](../sota-async-concurrency/SKILL.md); PII handling in [`sota-privacy-compliance`](../sota-privacy-compliance/SKILL.md) (or [`sota-code-security`](../sota-code-security/SKILL.md) if absent).

Two modes. Pick by intent, then load only the `rules/` files the task needs.

BUILD mode

Use when designing or implementing pipelines, models, streaming jobs, or storage layouts.

1. **Size the problem first.** Read [`rules/01-architecture-and-modeling.md`](rules/01-architecture-and-modeling.md) before choosing tools. Most "big data" is small data; DuckDB/Polars on one node before a distributed engine. ELT into a warehouse/lakehouse is the default shape, not a decision to revisit per pipeline. 2. **Idempotency is the prime directive.** Every pipeline you write must be safe to rerun for any interval at any time. No blind appends. Design the write strategy (partition overwrite / merge key / insert-overwrite) before the transform logic ([`rules/02-pipelines-and-orchestration.md`](rules/02-pipelines-and-orchestration.md)). 3. **Batch unless a consumer needs sub-minute data.** Justify streaming in writing before building it ([`rules/03-streaming-and-cdc.md`](rules/03-streaming-and-cdc.md)). 4. **Quality checks ship with the pipeline, not after.** Every new model gets freshness, volume, uniqueness, and not-null checks tiered block/warn ([`rules/04-data-quality-and-contracts.md`](rules/04-data-quality-and-contracts.md)). 5. **Decide the physical layout when you create the table.** Partitioning, clustering/sort, file sizing, and the maintenance job are part of the table's definition ([`rules/05-storage-and-performance.md`](rules/05-storage-and-performance.md)). 6. **Ship with operability.** Dev/prod isolation, write-audit-publish for risky changes, freshness alerting, a runbook entry ([`rules/06-operations-and-governance.md`](rules/06-operations-and-governance.md)).

AUDIT mode

**Coverage:** every `rules/` file's Audit checklist applies in AUDIT mode. Mark one *not applicable* only with its reason in the report — never skip a file because the thing it checks for is absent, since that absence may be the finding.

Use when reviewing an existing pipeline repo, dbt project, streaming topology, or warehouse.

Procedure: 1. Inventory: orchestrator + scheduler config, transformation tool (dbt or other), storage/table formats, streaming components, quality tooling, environments. Read the actual DAGs/models — never audit from README claims. 2. Load the rules files matching what exists (no Kafka → skip 03). 3. Verify every finding against real code/config/SQL. Confirm a non-idempotent write by reading the write statement, not by inferring from naming. 4. Report findings in the format below, ordered by severity.

Severity conventions:

  • **CRITICAL** — data corruption or silent wrongness: non-idempotent writes

that double-count on retry, reruns that duplicate or lose data, CDC deletes not applied, PII landing in unprotected zones, prod credentials in dev.

  • **HIGH** — likely incident or unbounded cost: no failure alerting on

business-critical pipelines, unbounded retries, full-table rescans of large sources each run, no backfill path, schema changes that break consumers.

  • **MEDIUM** — erodes trust/efficiency: missing quality checks, `SELECT *`

staging, small-files accumulation, no documentation/lineage, warn-tier checks failing for weeks.

  • **LOW** — hygiene: naming inconsistency, missing column descriptions,

suboptimal compression.

Finding format:

[SEVERITY] <one-line title>
Where: <file:line / model / DAG / topic>
Evidence: <the actual code/config/SQL that proves it>
Impact: <what goes wrong, when>
Fix: <concrete change, smallest safe diff>

Rules index

| File | Read this when... | |---|---| | [`rules/01-architecture-and-modeling.md`](rules/01-architecture-and-modeling.md) | Choosing engines/architecture (warehouse vs lakehouse vs DuckDB), designing layers (staging/core/mart), dimensional modeling, SCDs, One Big Table, semantic layers, evaluating a data-mesh pitch. | | [`rules/02-pipelines-and-orchestration.md`](rules/02-pipelines-and-orchestration.md) | Writing or reviewing any batch pipeline: idempotency, incremental loads, watermarks, late data, backfills, Airflow/orchestrator DAG design, dbt project discipline, scheduling strategy. | | [`rules/03-streaming-and-cdc.md`](rules/03-streaming-and-cdc.md) | Anything Kafka/Flink/CDC: deciding streaming vs micro-batch, partition keys, consumer groups, offsets, exactly-once claims,

Read more
@martinholovsky
Ships withsota-skills

Make your AI coding assistant build and audit like your most senior engineer. Your assistant is brilliant — it just doesn't know your standards, and it forgets the ones it does know as the task grows long.

2443 skills2 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
24
Star history of martinholovsky/SOTA-skills on GitHub, a chart by star-history.com

Other skills on sota-skills.

sota-c-cpp

sota-c-cpp

State-of-the-art C and C++ engineering rules that Claude applies when writing or auditing C/C++. Covers modern idioms (RAII,…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react3d252k
@facebook@facebookInstall Skill

Questions about sota-data-engineering.

Which coding agents can use sota-data-engineering?
sota-data-engineering installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.