Azure AI ML Py
microsoft/skills
Azure Machine Learning SDK v2 for Python. An agent skill from microsoft/skills.
Evaluate one learner with skore.evaluate. An agent skill from probabl-ai/skills.
$ npx skills add probabl-ai/skills --skill evaluate-ml-pipeline -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install probabl-ai/skills evaluate-ml-pipeline --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/probabl-ai/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/evaluate-ml-pipeline .claude/skills/evaluate-ml-pipeline && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "evaluate-ml-pipeline" agent skill from https://github.com/probabl-ai/skills/tree/main/skills/evaluate-ml-pipeline into .claude/skills/evaluate-ml-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "evaluate-ml-pipeline", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/probabl-ai/skills/tree/main/skills/evaluate-ml-pipelineType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add probabl-ai/skills --skill evaluate-ml-pipeline -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install probabl-ai/skills evaluate-ml-pipeline --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/probabl-ai/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/evaluate-ml-pipeline .agents/skills/evaluate-ml-pipeline && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "evaluate-ml-pipeline" agent skill from https://github.com/probabl-ai/skills/tree/main/skills/evaluate-ml-pipeline into .agents/skills/evaluate-ml-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "evaluate-ml-pipeline", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add probabl-ai/skills --skill evaluate-ml-pipeline -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install probabl-ai/skills evaluate-ml-pipeline --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/probabl-ai/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/evaluate-ml-pipeline .cursor/skills/evaluate-ml-pipeline && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "evaluate-ml-pipeline" agent skill from https://github.com/probabl-ai/skills/tree/main/skills/evaluate-ml-pipeline into .cursor/skills/evaluate-ml-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "evaluate-ml-pipeline", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/probabl-ai/skills.git --path skills/evaluate-ml-pipeline--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add probabl-ai/skills --skill evaluate-ml-pipeline -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install probabl-ai/skills evaluate-ml-pipeline --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/probabl-ai/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/evaluate-ml-pipeline .gemini/skills/evaluate-ml-pipeline && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "evaluate-ml-pipeline" agent skill from https://github.com/probabl-ai/skills/tree/main/skills/evaluate-ml-pipeline into .gemini/skills/evaluate-ml-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "evaluate-ml-pipeline", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install probabl-ai/skills evaluate-ml-pipelineInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add probabl-ai/skills --skill evaluate-ml-pipeline -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/probabl-ai/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/evaluate-ml-pipeline .github/skills/evaluate-ml-pipeline && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "evaluate-ml-pipeline" agent skill from https://github.com/probabl-ai/skills/tree/main/skills/evaluate-ml-pipeline into .github/skills/evaluate-ml-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "evaluate-ml-pipeline", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add probabl-ai/skills --skill evaluate-ml-pipeline -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install probabl-ai/skills evaluate-ml-pipeline --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/probabl-ai/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/evaluate-ml-pipeline .opencode/skills/evaluate-ml-pipeline && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "evaluate-ml-pipeline" agent skill from https://github.com/probabl-ai/skills/tree/main/skills/evaluate-ml-pipeline into .opencode/skills/evaluate-ml-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "evaluate-ml-pipeline", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
evaluate-ml-pipelineEvaluate one learner with skore.evaluate. An agent skill from probabl-ai/skills.
Evaluate ML Pipeline is an agent skill from probabl-ai/skills. Evaluate one learner with skore.evaluate. The splitter and any non-default score are already on the DataOp from build-ml-pipeline. This skill writes the call without splitter=, persists the report, and records the locator. When the locked split is the training table and test table that shipped with the data, fit on the training table, then pass splitter="prefit" with only the test table. When model-ml-pipeline dispatched this turn, return the locator. A standalone turn also owns the evaluate-stage close. TRIGGER…
Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including reference files (for example `evals/evals.json`, `references/custom-checks.md` and `references/custom-metrics.md`).
It sits in DevOps & Cloud, covering MLOps. It works with Python. The repository describes itself as: Tabular Data Science Skills for guardrailing AI Agents. The licence is BSD-3-Clause.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f273d39. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
pythongituvFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and uv, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Evaluate ML Pipeline loads about 4.3k tokens when it runs, and up to ~14k if it reads all its reference files. Until then it costs about 245 tokens; SKILL.md has 1,971 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from probabl-ai/skills at commit f273d39, republished under its BSD-3-Clause licence (© probabl-ai). 1,971 words, ~4,321 tokens.
.claude/skills/evaluate-ml-pipeline/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.Score one learner and persist the report. The pipeline, the
splitter, and any non-default score are already declared.
skore.evaluate is the entry point. Do not hand-roll
cross_val_score, cross_validate, classification_report,
or metric prints.
A SkrubLearner does not implement sklearn's fit(X, y).
cross_val_score raises. Call skore.evaluate(learner, data={...})
and omit splitter=, unless translation.splitter is prefit.
Details: setup-workspace references/human_facing_prose.md.
Experiment markdown and # comments describe this evaluation.
Questions and the close use the same data-science language: not
skill ids, G-* names, or the wrapper CLI.
<!-- results-embed: … --> is a site marker.
python -m skore_skills status. If status.setup.pending
is non-empty and status.skills.setup-ml-project is true,
load setup-ml-project and stop. Do not start this skill.
When it returns, continue. Do not load it again on this turn.
If that skill is not installed, name the pending pieces in
one line and stop. Do not invent git init, scaffold, or
env init. If status.setup.env or status.setup.workspace
is declined, stop in one line. A declined git or
editable is not asked again; continue. Then
python -m skore_skills frame show without
--revise. Anything other than proceed loads
frame-ml-problem and stops. translation null → stop.
Do not write an evaluation call.tests/smoke/test_<stem>.py is missing or pytest is red,
stop. Route to build-ml-pipeline. Do not write
skore.evaluate. Documented n/a only when there is no
history-dependent step.python -m skore_skills evaluate consent --stem <stem>.ask, and this turn has not already answered Evaluate
from build-ml-pipeline: quote JSON context and present
Evaluate (Recommended) / Modify / Stop. Stop. "Run
evaluation" is not consent on a first run.proceed (a real locator already exists): continue.stop — smoke file missing. Route to build.status.policy.skore_mode. If it is
already set, keep it. If unset, ask local (recommended) /
hub / mlflow, then python -m skore_skills policy set skore_mode <mode>. local: mkdir reports (exist_ok);
do not write reports/README.md. hub or mlflow: do
not create reports/. Then load add-python-package if
installed; it runs env add-skore --mode <mode> --execute.
Do not spell skore[...] here. Do not run env add here.
Constructors: references/g_skore_mode.md. A switch or a
migration loads sync-ml-reports when that skill is
installed.project.put. The checks are
computed in this run and stored with the report. When
translation.splitter is prefit, say the model is fitted
on the training table and scored on the shipped test table.
Name the stem, the fold count when known, and
experiments/<stem>.py plus scratch/results/<stem>/.
Timing depends on rows, folds, the learner, and the checks.
Do not invent minutes. If consent is still pending, preview
and stop.experiments/NN_*.py only. See the call
shapes below. python -m skore_skills style after the edit.
The experiment ends at report.checks.summarize(),
project.put, and a bare report.put has stored the report, copy templates/snapshot.py
to scratch/results/<stem>/snapshot.py and run it. Then End
of turn. Do not add snapshot writes to the experiment file.Every Python probe goes to scratch/<ts>_<short>.py and runs
with the composed-dev Python from env verify. No inline
python -c. No warnings.filterwarnings unless the user asks.
An unconfirmed signature stays unwritten. End that probe with
BLOCKED: <class> signature needs an API lookup that cannot run this turn (<why>). A cache hit is a satisfied lookup.
skore.evaluate in experiments/NN_*.py. Omit splitter= so
skore reuses the DataOp cv and split_kwargs, unless
translation.splitter is prefit. Passing any other
splitter= drops split_kwargs. Omitted splitter= with no
DataOp cv is an 80/20 holdout, correct only when
translation.report is EstimatorReport and
translation.splitter is null. Wiring:
references/metadata-routing.md.
When translation.splitter is prefit, fit on the training
table only, then score the test table. Confirm fit and
evaluate with api get. Do not pass the training table into
evaluate. Omitting splitter= here draws a new 80/20 split
of the test table. Do not concatenate the two tables.
learner = build_learner()
fitted = learner.fit({"table": train_df})
report = skore.evaluate(
fitted,
data={"table": test_df},
splitter="prefit",
)An estimator whose fit is (X, y) uses the same rule:
fitted_model = LogisticRegression().fit(X_train, y_train)
report = skore.evaluate(
fitted_model, X_test, y_test, splitter="prefit"
)X / y and data stay mutually exclusive.
SkrubLearner — skore.evaluate(learner, data={...}). Keys
are the skrub.var names. Interop:
references/skrub_interop.md.fit is (X, y) —
skore.evaluate(estimator, X, y). Still omit splitter=
when the locked cv is already the evaluation scheme. The
prefit call above is the exception: the estimator is already
fitted, and X and y are the test table.The cv on mark_as_X is KFold, GroupKFold, or the
date-based class from build. If translation names a cv and
the marker has none, return to build-ml-pipeline. Do not
wire split_kwargs here. Empty split_kwargs plus a possible
group column → return to build-ml-pipeline. Do not default
to KFold. translation.splitter prefit is not a cv on
the marker.
No Stratified* for class imbalance. It compresses across-fold
variance.
The headline is translation.metric. A name on the skore
default list in build-ml-pipeline needs no scorer. Any other
name must already be .skb.with_scoring(...) on the prediction
DataOp. If it is not, return to build-ml-pipeline before
skore.evaluate. Do not call report.metrics.add. When the
scorer is attached, that name is a row in
report.metrics.summarize().frame(). skore.evaluate has no
scoring= argument (references/custom-metrics.md). If the
name is attached and still missing from that frame, the
predictor class is wrong: it must be the mixin, then
BaseEstimator (RegressorMixin or ClassifierMixin first).
Return to build-ml-pipeline. BaseEstimator alone, and
BaseEstimator before the mixin, both fail.
An extra check the user asks for after the lock:
references/custom-checks.md. Subclass skore.Check at module
level in experiments/NN_*.py, then report.checks.add(...)
after evaluate and before summarize. add extends SKD
checks. Do not invent a check. Do not register one from
audit/. Confirm Check and checks.add with api get.
Every evaluation calls report.checks.summarize() with no
arguments after evaluate and after any checks.add, then
project.put. That stores the check results on the report.
Do not pass fast_mode or ignore. Confirm checks.summarize
with api get.
report = skore.evaluate(...)
report.checks.summarize()
project.put(STEM, report)
reportEscalate past evaluate only when the dispatcher is too coarse
(references/reports.md): EstimatorReport for one held-out
fit, CrossValidationReport for per-fold artifacts. Holdout uses
EstimatorReport. This loop scores that one learner with one
skore.evaluate, one report.checks.summarize(), and one
project.put.
CV is necessary but not sufficient for any pipeline with
history-dependent features. skore.evaluate materializes the
graph once with one env-dict and splits indices. The smoke test
exercises a fresh env-dict at predict time. A passing smoke
test is still required before the caller may flip status to
done. Do not edit JOURNAL.md History or the design-note
Status to done from this skill.
skore.evaluate(...) and project.put(...) live only in
experiments/NN_*.py. A scratch probe, an audit file, or a
notebook that calls them duplicates the report under the same
key. Read a stored report with project.summarize() then
project.get(id). get(key) raises KeyError because get
is by id. Do not re-run evaluate to paper over that.
Plots that skore does not already draw load plot-ml-figure
when that skill is installed.
putProject.put returns None. Read
project.summarize().frame(), take the newest row for the key,
and form one locator. Copy templates/snapshot.py to
scratch/results/<stem>/snapshot.py (gitignored). Substitute
the Project init from experiments/<stem>.py, the report id,
and that locator. Run the script with the composed-dev Python
from env verify, before loop locator and loop artifacts.
Do not put these writes in experiments/<stem>.py. Run
python -m skore_skills loop locator --stem <stem> and paste
JSON locator verbatim. Missing locator is
n/a — backend did not expose a locator.
local workspace: [reports/](../reports/) · id: <id>,
plus the absolute reports/ path. Do not link a private file.Consult your report at … URL:
[Open report](<url>) · hub · id: <id>. If Skore emits no
URL, link the project landing page as Open project.View run … URL when present. If absent
and tracking_uri is HTTP(S), use
/#/experiments/<experiment-id>/runs/<run-id>. For file:,
sqlite:, databricks, or any other URI without an emitted
URL: mlflow · tracking: <uri> · experiment: <id> · run: <run-id>. Do not invent a browser link.The script writes report._repr_html_() to
scratch/results/<stem>/report.html and repr(report) to
report.txt. It regenerates the Method viewer from the stored
learner: report.estimator_ on EstimatorReport,
report.reports_[0].estimator_ on CrossValidationReport.
Confirm eval on DataOp.skb.report with api get.
learner.report forwards it. When eval is a parameter, call
learner.report with eval=False, open=False,
overwrite=True, and output_dir set to
scratch/results/<stem>/pipeline. No environment. That does
not fit. Do not call full_report, and do not call report
without eval=False. If eval is absent, or Graphviz still
fails after one add-python-package retry for skrub, write
pipeline.html from _repr_html_ or
sklearn.utils.estimator_html_repr.
When model-ml-pipeline dispatched this turn, pass JSON
locator up and return. Do not run loop notebooks,
loop artifacts, audit, record-outcome, convert, site, or
git end-turn.
Otherwise this skill owns the close. First run
python -m skore_skills loop artifacts --stem <stem>.
stop / evaluate_incomplete → name the missing file and do
not audit. audit → load audit-ml-pipeline when installed.
record → skip audit. record is that command's action, not
the notebook gate. Do not convert in the audit skill.
Then this order. Do not reorder it. loop notebooks continues
only on skip.
python -m skore_skills loop notebooks --stem <stem>. Treat
JSON action as authoritative. Do not record-outcome,
site build, or git end-turn while action is convert.
not_evaluated does not convert.convert, run
python -m skore_skills notebook convert <source> for every
sources entry, with --html when html is true. Converting
only audit/<stem>.py is not the close. The unfitted-snapshot
ban does not apply: convert the experiment script even though
this turn wrote skore.evaluate. If experiments/<stem>.py
was in sources, re-run
scratch/results/<stem>/snapshot.py and
python -m skore_skills loop locator --stem <stem>. Re-run
step 1 until action is skip. Convert re-executes the
script. If convert fails because ipywidgets is missing,
load add-python-package for it (agent) and convert again.
Missing jupytext / nbclient / nbconvert → one line naming
add-python-package.skip, and before site
build. If audit ran, pass its digest and G-AUDIT-FINDING into
manage-ml-backlog when that skill is installed, with the
locator from step 2 when the experiment script was converted.
If audit did not run, call record-outcome with that locator,
the user's headline, if any, and n/a — audit not run.
Missing backlog skill → one line. Do not write History here.
Never mark done while smoke is red.report.html only when policy.site
is true.site build only when policy.site is true and
export-ml-site is installed:
python -m skore_skills site build. It embeds
audit/<stem>.nb.html under ## Notebooks; do not add
<!-- results-embed: audit -->. If site build errors with
mkdocs-material is required, load add-python-package for
mkdocs-material (agent) and build once more. Do not
pixi add / uv add. Name a build error; do not fail the
turn.python -m skore_skills git end-turn --stage evaluate. If
JSON action is invoke, load persist-ml-git when
installed and stop. Otherwise load triage-ml-task when
installed. Do not run git commit here.Standalone only. 2–6 sentences of the result, grounded in the
headline or, when audit was skipped, report.txt. If audit
ran, ground the story in its Checks and Metrics. Do not invent
a metric.
Links: [report.html](<workspace>/report.html) and
html/<stem>.html only when policy.site is true. Otherwise
[journal/<stem>.md](journal/<stem>.md).
Tokens after the narrative: JSON locator first, then
G-AUDIT-FINDING (n/a — audit not run when skipped).
status.setup.pending non-empty) → load
setup-ml-project. A declined git is not asked again. A
declined env or workspace stops.split_kwargs plus a possible group column → return
to build-ml-pipeline. Do not default to KFold.import skore fails → G-SKORE-MODE if unset, then
add-python-package. Do not drop back to cross_val_score.add-python-package when installed.
Do not run env add here.Pre-flight (evaluate-ml-pipeline):
- [ ] sklearn, skrub, skore import
- [ ] frame show is proceed; DataOp cv matches translation
(or holdout / prefit, and the marker has no cv)
- [ ] skore_mode is set (local | hub | mlflow)
- [ ] evaluate consent is proceed, or the user answered Evaluate
- [ ] Call site is experiments/NN_*.py
- [ ] Snapshots are scratch/results/<stem>/snapshot.py
(not cells in the experiment file)
- [ ] skore.evaluate omits splitter=
(or splitter="prefit" and only the test table is passed)
- [ ] report.checks.summarize() then project.put
(no fast_mode, no ignore; after any checks.add)
- [ ] Smoke: passing | n/a (no history-dependent step) | STOPreferences/metadata-routing.md — the locked cv stays on
the DataOp; evaluate omits splitter=.references/skrub_interop.md — env-dict versus (X, y).references/g_skore_mode.md — Project constructors.references/reports.md — when evaluate is too coarse.references/custom-metrics.md — a non-default metric via
with_scoring.references/custom-checks.md — a check the user asked for.templates/snapshot.py — agent-only post-put snapshot. Copy
to scratch/results/<stem>/snapshot.py.© probabl-ai, BSD-3-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 8 other files (references) in skills/evaluate-ml-pipeline of probabl-ai/skills.
Open the folder on GitHubat commit f273d39
Evaluate ML Pipeline next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Evaluate ML Pipeline this skillprobabl-ai/skills | 138 | — | ~4.3k | Automated safety check: Pass | BSD-3-Clause | |
| Azure AI ML Pymicrosoft/skills | 3.1k | 5 repos | ~2.2k | Automated safety check: Pass | MIT | |
| SageMaker IAM Role Preflighthuggingface/skills | 11k | 1 repos | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| Megatron-LM on SLURMNVIDIA/Megatron-LM | 18k | — | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| MLflow Experiment TrackingOrchestra-Research/AI-Research-SKILLs | 13k | 2 repos | ~3.9k | Automated safety check: Pass | MIT | |
| Oci Data Scienceoracle/accelerated-data-science | 125 | — | ~2.1k | Automated safety check: Pass | UPL-1.0 |
microsoft/skills
Azure Machine Learning SDK v2 for Python. An agent skill from microsoft/skills.
huggingface/skills
Finds or validates a usable SageMaker execution role before deploying or training, so scripts do not try to create IAM roles they lack permission to create.
NVIDIA/Megatron-LM
Shows how to launch distributed Megatron-LM training on a SLURM cluster: sbatch skeleton, torch.distributed.run setup, CUDA_DEVICE_MAX_CONNECTIONS rules and failure diagnosis.
Orchestra-Research/AI-Research-SKILLs
Tracks ML experiments, versions models in the MLflow registry and covers deployment and reproducibility, with autologging for common frameworks.
oracle/accelerated-data-science
OCI Data Science service patterns including Jobs, Pipelines, Model Catalog, authentication, and the ADS SDK beyond AQUA.
crazyguitar/pysheeet
Comprehensive Python programming reference covering syntax, concurrency, networking, databases, ML/LLM development, and HPC.
probabl-ai/skills
Add a Python dependency through the project env manager, or ask the user to install it when env.managed is false.
probabl-ai/skills
Declare the pipeline from data source to predictor as a skrub DataOps graph.
probabl-ai/skills
Detect an existing ML workspace or scaffold a fresh one via python -m skoreskills scaffold --package <pkg.
probabl-ai/skills
Read-only audit of one persisted skore report: audit/NN<stem.py (jupytext percent), 1:1 with experiments/ and journal/.
probabl-ai/skills
Owns data understanding before any model is designed. An agent skill from probabl-ai/skills.
probabl-ai/skills
Convert a jupytext percent %% Python file into an executed .ipynb with cell outputs.
Works with
Categories
Evaluate one learner with skore.evaluate. An agent skill from probabl-ai/skills. Evaluate ML Pipeline is an agent skill from probabl-ai/skills.evaluate.
Evaluate ML Pipeline fits situations like: code calls crossvalscore; classificationreport; .skb.crossvalidate; A handwritten metric print.
Run `npx skills add probabl-ai/skills --skill evaluate-ml-pipeline -a claude-code`. Or copy the skill folder (skills/evaluate-ml-pipeline in probabl-ai/skills) into .claude/skills/evaluate-ml-pipeline in your project. Claude Code loads it when a task matches its description.
Run `npx skills add probabl-ai/skills --skill evaluate-ml-pipeline -a codex`. Or copy the skill folder (skills/evaluate-ml-pipeline in probabl-ai/skills) into .agents/skills/evaluate-ml-pipeline in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add probabl-ai/skills --skill evaluate-ml-pipeline -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/evaluate-ml-pipeline, .gemini/skills/evaluate-ml-pipeline, .github/skills/evaluate-ml-pipeline and .opencode/skills/evaluate-ml-pipeline in your project.
Going by SKILL.md and its folder, Evaluate ML Pipeline needs Python for the scripts in its folder and the command-line tools its instructions call (python, git and uv). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use git and uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Evaluate ML Pipeline is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 9.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Evaluate ML Pipeline: Azure AI ML Py (microsoft/skills, 3.1k stars), SageMaker IAM Role Preflight (huggingface/skills, 11k stars), Megatron-LM on SLURM (NVIDIA/Megatron-LM, 18k stars) and MLflow Experiment Tracking (Orchestra-Research/AI-Research-SKILLs, 13k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
probabl-ai (a GitHub organization) maintains it in probabl-ai/skills, which has 138 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 8, 2026.
Source: probabl-ai/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.