Best for
- Use when choosing catalogs, CDC paths, query engines, governance, or cost controls.
vasilyu1983/AI-Agents-public/frameworks/shared-skills/skills/data-lake-platform/SKILL.md
Designs lakehouse platforms across Iceberg, Delta, Hudi, and Paimon. Use when choosing catalogs, CDC paths, query engines, governance, or cost controls.
Decision brief
Build and operate production data lakes and lakehouses: ingest, transform, store in open formats, and serve analytics reliably.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Declared | Source record | Install path and trigger |
| Claude Code | Declared | Source record | Install path and trigger |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/vasilyu1983/AI-Agents-public --skill "frameworks/shared-skills/skills/data-lake-platform"Inspect the Agent Skill "data-lake-platform" from https://github.com/vasilyu1983/AI-Agents-public/blob/53f6cb73ea53a2646e3e7d4665062ad66f3683ac/frameworks/shared-skills/skills/data-lake-platform/SKILL.md at commit 53f6cb73ea53a2646e3e7d4665062ad66f3683ac. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
[ ] Choose architecture pattern: references/architecture-patterns.md — medallion, mesh, lambda, kappa, lakehouse
Review the “Quick Reference” section in the pinned source before continuing.
Review the “Quick-Start Decision Table” section in the pinned source before continuing.
Key July 2026 facts (verify before quoting further out): - Iceberg v3 is GA on Snowflake (May 7 2026) and AWS (S3 Tables, Glue, EMR — Nov 2025). On Databricks it is Public Preview (announced Apr 9 2026, Databricks Runtime 18.0+ with Unity Catalog), not GA — do not tell a Databri…
Review the “Decision Tree” section in the pinned source before continuing.
Permission review
The documentation asks the agent to run terminal commands or scripts.
python scripts/scaffold_iceberg_table.py \Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 92/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 82 | Source | Repository attention, not individual Skill quality |
| Compatibility | 2 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Build and operate production data lakes and lakehouses: ingest, transform, store in open formats, and serve analytics reliably.
| Task | Resource | When to Use |
|---|---|---|
| Pick a table format and spec version | references/storage-formats.md | Choosing Iceberg v2/v3, Delta 4.x, Hudi, Paimon, or DuckLake |
| Pick a catalog / control plane | references/governance-catalog.md | Choosing Polaris, Glue, Nessie, Unity, Gravitino, or Open Catalog |
| Design ingestion or CDC path | references/ingestion-patterns.md | dlt, Airbyte, Debezium, Flink CDC |
| Scaffold or inspect an Iceberg table | scripts/scaffold_iceberg_table.py, scripts/inspect_iceberg_metadata.sh | New table DDL or auditing an existing table's file/metadata layout |
| Sanity-check an interoperability or version claim | data/sources.json + Fact-Checking below | Any claim about spec-version GA status, engine support, or vendor feature |
| Situation | Default choice |
|---|---|
| Open multi-engine analytics | Iceberg + REST catalog (Polaris/Glue/Nessie) + Trino |
| Databricks primary compute | Delta 4.x + Unity Catalog; add UniForm only if external readers exist |
| CDC-heavy mutable, Spark-centered | Hudi (CoW or MoR) + Kafka/Debezium |
| Streaming-first mutable, Flink-centered | Paimon + Flink CDC |
| Single-engine embedded / analyst workstation | DuckLake (v1.0 GA Apr 2026) or DuckDB + Parquet/Iceberg |
| Low-latency BI, high concurrency dashboards | ClickHouse or StarRocks serving layer |
| Local/CI prototyping with open-table portability | DuckDB + Iceberg extension |
| Feature | Apache Iceberg (1.11.x) | Delta Lake 4.3 | Apache Hudi (1.0 stable / 1.1 dev) | Apache Paimon (1.3.x) |
|---|---|---|---|---|
| Spec version | v3 GA on managed platforms; Trino writes still experimental | Protocol v3; Liquid Clustering GA | 1.x table version | 1.x |
| Deletion vectors | GA (v3 spec; bitmap on Puffin) | GA | N/A (MoR log) | N/A (MoR log) |
| Catalog posture | REST-first; Polaris TLP Feb 2026 | Catalog-managed tables mature (4.1-4.3); Unity Catalog Delta APIs route all ops | Mixed | Flink-first, expanding |
| Coordinated commits | Via catalog (Polaris/Glue/Nessie) | GA since 4.1; streaming + CDC on catalog-managed tables since 4.3 | N/A | N/A |
| Branches and tags | First-class | Limited | Workflow-specific | Workflow-specific |
| Multi-engine reads | Strong (Trino, Spark, DuckDB, Flink) | Improving via UniForm + native Flink connector (4.2+); Trino v3 writes still experimental | Improving | Growing; validate |
| Trino v3 support | Experimental: read/write of base data works; row-level updates, deletes, and OPTIMIZE on v3 tables are not supported | Readers via UniForm | N/A | N/A |
Key July 2026 facts (verify before quoting further out):
OPTIMIZE on v3 tables are unsupported. Starburst's Trino-based product has broader v3 support (deletion vectors, variant type) than open-source Trino — don't conflate the two when a client asks about "Trino."Any number here (release dates, contributor counts, benchmark percentages) can drift within weeks in this space — re-verify against the primary source in data/sources.json before repeating it in a client-facing recommendation, especially GA-vs-preview status, which vendors routinely blur in marketing copy.
Choosing a lakehouse path:
├─ Databricks is the primary platform?
│ └─ Delta 4.x + Unity Catalog; add UniForm only if external readers matter
│
├─ Need open multi-engine access across Trino/Spark/DuckDB?
│ └─ Iceberg v2/v3 + Polaris / Glue REST / Nessie / Open Catalog
│ Note: default to v2 if Trino must write; v2 avoids row-update/delete/OPTIMIZE
│ gaps that v3 still has on open-source Trino as of July 2026
│
├─ Need heavy CDC, mutable tables, or streaming-first semantics?
│ ├─ Flink-native stack -> Paimon first, compare with Hudi
│ └─ Spark-heavy stack -> Hudi first (CoW for read-heavy, MoR for write-heavy)
│
├─ Single-engine embedded or analyst workstation?
│ └─ DuckLake v1.0 (PostgreSQL catalog for multi-instance) or DuckDB + Parquet
│
├─ Need low-latency dashboards or embedded analytics?
│ ├─ High concurrency BI -> Add ClickHouse / StarRocks / Doris
│ └─ Local, notebook, CI -> DuckDB + Parquet/Iceberg
│
└─ Heterogeneous multi-format estate (Hive + Kafka + RDBMS)?
└─ Apache Gravitino as federated "catalog of catalogs"
| Catalog | Status | Best for | Watch-outs |
|---|---|---|---|
| Apache Polaris | TLP since Feb 2026; monthly release train; production-ready | Open self-hosted Iceberg control plane | You still need separate metadata/lineage |
| Glue Iceberg REST + S3 Tables | GA; v3 deletion vectors/row lineage; simplified IAM Mar 2026 | AWS-native managed Iceberg | AWS-centric; S3 Tables auto-compaction |
| Snowflake Open Catalog | GA; v3 GA May 7 2026 | Snowflake-adjacent open Iceberg interop | Validate write paths and service principals |
| Project Nessie | Stable | Branch/tag promotion, isolated backfills | Narrower governance scope |
| Unity Catalog | GA; Delta Lake 4.3 routes all catalog-managed ops through it | Databricks-centered governance + compute | Cross-engine behavior must be verified |
| Apache Gravitino | TLP Jun 2025; 1.2.1 (May 2026) is current stable | Federated multi-format metadata unification | Newer; validate production readiness per deployment |
| DuckLake | v1.0 GA Apr 2026; 1.1 expected ~Sept 2026 | Single-engine or small-team SQL-native lakehouse | Not designed for Spark/Flink concurrent writes |
# Generate DDL for partitioned Iceberg table (REST catalog, format v2):
python scripts/scaffold_iceberg_table.py \
--catalog rest \
--name analytics.events \
--columns "event_id BIGINT, user_id BIGINT, event_type STRING, ts TIMESTAMP" \
--partition ts_month,event_type \
--format-version 2 \
--target-file-size-mb 256
# Inspect S3-backed Iceberg table layout:
./scripts/inspect_iceberg_metadata.sh \
--location s3://my-bucket/warehouse/analytics/events \
--backend s3
# Iceberg maintenance (run in Spark or Trino):
CALL catalog.system.expire_snapshots('db.events', TIMESTAMP '2026-01-01');
CALL catalog.system.remove_orphan_files('db.events');
CALL catalog.system.rewrite_data_files('db.events');
CALL catalog.system.rewrite_manifests('db.events');
# DuckLake: create catalog and attach (DuckDB v1.5.2+):
INSTALL ducklake; LOAD ducklake;
ATTACH 'ducklake:postgres:dbname=catalog host=localhost' AS lake;
# Delta: check table version and history:
DESCRIBE HISTORY delta.`s3://bucket/path/to/table`
Do
Avoid
OPTIMIZE unsupported on v3 tables.References (load on demand)
| File | Load when |
|---|---|
| references/architecture-patterns.md | Choosing medallion, mesh, lambda, kappa, or lakehouse pattern |
| references/data-mesh-patterns.md | Designing domain ownership, data products, or federated governance |
| references/ingestion-patterns.md | Designing batch or CDC ingest paths (dlt, Airbyte, Debezium) |
| references/streaming-patterns.md | Designing Kafka, Flink, or Spark Structured Streaming pipelines |
| references/orchestration-patterns.md | Choosing or configuring an orchestrator (Airflow, Prefect, etc.) |
| references/storage-formats.md | Choosing Iceberg v2/v3, Delta 4.x, Hudi, Paimon, or DuckLake |
| references/governance-catalog.md | Choosing Polaris, Glue, Nessie, Unity, Gravitino, or Open Catalog |
| references/transformation-patterns.md | Designing dbt or SQLMesh transformation layer |
| references/query-engine-patterns.md | Choosing Trino, Spark, DuckDB, ClickHouse, or StarRocks |
| references/bi-visualization-patterns.md | Designing BI layer (Metabase, Superset, Looker, etc.) |
| references/data-quality-patterns.md | Adding GX, Soda, or custom quality contracts |
| references/security-access-patterns.md | Configuring table/row/column policies and engine-level ACLs |
| references/operational-playbook.md | Building runbooks for compaction, recovery, and oncall |
| references/cost-optimization.md | Enforcing file-size targets, retention windows, and cost guardrails |
Templates
data/sources.json and start from primary docs.trust_tier: primary source in data/sources.json (project release notes, vendor release notes) rather than a blog or aggregator, which often blur preview and GA language.Before applying this skill on a non-trivial task, read learnings.consolidated.md in this directory (and learnings.md if present).
After applying it, if you encountered a pattern worth remembering, a mistake worth preventing, or a domain fact that surprised you, append one dated bullet to learnings.md via agents-skills-feedback-loop/scripts/append_learning.py. Do not modify SKILL.md itself.
Frequently asked questions
Build and operate production data lakes and lakehouses: ingest, transform, store in open formats, and serve analytics reliably.
The source record exposes this install command: npx skills add https://github.com/vasilyu1983/AI-Agents-public --skill "frameworks/shared-skills/skills/data-lake-platform". Inspect the command and pinned source before running it.
The pinned source record declares support for: codex, claude code.
Static rules flagged exec-script in the source; the page lists the matching lines and excerpts.
Alternatives
vasilyu1983/AI-Agents-public
Configures Claude Code hooks and Codex hooks.json/notify callbacks. Use when adding guardrails, preflight, audit trails, worktree automation, or budget enforcement.
vasilyu1983/AI-Agents-public
Guides iOS testing with XCTest, XCUITest, Swift Testing, simctl, and xcresult. Use when choosing destinations, controlling flakes, or parsing test artifacts for native apps.
vasilyu1983/AI-Agents-public
Guides multi-GPU pre-training: DDP, FSDP2, ZeRO, tensor/pipeline/expert parallelism, fp8/Muon. Use when scaling a run, training MoE, or reproducing GPT-2 on rented GPUs.
vasilyu1983/AI-Agents-public
Sizes models and token budgets using Kaplan/Chinchilla scaling laws. Use when reasoning about compute-optimal N and D, tokens-per-parameter ratios, or over-training tradeoffs.