Skip to content
Research
Skill

/dataset-curation

Use when the user wants to analyze dataset bias, create stratified samples, evaluate fairness, or plan dataset collection. Triggers on phrases like "dataset bias", "stratified sample", "class imbalance", "data distribution", "fairness analysis", or "ethical review".

BOOST
From plugin
phd-skills
42312 skills2 agents6 commands
Install
$ npx -y skills add fcakyon/phd-skills --skill dataset-curation --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/dataset-curation

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when the user wants to analyze dataset bias, create stratified samples, evaluate fairness, or plan dataset collection. Triggers on phrases like "dataset bias", "stratified sample", "class imbalance", "data distribution", "fairness analysis", or "ethical review".

SKILL.md

dataset-curation.SKILL.md
name: dataset-curation
description: >
  Use when the user wants to analyze dataset bias, create stratified
  samples, evaluate fairness, or plan dataset collection. Triggers on
  phrases like "dataset bias", "stratified sample", "class imbalance",
  "data distribution", "fairness analysis", or "ethical review".

Dataset Curation Methodology

You are helping a researcher curate, analyze, or expand a dataset with attention to bias, fairness, and quality.

Step 1: Distribution Analysis

Before any curation action, understand the current state:

Per-Class Distribution

  • Count instances per class/label/tag
  • Compute imbalance ratio (max_count / min_count)
  • Identify severely underrepresented classes (< 5% of max class)
  • Visualize: bar chart of class frequencies sorted by count

Co-occurrence Analysis

  • Build co-occurrence matrix: which labels appear together
  • Identify spurious correlations (e.g., "violence" always co-occurs with "male")
  • Check for label leakage between splits

Metadata Distribution

  • Source diversity: how many sources/movies/documents contribute
  • Temporal distribution: are all time periods represented?
  • Content diversity: genre, style, domain coverage

Step 2: Bias Assessment

For each identified imbalance or correlation:

1. **Is it real-world reflective?** Some imbalances reflect genuine phenomena 2. **Is it harmful?** Would a model trained on this data make unfair predictions? 3. **Is it fixable?** Can we collect more data, resample, or reweight?

Fairness Dimensions

Check for bias along relevant protected attributes:

  • Gender representation (if applicable)
  • Racial/ethnic representation (if applicable)
  • Age distribution (if applicable)
  • Geographic/cultural diversity (if applicable)

Bias Metrics

  • Demographic parity: equal positive rates across groups
  • Equalized odds: equal TPR and FPR across groups
  • Representation ratio: group proportion in data vs population

Step 3: Stratified Sampling

When creating splits (train/val/test):

1. **Primary stratification**: by label/class distribution 2. **Secondary stratification**: by source (prevent source leakage across splits) 3. **Validation**:

  • Chi-squared test for label distribution similarity across splits
  • No source overlap between splits
  • Rare classes have minimum representation in each split

Split ratios depend on dataset size:

  • Large (>50k): 80/10/10 or 90/5/5
  • Medium (5k-50k): 70/15/15 or 80/10/10
  • Small (<5k): k-fold cross-validation preferred

Step 4: Quality Assessment

For labeled datasets, assess annotation quality:

  • **Inter-annotator agreement**: Cohen's kappa, Fleiss' kappa, or Krippendorff's alpha
  • **Label noise estimation**: sample and manually verify N labels
  • **Edge cases**: identify ambiguous examples that annotators might disagree on
  • **Consistency checks**: automated rules for label validity

Step 5: Expansion Recommendations

If the dataset needs more data:

1. **Priority classes**: which classes benefit most from more data 2. **Source suggestions**: where to find more data for underrepresented classes 3. **Collection strategy**: active learning, targeted scraping, synthetic augmentation 4. **Cost estimation**: time and resources for each approach

Step 6: Ethical Review Checklist

Before using or publishing any dataset:

  • [ ] Content sensitivity: does the data contain sensitive material?
  • [ ] Consent: was data collected with appropriate consent?
  • [ ] Privacy: are individuals identifiable? Is anonymization needed?
  • [ ] Licensing: are data sources used within their license terms?
  • [ ] Potential harms: could the dataset be misused?
  • [ ] Documentation: is the dataset documented with a datasheet/data card?

Output Format

Produce: 1. **Distribution report**: per-class counts, imbalance ratios, co-occurrence matrix 2. **Bias findings**: identified biases with severity and actionability 3. **Split recommendation**: stratification strategy with validation results 4. **Expansion plan**: prioritized suggestions for addressing gaps 5. **Ethics checklist**: completed checklist with notes per item

Read more
Ships withphd-skills

Catch AI mistakes before they cost weeks of compute. Reproduce papers from arxiv. Debug runs evidence-first. Compare experiments at the right epoch. Launch with discipline.

Get the whole plugin

Other skills on phd-skills.

compare
Skill

compare

Same-epoch comparison of training runs across wandb, neptune, tensorboard, or mlflow. Aligns runs at the student's current step…

debug
Skill

debug

Evidence-before-action diagnosis of failing ML experiments. Probes the system before guessing causes, process list, dmesg, GPU…

launch
Skill

launch

Pre-flight checklist for long-running ML training jobs covering config diff, run naming, path verification, monitoring setup, and…