Agent skill

Add Python Package

by probabl-ai in probabl-ai/skills

Add a Python dependency through the project env manager, or ask the user to install it when env.managed is false.

BSD-3-ClauseAuto-check passedData & Analytics

Install Add Python Package

skills CLI
$ npx skills add probabl-ai/skills --skill add-python-package -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install probabl-ai/skills add-python-package --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/probabl-ai/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/add-python-package .claude/skills/add-python-package && rm -rf skills-src

Use ~/.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/

Facts

Skill name
add-python-package
GitHub stars
135
Token cost
~1.8k tokens
SKILL.md length
808 words
Files
3 (incl. references)
Skills in repo
23
Repo updated
First seen
Licence
BSD-3-Clause

At a glance

Add a Python dependency through the project env manager, or ask the user to install it when env.managed is false.

  • Works in 9 steps: python -m skore_skills status and env… → If policy.env.managed is null: env is… → Classify this turn before adding anything → …
  • A workflow needs a missing import
  • SKILL.md covers Human-facing prose, Pre-flight, Sequence and References
  • Calls python, uv and pip

What it does

Add Python Package is an agent skill from probabl-ai/skills. Add a Python dependency through the project env manager, or ask the user to install it when env.managed is false. Trigger when a workflow needs a missing import, after choose-python-library picks a library, or for editable install of src/<pkg/. SKIP choosing between competing libraries (choose-python-library owns that). SKIP bootstrapping a missing manager directly (setup-python-env). When env.managed is null, load setup-ml-project if it is installed. HOW TO USE: read status.policy.env.managed, env detect, and…

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `evals/evals.json` and `references/skore_variant.md`).

It sits in Data & Analytics. It works with Python. The repository describes itself as: Tabular Data Science Skills for guardrailing AI Agents. The licence is BSD-3-Clause.

When your agent uses it

  • A workflow needs a missing import
  • After choose-python-library picks a library
  • For editable install of src/<pkg/

Example prompts

  • “/add-python-package”

Requirements

  • Python 3

Workflow steps

9 steps, taken from the first numbered list in SKILL.md.

  1. python -m skore_skills status and env detect.
  2. If policy.env.managed is null: env is unresolved. If
  3. Classify this turn before adding anything
  4. If managed is false and setup-ml-project dispatched this
  5. If managed is false on a standalone turn: do not
  6. If this turn is editable and has_src is true
  7. If the package is Skore, read the persisted policy.skore_mode
  8. Else python -m skore_skills env route . Use only the
  9. If this turn is skrub, Graphviz is required for DataOp HTML

What it can do on your machine

Read from SKILL.md and the folder at commit 5edc7a4. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • python
    • uv
    • pip

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use uv and pip, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Add Python Package loads about 1.8k tokens when it runs, and up to ~2.2k if it reads all its reference files. Until then it costs about 238 tokens; SKILL.md has 808 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~238
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.2k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from probabl-ai/skills at commit 5edc7a4, republished under its BSD-3-Clause licence (© probabl-ai). 808 words, ~1,781 tokens.

Download SKILL.mdSave it as .claude/skills/add-python-package/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
add-python-package
description
Add a Python dependency through the project env manager, or ask the user to install it when env.managed is false. Trigger when a workflow needs a missing import, after choose-python-library picks a library, or for editable install of src/<pkg>/. SKIP choosing between competing libraries (choose-python-library owns that). SKIP bootstrapping a missing manager directly (setup-python-env). When env.managed is null, load setup-ml-project if it is installed. HOW TO USE: read status.policy.env.managed, env detect, and env route. Classify this turn first (editable | add-skore | named package). If managed is null, load setup-ml-project and stop. If managed, env add --execute (or --editable). If unmanaged, ask; default is the user handles it — do not wait. When setup-ml-project already chose user-managed this turn, name the package and the manager, then return. Do not ask and do not wait. Never --execute while managed is false.

Add Python Package

The only skill that knows python -m skore_skills env add. Callers must not splice manager commands themselves.

Human-facing prose

Details: setup-workspace references/human_facing_prose.md. Run python -m skore_skills … yourself. In questions and replies, show the manager command from print-only stdout (pixi add …, uv add …, pip install …) or a plain-language intent. Never paste python -m skore_skills, env add, env add-skore, or --feature / --group as something the user should run or choose. Never paste env graphviz either; quote that command's instructions or printed manager line.

Pre-flight

Tick, then immediately run the matching sequence step. Do not stop after listing the boxes.

- [ ] status + env detect
- [ ] env.managed: null and setup-ml-project installed → load it and stop | null → say unresolved and stop | false and setup already chose unmanaged → name package and manager, return | false → ask, no --execute | true → continue
- [ ] classify: editable | add-skore | env route then env add
- [ ] skrub → env graphviz (execute conda/`dot -c` when allowed)

