python-plugin/skills/uv-tool-management/SKILL.md
Install and manage global Python CLI tools with uv (pipx alternative). Use when the user mentions uv tool, uvx, installing CLI tools globally, or pipx replacement.
npx skillsauth add laurigates/claude-plugins uv-tool-managementInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Quick reference for installing and managing global Python tools with UV (pipx alternative).
| Use this skill when... | Use a focused sibling instead when... |
|---|---|
| Installing a global CLI tool (ruff, black, ipython) with uv tool install as a pipx replacement | Running a project script inside its venv — use uv-run |
| Running a one-off CLI invocation via uvx tool without installing | Adding the tool as a project dev dependency — use uv-project-management |
| Listing, upgrading, or uninstalling globally installed tools | Pinning the Python version a tool runs on — use uv-python-versions |
# Install tool globally
uv tool install ruff
uv tool install black
uv tool install pytest
# Install specific version
uv tool install [email protected]
uv tool install 'pytest>=7.0'
# Install from Git
uv tool install git+https://github.com/astral-sh/ruff
# Install with extras
uv tool install 'mkdocs[i18n]'
uv tool install 'fastapi[all]'
# Run without installing (ephemeral)
uvx pycowsay "hello world"
uvx ruff check .
uvx black --check .
# uvx is alias for:
uv tool run pycowsay "hello world"
# Run with specific version
uvx [email protected] check .
# Run from Git
uvx git+https://github.com/user/tool script.py
# List installed tools
uv tool list
# Update tool
uv tool install ruff --reinstall
uv tool upgrade ruff
# Remove tool
uv tool uninstall ruff
# Remove all tools
uv tool uninstall --all
# Check tool version
ruff --version
# List tool binaries
uv tool list --verbose
# Show tool location
which ruff
# ~/.local/bin/ruff (Linux)
# ~/Library/Application Support/uv/bin/ruff (macOS)
These commands are equivalent:
uvx ruff check .
uv tool run ruff check .
uvx is a convenient shorthand for ephemeral tool execution.
# Linux
~/.local/share/uv/tools/
# macOS
~/Library/Application Support/uv/tools/
# Windows
%LOCALAPPDATA%\uv\tools\
# Linux
~/.local/bin/
# macOS
~/Library/Application Support/uv/bin/
# Windows
%LOCALAPPDATA%\uv\bin\
Add to PATH:
# Add to ~/.bashrc or ~/.zshrc
export PATH="$HOME/.local/bin:$PATH"
# Code quality
uv tool install ruff
uv tool install black
uv tool install ty
# Documentation
uv tool install mkdocs
uv tool install sphinx
# Testing
uv tool install pytest
uv tool install tox
# Build tools
uv tool install build
uv tool install twine
# Utilities
uv tool install httpie
uv tool install pipx
uv tool install cookiecutter
Use uv tool for:
Use uv add for:
# Global tool (any project)
uv tool install ruff
# Project dependency (one project)
uv add --dev ruff
Each tool gets its own virtual environment:
# Each tool is isolated
~/.local/share/uv/tools/
├── ruff/ # Isolated environment for ruff
├── black/ # Isolated environment for black
└── pytest/ # Isolated environment for pytest
# No dependency conflicts between tools
# Install common development tools globally
uv tool install ruff
uv tool install ty
uv tool install pytest
uv tool install ipython
# Now available in any project
ruff check .
ty check src/
pytest
ipython
# Run without installing
uvx pycowsay "Temporary tool!"
uvx httpie https://api.github.com
# No cleanup needed
# Old (pipx)
pipx install black
pipx run pycowsay "hello"
# New (uv)
uv tool install black
uvx pycowsay "hello"
uv-project-management - Project-specific dependenciesuv-python-versions - Python versions for toolspython-code-quality - Using ruff, ty, blackuv cache dir to find cache locationdevelopment
Debug HTTP APIs: trace requests, inspect headers. Use when a request fails: check status first.
documentation
Render architecture diagrams from text sources. Use when documenting system topology.
tools
Inspect JSON payloads and extract nested fields. Use when parsing API responses.
tools
--- name: no-description allowed-tools: Read --- # No Description This skill has no description and must be dropped with a warning.