# Explore Ml Data

> Owns data understanding BEFORE any model is designed. Places and executes data/eda.py (a jupytext %% script) via the shared in-process runner, reads the streamed digest, then writes a persisted data/eda.md report (plus linked data/eda<table.html skrub TableReport pages) and the Data understanding (EDA) section of journal/JOURNAL.md. The point is to surface the dataset facts — shape, dtypes, missingness, cardinality, target balance / skew, datetime / group structure, feature associations — that JUSTIFY the later learner / splitter / metric decisions, so the user understands why the modelling choices are made. Uses skrub.TableReport for dataframe overviews and the shared runner audit-ml-pipeline/scripts/runcells.py. Stops at "EDA executed, data/eda.md + HTML written, JOURNAL EDA section updated." Never designs the model, never edits src/<pkg/, never modifies the user's raw data files. TRIGGER — any of: - iterate-ml-experiment § 0 bootstrap, BEFORE the baseline design note — the G-EDA gate fires here (run / skip). - The user asks to "explore the data", "do an EDA", "profile the dataset", "what does the data look like", "understand the data". - A new or changed data source needs (re-)understanding before the next experiment. SKIP when: the workspace isn't scaffolded / bootstrapped yet — iterate-ml-experiment § 0 owns bootstrap ordering and will dispatch here at the G-EDA step; don't run standalone ahead of scaffolding (route to iterate-ml-experiment / organize-ml- workspace); there is no data to explore yet; the user wants to inspect a finished run's skore report rather than the raw dataset (audit-ml-pipeline); the user is past data understanding and wants pipeline / evaluation mechanics (build-ml-pipeline / evaluate-ml-pipeline); a pure symbol lookup (python-api); EDA is already recorded (data/eda.md + the JOURNAL EDA section exist) and the user is not asking to refresh it. HOW TO USE: run the Detection step (does data/eda.md + the JOURNAL EDA section already exist?), emit the Pre-flight checklist as visible text, read the Stop conditions, then place data/eda.py from templates/eda.py, execute it via the shared runner, read the digest, and author data/eda.md + the JOURNAL EDA section. Always resolve skrub / pandas / polars symbols via python-api, never from memory.

## Facts
- Page: https://tashan.sh/capability/skill-probabl-ai-explore-ml-data
- tashan id: skill:probabl-ai/explore-ml-data
- Source: https://github.com/probabl-ai/skills
- Type: skill
- Category: other
- tashan score: not scored (catalogued only — too little public evidence)
- Adoption: 9.0
- Upkeep: 97.0
- Freshness: 94.0
- Evidence coverage: 84% of the inputs this score can use
- Health: active
- Instruction depth: not yet graded
- License: BSD-3-Clause
- Official: no

## Install

```sh
cp -r explore-ml-data ~/.claude/skills/
```

## Security audit
Not scanned. We audit npm-published capabilities; this one has no npm package we can resolve, or has not reached the queue. This is not a clean bill of health.

---
Measured 2026-08-14 by tashan (https://tashan.sh) from public evidence. Scorer s5.
