agentleFS
probabl-aiprobabl-ai/skore-skills/skills/setup-python-env/SKILL.md

setup-python-env

Skill144 starsChanged 17 days agoBSD-3-ClauseView on GitHub

Detect the env manager and bootstrap the runtime, agent-tools, and composed development environments. Detect with `python -m skore_skills env detect`, persist the manager and `env.managed`, then `env init --manager`, `env sync --execute`, install Skore for a recorded hub or mlflow destination (plain Skore when unset or local), and `env verify --execute`. Does not add other stage ML libraries.

  • Pipes a download into a shell
  • Reads credentials

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

11 rules. About 0 are common, 1 is distinctive, and 10 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 10

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Ask which manager to use and whether we manage the env in plain language.

    line 36
  2. Very specific:

    Run env detect and status first.

    line 42
  3. Distinctive:

    Do not write the catalog id.

    line 66
  4. Very specific:

    When setup-ml-project dispatched this turn, skip each question on its own.

    line 71
  5. Very specific:

    Do not pass --mode. Omitting it installs for a recorded hub or mlflow destination, and plain Skore otherwise.

    line 100
  6. Very specific:

    If the selected manager is pixi and pixi.toml already exists, skip env init.

    line 103
  7. Very specific:

    Do not hand-edit TOML. Do not run pixi init.

    line 108
  8. Very specific:

    Do not pass --mode local. If verify reports missing skore or skore_skills, rerun env add-skore --execute the same way.

    line 112
  9. Very specific:

    If verify reports missing skore or skore_skills, rerun env add-skore --execute the same way.

    line 113
  10. Very specific:

    If add-python-package is not installed, name ruff / ipython / ipykernel and stop.

    line 118
  11. Very specific:

    When dispatched by setup-ml-project, return to that caller after verification.

    line 123

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Set Up Python Environment

Bootstrap only. Direct packages this turn: ruff, ipython, ipykernel, and plain skore. Skore supplies skore-skills as a mandatory dependency. Other stage libraries go through add-python-package.

Human-facing prose

Details: setup-workspace references/human_facing_prose.md. Ask which manager to use and whether we manage the env in plain language. Do not name G-ENV-MGR, skill ids, or the wrapper CLI to the user. Do not mention skore-skills.

Lookup

Run env detect and status first. Take the first row that matches, then run Sequence steps 3–6 only where the row says ask or continue. Do not stop after reading the table.

Callerpolicy.env_managerpolicy.env.managedManager questionManaged question
dispatchedsettrue or falseskipskip
dispatchedsetnullskipask
dispatchedunsettrue or falseask when detect is none, ambiguous, or mismatchskip
dispatchedunsetnullask when detect is none, ambiguous, or mismatchask
standaloneanyanyask when detect is none, ambiguous, or mismatchask

A standalone turn still asks when a manager is only recorded and nothing is on disk yet (env_manager is "none"). After the questions this row allows: env.managed false stops at step 5; true runs step 6 (env init, env sync, env add-skore with no --mode, env verify).

Not this skill

A request to add a package outside ruff, ipython, ipykernel, and plain skore is not bootstrap. Do not env init and do not pixi add. Hand that package to the package-install step and stop. The close names the package and that step in plain language. Do not write the catalog id.

Sequence

  1. python -m skore_skills env detect and status.
  2. When setup-ml-project dispatched this turn, skip each question on its own. policy.env_manager set → do not ask which manager. policy.env.managed true or false → do not ask whether we manage the env. A recorded manager with env.managed still null still asks that one question. A recorded env.managed with no policy.env_manager does not reopen the managed question. A standalone request still asks, including when a manager is only recorded and nothing is on disk yet (env_manager is "none").
  3. G-ENV-MGR. Skip when step 2 skipped it. Otherwise read the JSON fields, not sentinel strings: ask when env_manager is "none", ambiguous is true, or mismatch is true. Use recommended as the ask order. PATH is not permission. Do not curl | sh.
  4. Skip when step 2 skipped it. Otherwise ask whether we manage the env (default yes). Persist python -m skore_skills policy set env.managed true or false.
  5. Unmanaged: stop. Name ruff / ipython / ipykernel / skore; do not init. Do not mention skore-skills to the user.
  6. Managed: policy set env_manager <manager> when it is not already recorded, then

    python -m skore_skills env init --manager <manager>
    python -m skore_skills env sync --execute
    python -m skore_skills env add-skore --execute
    python -m skore_skills env verify --execute

    Do not pass --mode. Omitting it installs for a recorded hub or mlflow destination, and plain Skore otherwise.

    If the selected manager is pixi and pixi.toml already exists, skip env init; preserve that manifest and continue with env sync --execute. Never replace it or try to add [tool.pixi] to pyproject.toml.

    Do not hand-edit TOML. Do not run pixi init. Do not create src/. Do not ask where reports go. Plain Skore is the early install when no destination is recorded; add-python-package upgrades it for Hub or MLflow after that choice is recorded. Do not pass --mode local. If verify reports missing skore or skore_skills, rerun env add-skore --execute the same way; never add skore-skills directly. If verify reports missing agent tools, load add-python-package for ruff / ipython / ipykernel (agent feature) when that skill is installed, not a second env init. If add-python-package is not installed, name ruff / ipython / ipykernel and stop.

Return and close

When dispatched by setup-ml-project, return to that caller after verification. Standalone, run python -m skore_skills git end-turn --stage setup. If JSON action is invoke, load persist-ml-git only if status.skills.persist-ml-git is true and stop; that skill returns to triage. If persist is missing, name the pending staged paths and stop. Otherwise load triage-ml-task only if status.skills.triage-ml-task is true; else stop.

Three environments

Agent context only; do not narrate skore-skills to the user.

  • default — project runtime; bootstrap installs plain skore, which supplies skore-skills, when the report destination is unset or local. A recorded hub or mlflow destination uses that install instead.
  • agent — ruff, ipython, ipykernel.
  • dev — default + agent. Every later python -m skore_skills command uses this composed environment; env verify --execute must pass before other skills run.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.