A skill your agent uses when using UV (Python package manager), needs to set up Python virtual environments, install/manage Python CLI tools, migrate from pip/pipx to UV, Python version management…

MITAuto-check: notesAgent Workflows

Install Uv

skills CLI
$ npx skills add archibate/dotfiles-opencode --skill uv -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install archibate/dotfiles-opencode uv --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/archibate/dotfiles-opencode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/uv .claude/skills/uv && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
uv
GitHub stars
108
Token cost
~3.1k tokens
SKILL.md length
1,009 words
Files
28 (incl. references)
Skills in repo
34
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when using UV (Python package manager), needs to set up Python virtual environments, install/manage Python CLI tools, migrate from pip/pipx to UV, Python version management…

  • Works in 4 steps: UV Commands Overview → Tool vs UVX Decision Tree → MCP Server Execution Patterns → …
  • Using UV (Python package manager)
  • SKILL.md covers Overview, Version Awareness, When to Use This Skill and Core Concepts, plus 8 more sections
  • Calls uv, uvx and pip; reaches astral.sh

What it does

Uv is an agent skill from archibate/dotfiles-opencode. Use this skill when using UV (Python package manager), needs to set up Python virtual environments, install/manage Python CLI tools, migrate from pip/pipx to UV, Python version management, or troubleshoot UV-related issues.

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 34 other files, including reference files (for example `.github/workflows/release-skill.yml`, `CLAUDE.md` and `README.md`).

It sits in Agent Workflows, covering MCP servers. It works with Python and Model Context Protocol. The repository describes itself as: Archibate's personal configuration for OpenCode. The licence is MIT.

When your agent uses it

  • Using UV (Python package manager)
  • Needs to set up Python virtual environments
  • Install/manage Python CLI tools
  • Migrate from pip/pipx to UV

Example prompts

  • “/uv”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. UV Commands Overview
  2. Tool vs UVX Decision Tree
  3. MCP Server Execution Patterns
  4. Virtual Environment Management

What it can do on your machine

Read from SKILL.md and the folder at commit 46b6b23. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • uv
    • uvx
    • pip
    • python
    • poetry
    • curl
    • sh
    • black
    • mypy
    • pytest
    • pipx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • astral.sh

    Also links to:

    • github.com
    • docs.astral.sh
    • modelcontextprotocol.io
    • code.visualstudio.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Uv loads about 3.1k tokens when it runs, and up to ~24k if it reads all its reference files. Until then it costs about 57 tokens; SKILL.md has 1,009 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~57
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~24k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePipes a well-known installer script into a shellSKILL.md:39
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
  • NotePipes a well-known installer script into a shellSKILL.md:42
    curl -LsSf https://astral.sh/uv/install.sh | sh

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from archibate/dotfiles-opencode at commit 46b6b23, republished under its MIT licence (© archibate). 1,009 words, ~3,107 tokens.

