From core
Use when installing Python packages, creating virtual environments, managing Python dependencies, or setting up Python projects. Triggers on: pip, pip3, python -m pip, python -m venv, pipx, easy_install, "add dependency", "install package", "set up Python project".
npx claudepluginhub lachtan/nicecode --plugin coreThis skill uses the workspace's default tool permissions.
**Always use `uv` for all Python package and environment operations.** Never use `pip`, `pip3`, `python -m pip`, `python -m venv`, `pipx`, or `easy_install`.
Manages Python virtual environments and dependencies with uv (10-100x faster than pip): creates venvs, installs packages, syncs pyproject.toml/requirements.txt, runs scripts, troubleshoots issues.
Manages Python projects with uv: initializes projects, creates venvs, adds/removes dependencies, syncs from uv.lock, and runs commands in the project environment.
Guides uv for Python: init projects, add/sync deps, manage venvs/interpreters, resolve conflicts, generate lockfiles. Use for fast setups, pip/poetry migrations, CI/Docker optimization.
Share bugs, ideas, or general feedback.
Always use uv for all Python package and environment operations. Never use pip, pip3, python -m pip, python -m venv, pipx, or easy_install.
Any of these in your command means you are violating this rule:
pip installpip3 installpython -m pippython -m venvpython -m ensurepippipxeasy_installpip freezepip uninstallpip list| Situation | Command |
|---|---|
Add a project dependency (recorded in pyproject.toml) | uv add X |
| Install ad-hoc package in venv (not recorded) | uv pip install X |
Install all project dependencies from pyproject.toml | uv sync |
Install from requirements.txt | uv pip install -r requirements.txt |
| Create a virtual environment | uv venv |
| Run a CLI tool without installing | uvx X (or uv tool run X) |
| Install a CLI tool globally | uv tool install X |
| List installed packages | uv pip list |
| Freeze installed packages | uv pip freeze |
| Uninstall a package | uv pip uninstall X |
Key distinction: uv add writes to pyproject.toml — use it for project dependencies. uv pip install only installs into the venv — use it for temporary/ad-hoc needs.
| Instead of | Use |
|---|---|
pip install X | uv add X (project dep) or uv pip install X (ad-hoc) |
pip install -r requirements.txt | uv pip install -r requirements.txt |
pip install -e . | uv sync |
pip freeze | uv pip freeze |
pip list | uv pip list |
pip uninstall X | uv pip uninstall X |
python -m venv .venv | uv venv |
pipx install X | uv tool install X |
pipx run X | uvx X |
If you are about to type any of these, STOP:
pip anywhere in a shell commandpython -m pippython -m venvpipxeasy_installrequirements.txt by hand instead of using uv add| Excuse | Reality |
|---|---|
| "pip is simpler for one package" | uv pip install X is the same number of words. Use it. |
| "The docs say pip install" | Translate to uv equivalent. Always. |
| "I need a venv first" | uv venv creates one. Then uv pip install. |
| "uv doesn't support this flag" | It almost certainly does. Check uv --help. |
| "It's just a quick test" | Rules don't have exceptions for "quick". |