agentleFS
HarrypatriaHarrypatria/data-mining-ml/skills/data-profiling/SKILL.md

data-profiling

Skill2 starsChanged 12 days agoMITView on GitHub

Data Profiling. Explore and profile a dataset before modeling - EDA (exploratory data analysis), distributions, skew, outliers, missingness (MCAR, MAR, MNAR), duplicates, cardinality, class balance, label quality, leakage risk, bias and representativeness, drift between periods. Use when someone says explore, profile, EDA, data quality, understand the data, check the dataset, or before any machine learning, data mining or statistical analysis. CRISP-DM Data Understanding.

3 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Drift: If data spans periods, compare early and late slices (KS test, PSI).

    line 21
  2. Distinctive:

    Every claim about the data cites the cell that computed it.

    line 39

“Common” is measured: kept by at least 6 in 10 of the 3 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Data Profiling

Explore before inferring. Profiling ends with a short list of facts that change modeling choices, not a gallery of charts.

Procedure

  1. Grain and keys. State what one row is. Assert key uniqueness (df[key].is_unique). Count rows per entity; repeated entities force group-aware splits.
  2. Schema. df.shape, df.dtypes, df.head(). Assert expected columns and types. Parse dates once. Note units per numeric column.
  3. Ranges. describe() on numerics; flag impossible values (negative ages, future dates, totals that do not add up). Decide error versus signal before touching outliers.
  4. Missingness. Share per column, share by target class, co-missing patterns. Classify each as MCAR, MAR or MNAR with a reason. Missing-by-target differences are signal and a leakage hint.
  5. Distributions. Skew and tails, multimodality, zero inflation, bounded proportions. One chart per finding, axes labeled with units.
  6. Target. Prevalence with the positive count, label definition, label delay, label noise sample check (read 20 raw records per class).
  7. Relationships. Target rate by key categories, correlation matrix (Spearman for skew), VIF for linear models, Simpson's paradox check on the main segment.
  8. Leakage scan. For each column: when is it recorded relative to the prediction time? Columns created after the event are removed now. Suspiciously strong single predictors get investigated.
  9. Representativeness and bias. Compare sample with the population the model will score: time window, regions, channels, protected groups. Note selection and survivorship bias.
  10. Drift. If data spans periods, compare early and late slices (KS test, PSI). Drift decides between random and forward-chaining validation.

Output

A profile summary in the notebook, under findings headings, plus these lines for ANALYSIS_MANIFEST.md:

Grain: <one row = ...>; entities repeat: <yes/no, max rows per entity>
Target: <definition>; prevalence <p> (<k> positives of <n>)
Missingness: <column: rate, mechanism, plan>
Leakage removed: <columns and why>
Scenarios detected: <IDs from references/scenarios.md>
Split implication: <stratified | group | forward-chaining>

Rules

  • Print summaries, never full frames. Clear large outputs before saving.
  • Every claim about the data cites the cell that computed it.
  • Profile on training data only once a split exists; the test set is not explored.
  • Data conditions and their remedies: references/scenarios.md.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.