Download SKILL.mdSave it as .claude/skills/uv/SKILL.md (or your agent's skills folder). This skill also uses 27 other files; get the full folder from GitHub.
name
uv
description
Use this skill when using UV (Python package manager), needs to set up Python virtual environments, install/manage Python CLI tools, migrate from pip/pipx to UV, Python version management, or troubleshoot UV-related issues.

UV - Python Package Manager Skill

Overview

UV is an extremely fast Python package and project manager written in Rust. This skill provides guidance on using UV for Python development, with particular focus on MCP (Model Context Protocol) server integration and modern tool management workflows.

UV replaces multiple tools: pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv, and more - delivering 10-100x faster performance through intelligent caching and parallel operations.

Version Awareness

Recommended Version: UV 0.9.7+ (Latest as of October 2025)

Before starting, check your UV version:

bash
uv --version

Important Version-Specific Changes:

  • UV 0.9.6+: Python 3.14 is now the default (previously 3.13)
  • UV 0.9.6+: Free-threaded Python 3.14+ supported without explicit opt-in
  • UV 0.9.6+: uv build --clear flag available for cleaning build artifacts
  • UV 0.9.7+: Security updates for tar/ZIP archive handling

If your version is older than 0.9.0, upgrade for the best experience:

bash
# Using pip
pip install --upgrade uv

# Or reinstall using official installer
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# Unix/Mac
curl -LsSf https://astral.sh/uv/install.sh | sh

See Recent Changes Reference for detailed version information and migration guidance.

When to Use This Skill

Use this skill when:

  • Setting up Python virtual environments and managing Python versions
  • Installing and managing Python CLI tools (development tools, utilities)
  • Running MCP servers with UVX
  • Deciding between uv tool install vs uvx for package execution
  • Configuring VS Code or other IDEs for MCP server integration
  • Migrating from pip, pipx, or poetry to UV
  • Troubleshooting UV-related issues

Skip this skill when:

  • You need basic Python package installation only (standard pip documentation may suffice)
  • Working with legacy Python 2.x projects

Core Concepts

1. UV Commands Overview

UV provides several commands for different use cases:

CommandPurposeExample
uv pip installInstall packages in current environmentuv pip install requests
uv tool installInstall CLI tools globally with isolationuv tool install black
uvxExecute packages in temporary environmentsuvx mcp-server-sqlite
uv venvCreate virtual environmentsuv venv .venv
uv python installInstall Python versionsuv python install 3.12
2. Tool vs UVX Decision Tree
text
Need to run a Python package?
|
├─ Use daily/frequently?
|  └─ YES → `uv tool install package`
|     Examples: black, pytest, flake8, mypy
|
├─ MCP server?
|  └─ YES → `uvx package` or `uvx --from path script.py`
|     Examples: mcp-server-sqlite, custom MCP servers
|
├─ Testing/one-off execution?
|  └─ YES → `uvx package`
|     Examples: testing new tools, version comparison
|
└─ Local development script?
   └─ YES → `uvx --from . script.py`
      Examples: project-specific scripts
3. MCP Server Execution Patterns

Published Packages (No working directory needed):

json
{
  "servers": {
    "sqlite": {
      "command": "uvx",
      "args": ["mcp-server-sqlite", "--db-path", "/path/to/db"]
    }
  }
}

Local Development (Use --from flag):

json
{
  "servers": {
    "my-server": {
      "command": "uvx",
      "args": [
        "--from", "/absolute/path/to/project",
        "server.py",
        "--config", "config.json"
      ]
    }
  }
}

Key insight: --from flag IS the working directory reference for UVX.

4. Virtual Environment Management

UV works seamlessly with Python's built-in venv:

bash
# Create virtual environment
python -m venv .venv

# Activate (Windows Git Bash)
. .venv/Scripts/activate

# Activate (Windows CMD)
.venv\Scripts\activate.bat

# Activate (Linux/Mac)
source .venv/bin/activate

# Install packages with UV
uv pip install -r requirements.txt

Common Workflows

Development Tools Setup
bash
# Install development tools once
uv tool install black
uv tool install flake8
uv tool install mypy
uv tool install pytest

# Use daily
black .
flake8 src/
mypy src/
pytest tests/
MCP Server Usage
bash
# Test published MCP servers
uvx mcp-server-sqlite --db-path test.db
uvx mcp-server-git --repository /path/to/repo

# Local MCP server development
uvx --from /path/to/project server.py --env config.env
Project Initialization
bash
# Create new project with UV
uv init my-project
cd my-project

# Add dependencies
uv add requests fastapi

# Run project
uv run python main.py
Python Version Management
bash
# List available Python versions
uv python list

# Install default Python version (3.14 in UV 0.9.6+)
uv python install

# Install specific Python version
uv python install 3.12
uv python install 3.13

# Use in project
uv python pin 3.12

Note: As of UV 0.9.6, Python 3.14 is the default version. If you need Python 3.13 or earlier, explicitly specify the version.

Inline Script Dependencies (PEP 723)

UV supports defining dependencies directly in Python script comments:

python
#!/usr/bin/env -S uv run --script
# /// script
# dependencies = [
#   "requests",
#   "pandas",
# ]
# ///

import requests
import pandas as pd

# Your code here

Run with automatic dependency installation:

bash
# UV installs dependencies automatically
uv run script.py

Benefits:

  • Self-contained single-file scripts
  • No pyproject.toml needed
  • Easy sharing and distribution
  • Perfect for utilities and automation

See Inline Script Metadata Reference for comprehensive examples including MCP servers, web applications, data processing, and CLI tools.

Integration Patterns

VS Code MCP Configuration

For .vscode/mcp.json or user settings:

json
{
  "servers": {
    "published-server": {
      "type": "stdio",
      "command": "uvx",
      "args": ["mcp-server-sqlite", "--db-path", "${workspaceFolder}/db.sqlite"]
    },
    "local-dev": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "--from", "${workspaceFolder}",
        "src/server.py"
      ]
    }
  }
}
Continue IDE Configuration

