Probabl Skills
A set of skills to steer your AI-assisted machine learning experiments. The skills help you:
- build your machine learning pipeline with core data science libraries (e.g. scikit-learn, skrub, skore, pandas, polars) while ensuring your agent follows correct methodologies
- evaluate and store your results so you can easily audit and get insights from them
- connect your agent to Skore Hub to get a comprehensive view of your experiments and results
- iterate on your next experiments from a Skore audit digest (a separate backlog turn) and from your own feedback
- organize your workspace according to best practices for data science projects (e.g. cookiecutter template)
Probabl skills let you focus on the science while AI agents handle the implementation, guided by two important ingredients: core data science libraries for maintainability and methodological best practices for running your machine learning experiments properly.
In practice, from a prompt such as:
╭────────────────────────────────────────────────────────────────────────╮
│ > Given the context in the file `data/README.md` and the data located │
│ in `data/`, let's build a first machine learning pipeline that will │
│ serve as baseline for the next experiments that we are going to run │
│ together. │
╰────────────────────────────────────────────────────────────────────────╯
you can expect your agent to start experimenting with you. The skills work well with
models such as Claude Opus and Sonnet and produce great results with smaller models such
as Qwen 3.7 Flash or DeepSeek v4.1 Flash. Each skill declares metadata.modelTier
(small, medium, or big). The eval maps those tiers to Qwen3.8 27B,
DeepSeek v4.1 Flash, and Qwen3.8 Max. A skill may also declare metadata.role
(entry or helper) when its caller continues after it loads. A helper runs on at
most its caller's tier, so a skill never loads a helper of a higher tier;
tools/validate_catalog.py enforces it.
As for agent harnesses, we tested them with Claude Code, OpenCode, Cursor, and GitHub Copilot and found no significant difference in terms of skill invocation.
Install
You can install the skills using the skore CLI that you can install from PyPI or from
conda-forge and run the following command.
First install skore-cli:
# with pip
pip install skore-cli
# with uv
uv tool install skore-cli
# with pixi
pixi global install skore-cli
Then run the following command:
skore skills install
Install a smaller workflow pack by id when you do not need the full companion:
skore skills install setup # workspace, environment, git, export
skore skills install data_analysis # data exploration
skore skills install model # frame, build, smoke-test, evaluate, audit
skore skills install loop # triage, explore, model, review, backlog, export
skore skills install export # notebooks and documentation site
skore skills install ml-experimentation remains the complete pack,
containing every active skill. The default install / install all
behavior is unchanged.
You can use uvx or pixi exec to install the skore CLI and directly run the
command in an isolated environment:
uvx --from skore-cli skore skills install
or
pixi exec --spec skore-cli skore skills install
If you prefer npx, then you can use:
npx skills add probabl-ai/skore-skills
Alternative — Claude Code plugin marketplace
If you only use Claude Code and prefer the native plugin flow, this repo is also a Claude Code plugin marketplace:
/plugin marketplace add probabl-ai/skore-skills
/plugin install probabl-skills@probabl-skills
/plugin update pulls new releases.
Skills in detail
Meta and setup actions
| Skill | Description |
|---|---|
| triage-ml-task | Session owner: list installed entry skills and ask which to run. |
| review-ml-choices | Show stored project choices and re-enter the skill that can change one. |
| review-ml-experiment | Read the stored report, then write one idea file and one Ideas row per candidate. |
| setup-ml-project | Ask only the setup pieces that are not already recorded. When Git is selected, commit the current files before setup writes only if that check finds files to preserve. |
| setup-workspace | Detect or scaffold the standard ML workspace layout. |
| setup-python-env | Detect the env manager and bootstrap the runtime, agent-tools, and composed development environments. |
| setup-git | Initialize safe version control, including an optional commit of the tree before setup changes it. |
| persist-ml-git | Commit the current loop stage when git end-turn says invoke. |
| model-ml-pipeline | Require locked problem framing, write the first baseline design note for approval, then coordinate later choices, build, smoke testing, evaluation, and audit. |
| export-ml-project | Coordinate executed notebooks and an offline MkDocs site. |
| sync-ml-reports | Copy skore reports between local, Hub, and MLflow, and optionally switch the upload destination. |
ML pipeline lifecycle
| Skill | Description |
|---|---|
| explore-ml-data | Explore the dataset before designing any model. |
| frame-ml-problem | Record the problem, deployment setting, metric, baseline, and fold count before any model code. |
| research-ml-practice | Literature research for an ML methodology concern. |
| build-ml-pipeline | Declare a skrub DataOps graph from the data source to the predictor after framing is locked. |
| evaluate-ml-pipeline | Evaluate one sklearn-compatible learner with the locked validation scheme and persist structured skore reports. |
| smoke-test-ml-pipeline | Structural pytest: prediction count must match the predict-grid row count. |
| audit-ml-pipeline | Audit a persisted skore report read-only and produce a reusable digest. |
Ideas and backlog
| Skill | Description |
|---|---|
| manage-ml-backlog | Record experiment outcomes and triage idea files. A promoted idea moves from the Ideas table into a Backlog row. |
| shape-user-idea | Shape a user idea or a named artifact into one idea file and one Ideas row after they confirm. |
| search-ml-literature | Search scientific and technical sources and write one idea file and one Ideas row for the direction the user confirms. |
Workspace and tooling
| Skill | Description |
|---|---|
| add-python-package | Add a dependency through the project env manager, or ask the user when the environment is user-managed. |
| choose-python-library | Resolve a library choice and add the selected dependency. |
| plot-ml-figure | Pick pandas, seaborn, plotly, or matplotlib before writing figure code. |
| export-ml-notebook | Write a jupytext percent file out as a notebook with empty outputs. |
| export-ml-site | Package workspace markdown and existing notebook HTML into an offline MkDocs site. |
Canonical package policy lives in the CLI; print it with python -m skore_skills env stack. choose-python-library resolves competing libraries.
When executed notebooks or the documentation site are enabled in a workspace, workflow stages publish them at completed checkpoints before the next user decision. Python percent files execute once: that run can write the notebook, optional notebook HTML, and audit digest together. Site checkpoints rebuild only when Markdown, notebook viewers, figures, or result viewers changed. Unset or disabled notebook/site policies do not enable these artifacts automatically.
Compatibility and removed skills
The catalog temporarily retains two deprecated compatibility skills. They are not included in workflow packs:
| Deprecated skill | Replacement |
|---|---|
| organize-ml-workspace | Use setup-workspace. |
| data-science-python-stack | Use choose-python-library and the canonical package policy. |
Catalog ids python-env-manager and python-code-style have been removed. Run
skore skills remove on any leftover sidecars and reinstall the setup pack.
Website
The catalog page lives in site/ and is published at
https://probabl-ai.github.io/skore-skills/.
Build it with the site Pixi environment, which provides Node.js:
pixi run -e site site-build
Pull requests that change site/, .catalog.json, or the Pixi manifest build
the site in CI. GitHub Pages builds it from main when those same paths change.
A repo admin turns this on once: Settings → Pages → Source GitHub Actions.
If Pages is enabled after that workflow is already on main, run the Pages
workflow with Run workflow. Catalog edits still go through pixi run check.
Metadata
Release files for skore-skills 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| skore_skills-0.8.0.tar.gz | 1.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| skore_skills-0.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.3 MB
Release files / skore_skills-0.8.0.tar.gz
| Download URL | skore_skills-0.8.0.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
85246bc14e74de2d78d3b9430cfb73ee53028c5ef1714ef690f2df1ed2643c01
|
|
BLAKE2b-256 checksum How to use checksums |
4ea9ca02f44688670d87188eda31942dd1af95337ea3377afd7546c1f2532706
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency logRelease files / skore_skills-0.8.0-py3-none-any.whl
| Download URL | skore_skills-0.8.0-py3-none-any.whl |
|---|---|
| Size | 1.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4ffa4f3148b88328cf37215d518ae4de6d7ea44012004f6334ad58d0eec43053
|
|
BLAKE2b-256 checksum How to use checksums |
6ffb5c7104dbe12d1247d6a0fe468fef62289c3f583a24eb9b62955c1d01afb2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency log