data
Skill1 starsChanged 3 months agoMITView on GitHub
Hub for data-engineering pipeline work — storage/ingest/serve choice plus shared discipline (idempotency, incremental-not-full-recompute, schema fencing, resilience, bounded memory, layered enforcement). Routes to data-apache-lakehouse, data-api, data-duckdb, data-pipeline-operations, data-table-lifecycle, data-semantic-quality, data-identity-resolution, and data-product-eval. Use when a task spans ingest → store → serve, the specialist isn't obvious, or you need a live coverage audit. Don't use for OLTP schema design, one-off notebooks, generic SQL, ML training, or BI config. When a specialist clearly fits, skip this hub and load it directly.
16 other projects use a version of this.
Adopted by
Most recently taken up by
- rylsherdamz-rgb/stellar-forgetheir own version, first seen Nov 8, 2026
- wubinKKK/private-ai-workbenchtheir own version, first seen Nov 8, 2026
- notque/vexjoy-agenttheir own version, first seen Nov 7, 2026
- jstilb/ai-assistanttheir own version, first seen Oct 30, 2026
- whitecircle/halotheir own version, first seen Oct 9, 2026
- notque/claude-code-toolkittheir own version, first seen Oct 8, 2026
Used with
Projects with it also use content, frontend and 4 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
Rayan55050Skillcontent
Создание контента: посты, статьи, тексты
Also in 3 projects that use this
imehrSkillfrontend
Use when building UI components, pages, or features - guides Claude through the approved frontend stack (Next.js 15, React 19, Shadcn, Tailwind) with design-first workflow for complex UIs, enforcing patterns and quality standards
Also in 4 projects that use this
ryu111Skillbrowser
agent-browser CLI 瀏覽器自動化指南。E2E 測試、UI 調試、設計驗證。適用於需要實際操作瀏覽器的場景。
Also in 3 projects that use this
0xSeroSkillsecurity
Also in 4 projects that use this
NVIDIASkillgithub
Interact with GitHub using the gh CLI restricted to REST API only (no GraphQL). Use when the user wants to work with GitHub issues, pull requests, repos, releases, or Actions — especially in sandboxed environments where the GraphQL endpoint may be blocked. Trigger keywords - github, gh, pull request, PR, github issue, github actions, workflow, release, gh api.
Also in 3 projects that use this
NVIDIASkillresearch
Before designing a feature, research how comparable libraries solve the problem, check best practices, known pitfalls, and upstream changes. Use when starting a new feature, investigating an unfamiliar area, or the user asks to research something.
Also in 5 projects that use this
Other versions16 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 16
- Zafer-Liu/Data-Analysis-Agent★ 2.6ksame name
- trycompai/comp★ 2.1ksame name
- whitecircle/halo★ 851same name
- notque/claude-code-toolkit★ 448same name
- notque/vexjoy-agent★ 448same name
- robium-ai/robium★ 93same name
- rylsherdamz-rgb/stellar-forge★ 17same name
- wubinKKK/private-ai-workbench★ 4same name
- launch52-ai/flutter-template★ 2same name
- emretasss/stellar-paygate-mcp★ 1same name
6 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository47 other files it gives its agents.
- data-apache-lakehouseSkill
- data-apiSkill
- data-duckdbSkill
- data-identity-resolutionSkill
- data-pipeline-operationsSkill
- data-pokemon-tcg-foundationsSkill
- data-product-evalSkill
- data-reelsSkill
- data-semantic-qualitySkill
- data-table-lifecycleSkill
- html-designSkill
- ebay-listingSkill
- flutter-pro-ux-reviewSkill
- flutterSkill
- browser-testing-with-devtoolsSkill
- browser-verifySkill
- design-systemSkill
- frontend-designSkill
- mobile-app-echarts-visualSkill
- mobile-blog-chart-visualSkill
- mobile-chart-visualSkill
- mobile-product-uxSkill
- mockup-implementSkill
- product-designSkill
- product-ui-craftSkill
- prototypeSkill
- react-performanceSkill
- ui-exploreSkill
- visual-verifySkill
- web-qualitySkill
- high-retention-insight-reels-instagramSkill
- instagramSkill
- instagram-virality-insightsSkill
- marketing-cashvertisingSkill
- marketing-contagiousSkill
- marketing-going-viralSkill
- marketingSkill
- marketing-offersSkill
- marketing-storybrandSkill
- quality-checkSkill
- elements-of-styleSkill
- style-clarity-graceSkill
- writer-styleSkill
- writing-docsSkill
- writing-proseSkill
- writingSkill
- writing-technicalSkill
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 7 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 12 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
If no specialist fits the storage layer yet, apply the principles below directly — they are format-agnostic.
- Distinctive: line 37
Test: run the step twice on the same window.
- Very specific: line 52
Test (chunked unique leak): after chunk 2, does the merge log existing= / preserved= against current gold, or existing=0 / no existing …
- Distinctive: line 70
Test: if an upstream adds a column or flips a type (including timezone-aware vs naive, list vs scalar), which stage fails, and is its error …
- Distinctive: line 82
Test: when an upstream dependency is down for an hour, does exactly one lane degrade and recover automatically, or does the whole host …
- Distinctive: line 92
Every run records what it consumed and produced — a watermark, a row count, a run-log line.
- Distinctive: line 115
Test: delete the checklist — does anything still block a violation?
- Distinctive: line 120
Use when the ask is inventory, not a code change: how much data, how fresh, how usable.
“Common” is measured: kept by at least 6 in 10 of the 12 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Data engineering — routing hub
The shared entry point for building and operating data pipelines. Its job is two things the individual skill descriptions can't do: route you to the right specialist, and state the cross-cutting principles every specialist assumes. When you already know the specialist, load it directly — this hub is for the choices you make before that, and for the discipline that spans all of them.
Routing — which skill
| Your task | Skill |
| Designing/operating an Apache Iceberg lakehouse (bronze/silver/gold, PyIceberg, catalog choice, compaction/expire, WAP, snapshot rollback, single-host bounded-RAM writes) | data-apache-lakehouse |
| Consuming an external HTTP API for ingestion (rate limits, backoff, pagination, auth, response validation) or serving gold/analytical data over HTTP (FastAPI + DuckDB, pushdown, keyset pagination, cache invalidation, sidecar rebuild, serving vs lake memory, freshness SLIs) | data-api |
| Using DuckDB as the compute engine — tuning memory/threads, larger-than-memory spilling, Parquet read/write layout, connection lifecycle, EXPLAIN profiling | data-duckdb |
Running multiple pipelines on shared single-host infrastructure — memory admission control, concurrency caps, capacity ratchets, OOM kills that only appear when individually-fine pipelines coexist, timer jobs that must fit one TimeoutStartSec | data-pipeline-operations |
| Deciding whether a table/artifact should still exist — consumer audits, safe drops, maintenance coverage | data-table-lifecycle |
| Semantic row truth — quality flags, outlier/anomaly rules, trust ladders, golden packs, split-brain lake vs API quality | data-semantic-quality |
| Attaching messy records to a canonical entity key — fail-closed, quarantine, unresolved debt, remap | data-identity-resolution |
| Scoring published estimates vs later realized facts — freeze, walk-forward, coverage vs error | data-product-eval |
| Coverage audit — “how much / how fresh / how resolved” from live tables, not docs | this hub (playbook below), then the specialist that owns the hole |
| Choosing between storage formats (Iceberg vs Delta vs plain Parquet vs embedded DuckDB), or the task spans ingest → store → serve | start here, then hand off |
| Generic interface/contract design unrelated to data movement | api-and-interface-design (not a data skill) |
| Wrapping an API as a live tool Claude calls at runtime | build an MCP server, not a skill |
If no specialist fits the storage layer yet, apply the principles below directly — they are format-agnostic.
Cross-cutting principles (shared by every data sub-skill)
Load-bearing in any pipeline, whatever the storage engine. Each is paired with a falsifiable test — if you can't pass the test, the principle is being violated, not "applied differently." Specialists restate the engine-specific form; the canonical version lives here.
1. Every write is idempotent
Re-running the same step — same input window, same batch — produces identical state, never duplicates. This is what makes crashes, retries, and backfills safe. Achieve it with deterministic keys (upsert/merge on a primary key, partition-overwrite of a window, or content-addressed filenames), never by hoping a step runs exactly once.
Test: run the step twice on the same window. Is the output byte-identical? If row counts grow, it isn't idempotent.
2. Move forward by a watermark, not a full recompute
Every step persists how far it has consumed — a max timestamp, a sequence number, a pagination cursor, a snapshot id — and resumes from there. "Rebuild from history" exists only behind an explicit --rebuild flag. A step with no watermark gets slower in proportion to data growth, silently.
Watch for O(history) leaks disguised as incremental — a watermark exists somewhere in the code, but a specific operation still scales with total history. Named shapes and measured cases: references/o-history-leaks.md. The ones that keep shipping:
- Entity-keyed lifetime reload — watermark picks which keys changed, then
WHERE entity_id IN (...)with no time predicate. Timer path predicates keys and the partition time column. Lifetime is--rebuild/--full. - Chunked unique on a frozen basis — each checkpoint
unique()s corpus-so-far, or merges against a start-of-run snapshot that logsno existing. Unique this chunk; upsert into current gold. - Write-window / read-window split — overwrite is partitioned; the read still walks the whole raw tree.
- Unwindowed sidecar / snapshot unique — a "daily" job scans a lifetime fact table into RAM. Daily path is a lookback merge; lifetime is
--full.
Test (entity leak): a new fact for one entity today — does runtime grow with that entity's lifetime row count, or with the lookback window? If it grows with lifetime, the watermark is decorative.
Test (chunked unique leak): after chunk 2, does the merge log existing= / preserved= against current gold, or existing=0 / no existing again? If the latter, the basis is frozen or PK-invalid and each chunk is O(corpus-so-far). Peak RSS after chunk N must not track unique(rows 1..N).
Test (read vs write window): with no new files today, does the gold step skip, or does RSS grow with the full raw tree? If it grows, the read is lifetime.
A full-rebuild trigger (schema change, resolver bump, backfill) belongs on its own lane, separate from the regular incremental run, with checkpoints that survive a retry. A rebuild whose retry logic wipes its own staging checkpoints resets to record one on every crash and, on a large enough history, never finishes — measured: 9 attempts over 19 hours, 0 successes, each retry restarting a 602-day rebuild from day 1.
Test: if the upstream grew 10× tomorrow, would this step's runtime grow 10×? If yes, it lacks a watermark. Separately: does a crash mid-rebuild resume from a checkpoint, or restart from record one? If it restarts, the rebuild lane isn't resumable and won't survive its own retries on real data volume.
3. Fence schema at every boundary
Validate columns, engine types, and null fractions at each layer/stage edge, and fail loud at the boundary. Column names are not enough: Iceberg timestamptz vs DuckDB DATE, List(Utf8) vs Utf8, and field order are schema. A malformed upstream payload should error at ingestion with a clear message — not surface as a cryptic cast error three stages downstream. Keep a strict mode that turns warnings into hard failures in production. Iceberg/Arrow/DuckDB form: data-apache-lakehouse.
This is mechanical validation. Semantic correctness (right entity, right attributes for the consumer use — quality flags, trust ladders, cohort fences) is a separate concern: use data-semantic-quality. Schema fences alone do not make rows trustworthy for product aggregates.
Test: if an upstream adds a column or flips a type (including timezone-aware vs naive, list vs scalar), which stage fails, and is its error message actionable? If the failure is far from the cause, the fence is missing.
4. Publish atomically; readers never see a partial write
A reader sees either the old state or the new one, never half. Use tmp → rename for files and a transactional commit for catalogued tables. Never mutate a live output in place while readers are pointed at it.
Test: kill the writer mid-publish. Can a reader observe a torn/partial result? If yes, the publish isn't atomic.
5. Resilience is implemented, not hoped for
Retry transient failures with exponential backoff + jitter; trip a circuit breaker per external dependency so one outage degrades one lane instead of hanging every loop; route un-processable records to a dead-letter queue with enough context to replay. A swallowed exception in an unattended loop is data loss you discover a week later. Code: references/resilience-and-idempotency.md.
Test: when an upstream dependency is down for an hour, does exactly one lane degrade and recover automatically, or does the whole host wedge? Where do failed records end up?
6. Peak memory is bounded by the batch, not the dataset
Tie peak RAM to batch/page/window size, not total volume — stream record batches, lazy-scan, paginate. A step whose memory scales with the table will eventually OOM on a busy day.
Test: does this step's peak RSS depend on total row count, or on batch size? If it scales with the data, it isn't streaming.
7. Freshness is observable
Every run records what it consumed and produced — a watermark, a row count, a run-log line. An unattended pipeline you can't interrogate ("when did this last update, and with how many rows?") is one you can't trust.
Job-success is not freshness. Distinguish absent (source never landed), empty (source ran, zero rows in window), stale (watermark older than the SLA), and timeout (unit SIGTERM — not a successful empty). Empty-chunk skip is not progress; empty-all and timeout are different exits (data-pipeline-operations). Serving SLIs consume these signals; they do not invent a second clock (data-api).
Test: without reading code, can you answer "when did table X last update and how many rows landed?" from a log or a property? If a unit is green, can you still tell empty from stale from timeout? If not, add the signal.
8. Enforcement is layered: runtime guard > CI gate > checklist > review convention
A principle enforced by only a checklist or a comment is a suggestion, not enforcement. Real enforcement stacks from strongest to weakest, and the top layer is the one that actually blocks a violation: a runtime guard that refuses to proceed (a constructor that raises without a required argument, an admission gate that refuses units without a memory cap); a CI gate that structurally parses the change (a unit-file parser checking caps are present and heavy units are routed through admission, a timer-overlap lint, a live-vs-repo drift audit — not a keyword grep); a checklist artifact reviewed per pipeline (a row per pipeline × falsifiable test × last-verified date); and a review convention (a PR template row) as the last, weakest backstop. Use as many layers as the risk warrants — structure beats memory, and memory is the only thing a checklist or convention relies on.
A checker that greps source for a comment or a string literal false-passes: it confirms the words exist, not that the code does what they claim. Enforcement has to parse structure — AST, unit-file fields, config schema — not text.
Test: delete the checklist — does anything still block a violation? If no, you have documentation, not enforcement, and the runtime guard or CI gate layer is missing.
Coverage audit playbook
Use when the ask is inventory, not a code change: how much data, how fresh, how usable. Query the live warehouse / serving path. Frozen onboarding docs and agent memory are not evidence.
Coverage audit:
- [ ] 1. Name the consumer question (source × grain × window)
- [ ] 2. Read live tables (or the serving sidecar + its publish token) — not README/CLAUDE.md
- [ ] 3. Per source: landed rows, last watermark / as-of, absent vs empty vs stale
- [ ] 4. Identity rate: assigned / landed (unresolved and quarantine are not “coverage”) — **data-identity-resolution**
- [ ] 5. Stratify (status, cohort, age). A global % hides empty slices
- [ ] 6. Name the consumer of each table (**data-table-lifecycle**)
- [ ] 7. If the question is estimate honesty, stop and load **data-product-eval**Test: can you answer “how many resolved rows landed in the last 7 days, per source, and when did each watermark move?” from published signals? If the answer came from a markdown file, the audit failed.
Principle 7 (freshness is observable) is the signal. This playbook is how you read it.
References
- O(history) leak catalog (entity reload, frozen-basis unique, read/write window split, mtime cursor, sidecar lifetime scan):
references/o-history-leaks.md - Shared resilience & idempotency code (retry + jitter, circuit breaker, dead-letter queue, idempotency keys):
references/resilience-and-idempotency.md - Specialist: data-apache-lakehouse — the Iceberg-specific expression of these principles (OCC retry, snapshot watermarks, WAP branches, compaction).
- Specialist: data-api — the API-specific expression (rate-limit buckets, pagination-cursor watermarks, response schema fencing; serving with pushdown + keyset pagination + cache invalidation; sidecar rebuild as a bounded pipeline; serving vs lake memory; freshness SLIs).
- Specialist: data-duckdb — the embedded-engine expression (memory/thread budgeting, larger-than-memory spilling and its limits, Parquet read/write layout, connection-as-cache).
- Specialist: data-pipeline-operations — the multi-pipeline coexistence expression (claims-based admission control, capacity pools, the capacity ratchet loop, subprocess-scope accounting, job-fits-one-
TimeoutStartSec). - Specialist: data-table-lifecycle — the artifact-retirement expression (consumers-or-deprecate, drop durability, catalog-generated maintenance coverage).
- Specialist: data-semantic-quality — row-truth methodology (write-time quality attributes, entity-scoped rules, trust ladders, golden packs); domain thresholds stay in the product repo.
- Specialist: data-identity-resolution — attach/remap procedure (fail-closed, quarantine, collision, unresolved-rate, restamp order).
- Specialist: data-product-eval — estimate vs later realized truth (freeze, walk-forward, coverage vs error, release vs observe).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

