Agent skill

uv

If the project uses uv, use this skill. Use this skill to create/manage Python projects and environments with `uv`, add/remove dependencies, sync a project from `uv.lock`, and run commands in the project environment.

Stars 78
Forks 21

Install this agent skill to your Project

npx add-skill https://github.com/OpenHands/extensions/tree/main/skills/uv

SKILL.md

uv (Python)

Use uv as the default tool for Python dependency + environment management when the repo has uv.lock, mentions uv in its docs/Makefile, or already uses a .venv created by uv.

Quick decision rules

  • If the repo has uv.lock and pyproject.toml: treat it as a uv-managed project.
  • If the repo has only requirements.txt: you can still use uv pip for fast installs.
  • Prefer project commands (uv add/remove/sync/run/lock) over raw pip unless the repo explicitly uses uv pip.

Installation (if needed)

Prefer a packaged install method when available. If you use the official installer, review it first (avoid blindly piping into a shell) and follow the latest instructions in the official docs.

bash
# macOS/Linux (official installer)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell, official installer)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Common operations

Initialize a new project

bash
uv init
# or
uv init my-project

Create / use a virtual environment

bash
uv venv  # creates .venv

# If you need a specific version, match the project's declared requirement
# (e.g., pyproject.toml / CI config), not an arbitrary latest version.
uv venv --python 3.x

# optional activation (not required for uv commands)
source .venv/bin/activate  # macOS/Linux
# .venv\\Scripts\\activate   # Windows

Add / remove dependencies (updates pyproject.toml and uv.lock)

bash
uv add requests
uv add 'requests==2.31.0'
uv add -r requirements.txt

uv remove requests

Lock + sync (reproducible installs)

bash
uv lock   # (re)generate uv.lock
uv sync   # create/update .venv to match uv.lock

If you pulled new changes and uv.lock changed, run uv sync.

Run commands inside the project environment

bash
uv run python -m pytest -q
uv run python main.py
uv run ruff check .

Using uv as a fast pip replacement (requirements workflows)

bash
uv venv
uv pip install -r requirements.txt
uv pip freeze
uv pip list

Notes / pitfalls

  • uv will usually auto-detect and use .venv in the project root.
  • In CI/containers you may see uv pip install --system, but prefer virtualenvs for local dev.
  • If a command mutates deps, prefer uv add/remove/lock/sync so uv.lock stays correct.

Expand your agent's capabilities with these related and highly-rated skills.

OpenHands/extensions

releasenotes

Generate formatted changelogs from git history since the last release tag. Use when preparing release notes that categorize changes into breaking changes, features, fixes, and other sections.

78 21
Explore
OpenHands/extensions

bitbucket

Interact with Bitbucket repositories and pull requests using the BITBUCKET_TOKEN environment variable. Use when working with code hosted on Bitbucket or managing Bitbucket resources via API.

78 21
Explore
OpenHands/extensions

add-skill

Add an external skill from a GitHub repository to the current workspace. Use when users want to import, install, or add a skill from a GitHub URL (e.g., `/add-skill https://github.com/OpenHands/extensions/tree/main/skills/codereview` or "add the codereview skill from https://github.com/OpenHands/extensions/"). Handles fetching the skill files and placing them in .agents/skills/.

78 21
Explore
OpenHands/extensions

add-javadoc

Add comprehensive JavaDoc documentation to Java classes and methods. Use when documenting Java code, adding API documentation, or improving code documentation.

78 21
Explore
OpenHands/extensions

flarglebargle

A test skill that responds to the magic word "flarglebargle" with a compliment. Use for testing skill activation and trigger functionality.

78 21
Explore
OpenHands/extensions

codereview-roasted

Brutally honest code review in the style of Linus Torvalds, focusing on data structures, simplicity, and pragmatism. Use when you want critical, no-nonsense feedback that prioritizes engineering fundamentals over style preferences.

78 21
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results