For .continue/config.json:

json
{
  "experimental": {
    "modelContextProtocolServers": [
      {
        "transport": {
          "type": "stdio",
          "command": "uvx",
          "args": ["mcp-server-fetch"]
        }
      }
    ]
  }
}
GitHub Actions CI/CD
yaml
- name: Setup UV
  uses: astral-sh/setup-uv@v1

- name: Install dependencies
  run: uv pip install -r requirements.txt

- name: Run tests
  run: uv run pytest

Best Practices

Tool Management

DO:

  • Use uv tool install for development tools used frequently
  • Use uvx for MCP servers (follows community patterns)
  • Keep tools isolated in their own environments
  • Regularly upgrade tools with uv tool upgrade --all

DON'T:

  • Use global pip for CLI tools (causes dependency conflicts)
  • Install MCP servers with uv tool install (against community patterns)
  • Use uvx for daily development tools (unnecessary overhead)
  • Mix pip and uv tool installations
MCP Server Patterns

DO:

  • Use UVX for all MCP server execution
  • Use --from for local development
  • Pin versions for production (package@1.2.3)
  • Use environment variables for configuration

DON'T:

  • Install MCP servers globally
  • Mix working directory approaches
  • Use @latest in production (unstable)
  • Forget to specify absolute paths with --from
Virtual Environments

DO:

  • Use python -m venv for project environments
  • Activate before installing packages
  • Use uv pip install for faster package installation
  • Document activation commands in README

DON'T:

  • Install packages globally
  • Mix venv and system Python packages
  • Forget to activate before development
  • Commit .venv directory to version control
Show full SKILL.md (391 more words)Show less

Performance Characteristics

UV's performance advantages:

  • 10-100x faster than pip for package operations
  • Parallel downloads and installations
  • Global cache with deduplication
  • Rust-powered dependency resolution
  • Disk-efficient storage with hard links

Typical operation times:

  • Package installation: 100-1000x faster than pip
  • Dependency resolution: Near-instant for cached packages
  • Virtual environment creation: <1 second
  • UVX first run: Package download time + execution
  • UVX cached run: <1 second startup

Troubleshooting

Common Issues

"spawn uvx ENOENT" Error:

  • UV/UVX not in PATH
  • Solution: Reinstall UV or add to PATH manually

Package Not Found:

  • Check package name on PyPI
  • For local development, verify --from path
  • Ensure pyproject.toml exists

Permission Errors:

  • UV cache directory not writable
  • Solution: Check permissions on ~/.cache/uv/

Version Conflicts:

  • Multiple Python versions
  • Solution: Use uv python pin to set project version

See detailed troubleshooting in:

Reference Documentation

