← ClaudeAtlas

dependency-archaeologylisted

Resolve dependency conflicts and make project environments reproducible by discovering existing Docker, Conda, pip, uv, Poetry, PDM, npm/yarn/pnpm, or other environment/dependency files; pin exact package versions; regenerate or verify lockfiles; protect git-untracked environment/code changes by warning and asking before editing them; and ask the user before creating a new environment specification when none exists. Use when Codex is asked to fight local environment problems, investigate dependency history, fix dependency installation failures, pin versions, repair broken lockfiles, or make setup repeatable across machines, containers, or CI.
PRO-2684/skills · ★ 0 · DevOps & Infrastructure · score 60
Install: claude install-skill PRO-2684/skills
# Dependency Archaeology ## Policies - Black magic = error-prone monkey patches, e.g. `numpy.float = float` for old packages on new NumPy. Use only when pins, downgrades, patches, or replacements cannot work. - If black magic is unavoidable, make it reproducible and git-tracked via Dockerfile, script, patch file, or documentation as last resort. Never leave it as manual local state or untracked virtualenv mutation. ## Workflow 1. Inventory the repository before changing anything. - Search for environment files with `rg --files`, including: `Dockerfile`, `docker-compose*.yml`, `compose*.yaml`, `.devcontainer/*`, `environment.yml`, `environment.yaml`, `conda-lock.yml`, `requirements*.txt`, `constraints*.txt`, `pyproject.toml`, `uv.lock`, `poetry.lock`, `pdm.lock`, `Pipfile`, `Pipfile.lock`, `setup.py`, `setup.cfg`, `package.json`, `package-lock.json`, `npm-shrinkwrap.json`, `yarn.lock`, `pnpm-lock.yaml`, `Gemfile`, `Gemfile.lock`, `go.mod`, `go.sum`, `Cargo.toml`, `Cargo.lock`, `renv.lock`, `DESCRIPTION`, `Makefile`, CI config, and README setup sections. - Identify the canonical environment source. Prefer the lockfile plus its manifest when both exist; otherwise prefer the file documented by README/CI/devcontainer. - Note tool versions when encoded in files, such as Python, Node, CUDA, Conda, base Docker image tags, package manager versions, or `.tool-versions`. - Check `git status --short` and whether candidate