Install and manage global Python CLI tools with uv (pipx alternative). Covers uv tool install, uvx for ephemeral execution, tool isolation, and updates. Use when user mentions uv tool, uvx, installing CLI tools globally, pipx replacement, or running Python tools without installation.
/plugin marketplace add laurigates/claude-plugins/plugin install python-plugin@lgates-claude-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
REFERENCE.mdQuick reference for installing and managing global Python tools with UV (pipx alternative).
# Install tool globally
uv tool install ruff
uv tool install black
uv tool install pytest
# Install specific version
uv tool install ruff@0.1.0
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 ruff@0.1.0 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 mypy
# 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 mypy
uv tool install pytest
uv tool install ipython
# Now available in any project
ruff check .
mypy 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, mypy, blackuv cache dir to find cache locationThis skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.