This skill includes detailed reference documentation:

  1. Recent Changes ⭐ NEW

    • Latest version information (0.9.7+)
    • Python 3.14 default and free-threading support
    • New features and breaking changes
    • Version compatibility matrix
    • Upgrade guidance
  2. Installation & Setup

    • Installation methods (Windows, Linux, Mac)
    • Virtual environment setup
    • Platform-specific considerations
  3. Tool Management

    • UV tool install vs UVX comparison
    • Persistent vs temporary execution
    • Maintenance workflows
  4. MCP Integration

    • Published package patterns
    • Local development with --from
    • VS Code and IDE configuration
  5. Python Environment

    • Python version management
    • System paths (pyenv, uv, system)
    • Cross-platform compatibility
  6. Inline Script Metadata

    • PEP 723 inline dependencies in comments
    • Single-file scripts with automatic dependency management
    • MCP servers, web apps, and CLI tools
    • Best practices and troubleshooting
  7. Examples

    • Real-world GitHub configurations
    • Common workflow patterns
    • Anti-patterns to avoid

External Resources

Migration Guides

From pip
bash
# Old way
pip install requests

# New way
uv pip install requests
From pipx
bash
# Old way
pipx install black

# New way
uv tool install black
From poetry
bash
# Old way
poetry add requests
poetry install

# New way
uv add requests
uv sync

Summary

UV provides a unified, fast, and modern approach to Python package management. The key to effective UV usage is:

  1. Understand the tool landscape: uv pip, uv tool, uvx each serve specific purposes
  2. Follow community patterns: Use UVX for MCP servers, uv tool for development tools
  3. Leverage isolation: Each tool gets its own environment preventing conflicts
  4. Use --from for local development: Essential pattern for MCP server development
  5. Keep tools updated: Regular maintenance prevents issues

By following these patterns and utilizing the reference documentation, you'll have a clean, efficient, and maintainable Python development environment.

© archibate, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 27 other files (references) in skills/uv of archibate/dotfiles-opencode.

  • SKILL.md
  • .github/workflows/release-skill.yml
  • .gitignore
  • .markdownlint-cli2.jsonc
  • CLAUDE.md
  • LICENSE
  • README.md
  • VERSION
  • docs/guides/README.md
  • docs/guides/testing-the-uv-skill.md
  • docs/tasks/release/how-to-release.md
  • examples/README.md
  • examples/anti-patterns.md
  • examples/ci-cd.md
  • … and 14 more

Open the folder on GitHubat commit 46b6b23

Compare with similar skills

Uv next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Uv compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Uv this skillarchibate/dotfiles-opencode108—~3.1kAutomated safety check: NotesMIT
MCP AuthoringOtoDock/oto-dock190—~1.3kAutomated safety check: NotesCustom licence
MCP Server Builderanthropics/skills180k64 repos~2.3kAutomated safety check: PassApache-2.0
MCP Server BuildershareAI-lab/learn-claude-code78k5 repos~1.2kAutomated safety check: PassMIT
Fastmcp Client CLIPrefectHQ/fastmcp28k1 repos~823Automated safety check: PassApache-2.0
MemPalace Setup and OperationMemPalace/mempalace59k—~2.2kAutomated safety check: PassMIT

Similar skills

  • MCP Authoring

    OtoDock/oto-dock

    Author an MCP package for OtoDock: the manifest.json fields and their rules, the package layout, what the installer refuses or drops, credentials and instances, skills bundled with an MCP, and the…

    190 GitHub stars~1.3k tokensUpdated today
    Agent WorkflowsAuto-check: notes
  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 64 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    shareAI-lab/learn-claude-code

    Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.

    78k GitHub starsUsed in 5 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • Fastmcp Client CLI

    PrefectHQ/fastmcp

    Query and invoke tools on MCP servers using fastmcp list and fastmcp call.

    28k GitHub starsUsed in 1 repo~823 tokens
    Agent WorkflowsAuto-check passed
  • Installs and configures MemPalace as a private local palace, a shared-brain hub or a client of an existing hub, including MCP registration and version-correct initialization.

    59k GitHub stars~2.2k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Fastmcp

    Tommy-yw/RunbookHermes

    Build, test, inspect, install, and deploy MCP servers with FastMCP in Python.

    546 GitHub starsUsed in 4 repos~2.1k tokens
    Agent WorkflowsAuto-check passed

More from archibate/dotfiles-opencode

