What problem does it solve? Choosing the right evaluation entry point and cross-validator for a fitted ML pipeline is error-prone: hand-rolled cross_val_score calls, habitual KFold defaults, and stratified splitters on imbalanced data all produce misleading scores. This Skill enforces a disciplined methodology for evaluating a single sklearn-compatible learner (especially skrub SkrubLearner pipelines) through skore, so the resulting report reflects the true structure of the data. ## Core Features & Use Cases - Entry-point routing: Uses skore.evaluate as the default dispatcher and escalates to EstimatorReport, CrossValidationReport, or ComparisonReport only when per-fold artifacts, single hold-out fits, or multi-learner comparisons are needed. - Data-driven splitter selection: Maps structural metadata (groups, temporal ordering) attached at build time via split_kwargs to the correct sklearn splitter (GroupKFold, TimeSeriesSplit, KFold), with a mandatory user prompt for time-ordered data. - Methodological guardrails: Blocks stratified splitters for class imbalance, LeaveOneOut-family splitters, inline Python execution, and evaluation calls outside the experiments/ directory. - Use Case: After building a skrub pipeline with group or time metadata, invoke this Skill to pick the correct cross-validator, run skore.evaluate in the experiment script, and read the resulting metrics report without leaking future data or understating variance. ## Quick Start Ask the agent to evaluate the current pipeline with skore, choosing the cross-validator from the data's group or time structure and showing the metrics report.