Sequence

  1. python -m skore_skills status and env detect.

  2. If policy.env.managed is null: env is unresolved. If status.skills.setup-ml-project is true, load setup-ml-project and stop. Do not ask whether to set up an environment. Do not load setup-python-env. If that skill is not installed, say the environment is unresolved and stop. Do not bootstrap here.

  3. Classify this turn before adding anything:

    • Editable only if the user asked to install the workspace package, or setup-ml-project selected that box. has_src true is not enough.
    • Skore if the package is Skore.
    • Named package otherwise (skrub, pandas, …). Never --editable for a named dependency.
  4. If managed is false and setup-ml-project dispatched this turn: the opening question already chose user-managed. Name the package and the manager in words, then return. Do not run env add — print-only refuses while managed is false. Do not invent pixi add / uv add / pip install. Do not ask. Do not wait. Do not say the turn continues after the user confirms. Stop this sequence. Do not continue at step 5 or step 6.

  5. If managed is false on a standalone turn: do not --execute. Run print-only env add (or env add --editable, or env add-skore --mode <mode>) to obtain the manager line. Every ask in this skill carries its context inline: name the package(s), the manager and env the command would touch, and what each option does. Do not name the calling skill. A file link is an addition, never the context. Ask with two options:

    1. I will handle it (default) — name the package(s) and show that stdout (e.g. pixi add pandas). Do not wait; return.
    2. Please install this now — show the same manager line, wait until the user confirms it is done, then return.

    Show exactly one manager command. Do not list agent extras, optional extras, ask, or refuse unless env route JSON this turn returned that scope. If print-only did not run, name the package and the manager in words. Do not invent a wrapper command.

  6. If this turn is editable and has_src is true:

    bash
    python -m skore_skills env add --editable --execute

    Never pip install -e . in a pixi project. If has_src is false, stop. Name setup-workspace only if it is installed.

  7. If the package is Skore, read the persisted policy.skore_mode and run:

    bash
    python -m skore_skills env add-skore --mode <mode> --execute

    If the mode is unset, return to evaluate-ml-pipeline. Do not spell skore[...] or pick conda vs PyPI yourself. See add-python-package/references/skore_variant.md.

  8. Else python -m skore_skills env route <pkg>. Use only the scope returned this turn. Do not list other branches. Do not guess default.

    • No JSON this turn → name env route <pkg> and stop. Do not env add --execute.
    • refuse → stop. Quote message. Do not install.
    • default → env add --execute <pkg>
    • agent → env add --feature agent --execute <pkg>
    • ask → G-ENV-SCOPE: ask project runtime vs a named optional extra / agent tools. Map the answer to --feature / --group privately, then env add with that flag.

    When managed is true and scope is not refuse, pass --execute on that one command. Never paste pixi add / uv add / pip install from memory.

  9. If this turn is skrub, Graphviz is required for DataOp HTML graphs. An already-importable skrub still runs this step. Do not return before it because import skrub succeeds. After the add, run python -m skore_skills env graphviz. Then:

    • dot is set, or action is conda and managed → python -m skore_skills env graphviz --execute (installs conda Graphviz when needed, then always dot -c in the composed env).
    • action is system and dot is null → AskUserQuestion with two options, quoting JSON instructions only:
      1. I will install Graphviz (default) — do not wait; return.
      2. Please wait until I confirm — wait, then re-run env graphviz --execute so dot -c still runs.
    • Unmanaged → do not --execute. Show command (conda) or instructions (system) from print-only JSON.

    Never invent brew / apt / winget / dot -c from memory. Do not pip-install Graphviz or add it as a Python package on uv / poetry / hatch / pip-venv. Refuse that in prose; do not paste env add graphviz or uv add graphviz as a command fence.

Show full SKILL.md (41 more words)Show less

Return when the import is available, when the user confirmed they installed it, when they chose to handle it themselves, or when this setup turn already chose user-managed and the package was named. That last return does not wait.

References

  • references/skore_variant.md

© 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

Files

SKILL.md and 2 other files (references) in skills/add-python-package of probabl-ai/skills.

  • SKILL.md
  • evals/evals.json
  • references/skore_variant.md

Open the folder on GitHubat commit 5edc7a4

Compare with similar skills

Add Python Package 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.

Add Python Package compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Add Python Package this skillprobabl-ai/skills135—~1.8kAutomated safety check: PassBSD-3-Clause
Scikit LearnzLanqing/codex-claude-academic-skills4.6k17 repos~3.9kAutomated safety check: PassBSD-3-Clause
TimesFM Forecastinggoogle-research/timesfm34k—~4.7kAutomated safety check: PassApache-2.0
Excel and CSV Data Analysisbytedance/deer-flow83k4 repos~2.2kAutomated safety check: PassMIT
StatsmodelszLanqing/codex-claude-academic-skills4.6k16 repos~4.9kAutomated safety check: PassBSD-3-Clause
Scientific Figure MakingChenLiu-1996/figures4papers8.1k—~557Automated safety check: PassCustom licence

