Conda Project Environment Manager
Use this skill when the repo needs one stable helper for managing Python/conda environments across scripts, research utilities, and infrastructure workflows.
When to use
Use this skill when:
- the project needs to know which
condainstallations and envs are available, - a workflow needs a reproducible env choice for scripts such as model fitting, PDF processing, or slide generation,
- packages are missing from the default shell Python and the project should standardize
conda run -n ...instead of ad hoc shell state, - multiple conda roots (
miniconda,anaconda) coexist and env provenance is becoming confusing, - env drift, missing packages, or conflicting Python roots are blocking project work.
Scope boundary
This skill owns:
- project-level conda env discovery and reporting,
- explicit env-selection guidance for scripts and workflows,
- package-availability checks for target envs,
- environment snapshot artifacts for later maintenance or debugging,
- minimal reproducibility guidance for
conda run -n ...use in this repo.
It does not own:
- workflow routing or workflow ownership,
- domain experiment conclusions,
- arbitrary package installation policy for unrelated user machines,
- replacing system package managers outside project needs.
Preferred usage pattern
- discover conda roots and envs,
- record package availability in a snapshot artifact,
- choose one explicit env per workflow/tool family,
- call scripts through
conda run -n <env> ...when reproducibility matters, - update the snapshot when environments change materially.
Expected outputs
Typical outputs include:
*.envs.tsv*.summary.md- a short recommendation on which env should back which script family
- maintenance-log or KB refresh only when the environment contract changes materially
Hard rules
- Do not rely on accidental shell activation as the default reproducibility mechanism.
- Prefer explicit
conda run -n <env>when a script depends on non-system packages. - Keep the number of project-preferred envs small; do not create a new env for every one-off task.
- Record when both
minicondaandanacondaroots coexist so future users do not guess which one is active.
Operational references
- Load
references/background-knowledge-links.mdfor the current environment topology and project conventions. - Load
references/update-mechanism.mdwhen environment structure or preferred env ownership changes. - Use
scripts/common/conda_project_env_report.pyto generate the canonical snapshot before recommending a new env binding.