All 34 skills in this repo
  • Pueue

    archibate/dotfiles-opencode

    This skill should be used before running non-interactive long-running tasks, computation intensive tasks, background tasks, or needs guidance on the pueue CLI tool usage.

    108 GitHub starsUsed in 1 repo~637 tokens
    Auto-check passed
  • Show Image

    archibate/dotfiles-opencode

    Show images in terminal using the Kitty image protocol. An agent skill from archibate/dotfiles-opencode.

    108 GitHub starsUsed in 1 repo~596 tokens
    Auto-check passed
  • Glm Vision

    archibate/dotfiles-opencode

    This skill should be used when the user sends an image and asks to "analyze this image", "describe this picture", "what's in this image", or any request requiring visual understanding of images.

    108 GitHub stars~795 tokensUpdated 5 mo ago
    Auto-check passed
  • Show Image

    archibate/dotfiles-opencode

    Show images in terminal using the Kitty image protocol. An agent skill from archibate/dotfiles-opencode.

    108 GitHub starsUsed in 1 repo~622 tokens
    Auto-check passed
  • Tmux

    archibate/dotfiles-opencode

    Remote control tmux sessions for interactive CLIs (python, gdb, etc.) by sending keystrokes and scraping pane output.

    108 GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check passed
  • Bilibili API

    archibate/dotfiles-opencode

    This skill should be used when the user asks to "use bilibili API", "download bilibili video", "get bilibili user info", "list bilibili favorites", "send bilibili danmaku", "upload video to…

    108 GitHub stars~2.1k tokensUpdated 5 mo ago
    Auto-check: warnings

Questions about Uv

What does Uv do?

A skill your agent uses when using UV (Python package manager), needs to set up Python virtual environments, install/manage Python CLI tools, migrate from pip/pipx to UV, Python version management…. Uv is an agent skill from archibate/dotfiles-opencode. Use this skill when using UV (Python package manager), needs to set up Python virtual environments, install/manage Python CLI tools, migrate from pip/pipx to UV, Python version management, or troubleshoot UV-related issues.

When should I use Uv?

Uv fits situations like: using UV (Python package manager); needs to set up Python virtual environments; install/manage Python CLI tools; migrate from pip/pipx to UV.

How do I install Uv in Claude Code?

Run `npx skills add archibate/dotfiles-opencode --skill uv -a claude-code`. Or copy the skill folder (skills/uv in archibate/dotfiles-opencode) into .claude/skills/uv in your project. Claude Code loads it when a task matches its description.

How do I install Uv in Codex?

Run `npx skills add archibate/dotfiles-opencode --skill uv -a codex`. Or copy the skill folder (skills/uv in archibate/dotfiles-opencode) into .agents/skills/uv in your project. Codex loads it when a task matches its description.

Can I use Uv in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add archibate/dotfiles-opencode --skill uv -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/uv, .gemini/skills/uv, .github/skills/uv and .opencode/skills/uv in your project.

What does Uv need to run?

Going by SKILL.md and its folder, Uv needs the command-line tools its instructions call (uv, uvx, pip, python, poetry and curl). Our summary lists: Python 3.

Does Uv access the network?

SKILL.md names 5 domains. In commands or code: astral.sh; the agent is likely to contact it when it follows the instructions. As links in the text: github.com, docs.astral.sh, modelcontextprotocol.io and code.visualstudio.com. This is read from the text; nothing was executed.

Is Uv safe to install?

Our automated static check of SKILL.md found notes only (pipes a well-known installer script into a shell), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Uv use?

Uv is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Uv use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 21k tokens, read only when the agent opens those files.

What are the alternatives to Uv?

Skills that share tags, products or a category with Uv: MCP Authoring (OtoDock/oto-dock, 190 stars), MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars) and Fastmcp Client CLI (PrefectHQ/fastmcp, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Uv?

archibate (a GitHub user) maintains it in archibate/dotfiles-opencode, which has 108 GitHub stars. The repository holds 34 skills in this directory. The repository was last updated on April 29, 2026.

Source: archibate/dotfiles-opencode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.