Przejdź do treści
Biblioteka skilli
Dane i analityka · Przegląd i audyt

data-checks

/data-checks

Podaje zasady dobrych sprawdzeń danych: gdzie stawiać punkty kontrolne, czego unikać i jak pisać asercje dla potoków i modeli.

Licencja
MIT
Ostatnia zmiana repozytorium
12.11.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 12.11.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Podaje zasady dobrych sprawdzeń danych: gdzie stawiać punkty kontrolne, czego unikać i jak pisać asercje dla potoków i modeli.

Oryginalny opis (EN)

Rules for check-first data analysis - what a good check is, where checkpoints go, and the anti-patterns. Use when writing or reviewing checks, assertions or tests for data pipelines, analyses or models.

Jak działa

  1. What a good check is
  2. Checkpoints
  3. Rules of the loop
  4. Anti-patterns
  5. Implementation
Sekcje z nagłówków SKILL.md, w oryginale · 50 linii, 469 słów
Podgląd SKILL.md
---
name: data-checks
description: Rules for check-first data analysis - what a good check is, where checkpoints go, and the anti-patterns. Use when writing or reviewing checks, assertions or tests for data pipelines, analyses or models.
---

# Data checks

Analysis code rarely fails loudly. A **check** is an automated assertion that must hold before a result counts. Checks replace reading every line of generated code: they make correctness observable.

## What a good check is

A good check compares the pipeline’s state with an **independent source of truth**: something the pipeline did not compute.

| Source of truth | Example check |
|---|---|
| The raw file | Row count after loading equals the line count of the source file |
| A key definition | Exactly one row per date and product after every merge |
| A calendar | Every date of the period present once; no dates outside it |
| A submission template | Prediction IDs equal the template’s IDs, same order, no missing values |
| The split definition | Latest training date is earlier than the earliest validation date |
| Domain bounds | Temperature between −30 and 45 °C; sales non-negative |
| A known result | Baseline metric on validation equals the value recorded when it was first computed |

## Checkpoints

Checks live at **checkpoints**, the boundaries between pipeline stages:

1. **Load**: shape, columns, types, row count vs. source.
2. **Merge**: row count unchanged (for left joins), keys unique, match rate as expected.
3. **Features**: no feature uses information beyond the leakage boundary; no unexpected missing values introduced.
4. **Split**: disjoint, ordered by time or group as planned, sizes as expected.
5. **Predictions**: IDs and count match, no missing values, values in plausible range.
6. **Metrics**: computed on the intended data; baseline reproduces.

Agree the checkpoints with the user before writing checks. Not every checkpoint needs every check; the critical paths do.

## Rules of the loop

- **Red before green.** Write the check, see it fail for the right reason (or pass on a state you know is correct), then rely on it.
- **One checkpoint at a time.** Add checks where you are working, not everywhere at once.
- **Fix the data, not the check.** A failing check is changed only with the user’s agreement and a logged reason.
- **Keep the surprises.** Every bug found by hand becomes a permanent check.

## Anti-patterns

- **Tautological**: the expected value is computed the same way as the result (`assert len(df) == len(df)`, a mean compared with itself). It passes by construction.
- **Loosened to pass**: tolerances widened or conditions removed until green.
- **Output-only**: only the final metric is checked, so an upstream error that happens to help the metric survives.
- **Test-set peeking**: any decision taken while looking at test results.

## Implementation

Prefer `pytest` tests under `checks/` that load the pipeline’s intermediate outputs, run with one command. In notebook-only projects, an `assert` cell at each checkpoint with a clear message is the fallback.

Wersje

W bazie nie ma innych skilli o nazwie data-checks.

Migawka bazy z 13.11.2026 · wersja paczki b637c02a4ae1 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100data-quality-checker
    Wdraża kontrole jakości danych, reguły walidacji i monitoring dla potoków danych oraz governance.
  • 100data-pipeline-quality
    Wdraża automatyczne kontrole jakości potoków danych: piramidy testów, wzorce dbt test, kontrakty danych, wyłączniki bezpieczeństwa i monitoring.
  • 100test-generator
    Generuje testy dbt: schematyczne, jakości danych i świeżości, dla modeli dbt i walidacji danych.
  • 90data
    Obsługuje pipeline'y, hurtownie, modele i metryki dbt, gdzie awaria oznacza po cichu błędne liczby: świeżość, asercje liczby wierszy i null-rate, kontrakty danych, uzgadnianie i bezpieczny backfill.
  • 90data-quality-checks
    Warstwuje kontrole świeżości, wolumenu, schematu i rozkładu z kwarantanną i dyscypliną alertów, przy dodawaniu bramek jakości do potoków.
  • 100data-catalog-updater
    Prawdopodobnie aktualizuje katalog danych w ramach potoków danych.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.