Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/mxslr/mlcraft/dataset-profilingnpx skills add mxslr/mlcraft --skill dataset-profilinggit clone --depth 1 https://github.com/mxslr/mlcraftWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00150 | $0.00884 |
| Opus 5 | $0.00075 | $0.00442 |
| Sonnet 5 | $0.00030 | $0.00177 |
| Haiku 4.5 | $0.00015 | $0.00088 |
Grade A, and why
dataset-profiling scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 56 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Dataset Profiling (understand the data first)
Never choose a model, metric, or split before inspecting the actual data. The profile drives every later decision.
Where is the data? Pick the access path.
| Situation | How the assistant sees the data |
|---|---|
| Local files (a folder or CSV on this machine) | The assistant reads them directly with its file tools. Ask for the path. |
| Kaggle dataset (only on Kaggle) | The assistant CANNOT read /kaggle/input from your machine. Use option A or B below. |
| Google Colab (data in Drive) | Mount Drive, then treat it as local. |
/kaggle/input exists only inside a Kaggle kernel. During a Commit the notebook code reads it; the assistant running on your machine cannot.
Kaggle option A (recommended, no download): run a profiling cell, paste the output back
Emit this cell for the user to run on Kaggle, then use the printed summary to decide method, metric, and split:
import glob, os, pandas as pd
base = '/kaggle/input'
print('TREE (top levels):')
for r, d, f in os.walk(base):
depth = r[len(base):].count(os.sep)
if depth <= 2:
print(' ' * depth, os.path.basename(r) or r, f'[{len(f)} files]')
for c in glob.glob(base + '/**/*.csv', recursive=True)[:5]:
df = pd.read_csv(c, nrows=5)
print('\nCSV', c, df.shape, list(df.columns))
print(df.head(3).to_string())
imgs = glob.glob(base + '/**/*.jp*g', recursive=True) + glob.glob(base + '/**/*.png', recursive=True)
print('\nimage files:', len(imgs))
Ask the user to paste the output, then extend the cell as needed (class counts, image sizes, label joins).
Kaggle option B: download locally with the Kaggle API
If the user has a kaggle.json token: kaggle datasets download -d <owner/dataset> (or kaggle competitions download -c <name>), unzip, then profile the local folder directly.
What to profile (by modality)
- Tabular: shape, column dtypes, missing percentage, target distribution, high-cardinality columns, and columns that could leak the label.
- Images: count per class, image sizes and aspect ratios, color vs grayscale, corrupt files, folder layout, and a few sample views.
- Text: length distribution, label balance, duplicates, and language.
- Time-series: sampling frequency, gaps, time range, and count per series.
- Audio: sample rate, clip duration, and count per class.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 56 lines · 150 tokens per session scan A f4108f6247ef
dataset-profiling is a skill published in the GitHub repository mxslr/mlcraft (8 stars, last pushed 1mo ago), licensed MIT. It adds 150 tokens to every session and 884 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
torch-performance-optimization
Optimize or review eager CPU-only Albucore PyTorch runtime paths with benchmark-backed decisions. Use when adding or changing Torch CPU kernels, Tensor/NumPy bridges, Torch backend routing, tensor layouts, allocations, threading, profiling, memory-format candidates, or Torch performance benchmarks.
ml-for-aec
Computer vision for buildings, image-to-floorplan, generative ML models, performance prediction, structural analysis ML, energy prediction, natural language to design, and point cloud ML for AEC computational design.
yolo-export
Use when exporting or deploying Ultralytics YOLO models in Platform or code — the Platform Export tab and yolo export/model.export() for ONNX, TensorRT, CoreML, OpenVINO, LiteRT, NCNN, ExecuTorch, and NPUs (RKNN, QNN, Hailo, Ascend, IMX, Axelera, DeepX), FP16/INT8 quantization, benchmarking, and non-Python runtimes.…
yolo-training
Use when training, fine-tuning, or validating Ultralytics YOLO models in Platform, cloud GPUs, or local code — model.train(), yolo train/val, remote metric streaming, epochs, batch, imgsz, devices, augmentation, multi-GPU, resumes, results, and fixing OOM, NaN loss, low mAP, or overfitting. For hyperparameter search…
yolo-datasets
Use when uploading, annotating, building, converting, analyzing, or debugging datasets in Ultralytics Platform or local YOLO — Platform dataset management and Smart Annotation, data.yaml, YOLO label .txt formats, COCO/DOTA/mask conversion, auto-labeling, splits, validation, and errors like "no labels found" or mAP…
yolo-models
Use when choosing or comparing Ultralytics models in Platform or code — picking a model family (YOLO26/YOLO11/YOLOv8, YOLO-World, YOLOE, SAM/SAM2/FastSAM, RT-DETR, YOLO-NAS), size (n/s/m/l/x), task variant (-seg, -sem, -cls, -pose, -obb, -depth), pretrained checkpoint, open-vocabulary or promptable…