Similar skills

  • Scikit Learn

    zLanqing/codex-claude-academic-skills

    Machine learning in Python with scikit-learn. An agent skill from zLanqing/codex-claude-academic-skills.

    4.6k GitHub starsUsed in 17 repos~3.9k tokens
    Data & AnalyticsAuto-check passed
  • TimesFM Forecasting

    google-research/timesfm

    Forecasts any univariate time series zero-shot with Google's TimesFM model, returning point forecasts and calibrated prediction intervals without training.

    34k GitHub stars~4.7k tokensUpdated 7 days ago
    Data & AnalyticsAuto-check passed
  • Excel and CSV Data Analysis

    bytedance/deer-flow

    Analyzes uploaded Excel and CSV files with SQL through DuckDB, producing schema inspections, statistical summaries and exports to CSV, JSON or Markdown.

    83k GitHub starsUsed in 4 repos~2.2k tokens
    Data & AnalyticsAuto-check passed
  • Statsmodels

    zLanqing/codex-claude-academic-skills

    Statistical models library for Python. An agent skill from zLanqing/codex-claude-academic-skills.

    4.6k GitHub starsUsed in 16 repos~4.9k tokens
    Data & AnalyticsAuto-check passed
  • Scientific Figure Making

    ChenLiu-1996/figures4papers

    Covers publication-ready matplotlib figures for academic papers, slides, and reports—bars, trends, scatter, heatmaps, and multi-panel layouts—with this…

    8.1k GitHub stars~557 tokensUpdated yesterday
    Data & AnalyticsAuto-check passed
  • Diagnose and fix ModuleNotFoundError in Nuitka standalone binaries caused by missing implicit imports.

    15k GitHub stars~519 tokensUpdated today
    Data & AnalyticsAuto-check passed

More from probabl-ai/skills

All 23 skills in this repo
  • Build ML Pipeline

    probabl-ai/skills

    Declare the pipeline from data source to predictor as a skrub DataOps graph.

    135 GitHub stars~4k tokensUpdated today
    Auto-check passed
  • Evaluate ML Pipeline

    probabl-ai/skills

    Evaluate one learner with skore.evaluate. An agent skill from probabl-ai/skills.

    135 GitHub stars~4.2k tokensUpdated today
    Auto-check passed
  • Setup Workspace

    probabl-ai/skills

    Detect an existing ML workspace or scaffold a fresh one via python -m skoreskills scaffold --package <pkg.

    135 GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Audit ML Pipeline

    probabl-ai/skills

    Read-only audit of one persisted skore report: audit/NN<stem.py (jupytext percent), 1:1 with experiments/ and journal/.

    135 GitHub stars~9.5k tokensUpdated today
    Auto-check passed
  • Explore ML Data

    probabl-ai/skills

    Owns data understanding before any model is designed. An agent skill from probabl-ai/skills.

    135 GitHub stars~5.7k tokensUpdated today
    Auto-check passed
  • Export ML Notebook

    probabl-ai/skills

    Convert a jupytext percent %% Python file into an executed .ipynb with cell outputs.

    135 GitHub stars~1k tokensUpdated today
    Auto-check passed

Works with

Questions about Add Python Package

What does Add Python Package do?

Add a Python dependency through the project env manager, or ask the user to install it when env.managed is false. Add Python Package is an agent skill from probabl-ai/skills.managed is false.

When should I use Add Python Package?

Add Python Package fits situations like: A workflow needs a missing import; after choose-python-library picks a library; for editable install of src/<pkg/.

How do I install Add Python Package in Claude Code?

Run `npx skills add probabl-ai/skills --skill add-python-package -a claude-code`. Or copy the skill folder (skills/add-python-package in probabl-ai/skills) into .claude/skills/add-python-package in your project. Claude Code loads it when a task matches its description.

How do I install Add Python Package in Codex?

Run `npx skills add probabl-ai/skills --skill add-python-package -a codex`. Or copy the skill folder (skills/add-python-package in probabl-ai/skills) into .agents/skills/add-python-package in your project. Codex loads it when a task matches its description.

Can I use Add Python Package in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add probabl-ai/skills --skill add-python-package -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-python-package, .gemini/skills/add-python-package, .github/skills/add-python-package and .opencode/skills/add-python-package in your project.

What does Add Python Package need to run?

Going by SKILL.md and its folder, Add Python Package needs the command-line tools its instructions call (python, uv and pip). Our summary lists: Python 3.

Does Add Python Package access the network?

SKILL.md contains no URLs. Its commands use uv and pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Add Python Package safe to install?

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.

What licence does Add Python Package use?

Add Python Package 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.

How many tokens does Add Python Package use?

About 1.8k tokens (SKILL.md is roughly 7.1k 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 374 tokens, read only when the agent opens those files.

What are the alternatives to Add Python Package?

Skills that share tags, products or a category with Add Python Package: Scikit Learn (zLanqing/codex-claude-academic-skills, 4.6k stars), TimesFM Forecasting (google-research/timesfm, 34k stars), Excel and CSV Data Analysis (bytedance/deer-flow, 83k stars) and Statsmodels (zLanqing/codex-claude-academic-skills, 4.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Add Python Package?

probabl-ai (a GitHub organization) maintains it in probabl-ai/skills, which has 135 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 6, 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.