skills/uv/SKILL.md
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.
npx skillsauth add openhands/extensions uvInstall 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.
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.
uv.lock and pyproject.toml: treat it as a uv-managed project.requirements.txt: you can still use uv pip for fast installs.uv add/remove/sync/run/lock) over raw pip unless the repo explicitly uses uv pip.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.
# 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"
uv init
# or
uv init my-project
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
uv add requests
uv add 'requests==2.31.0'
uv add -r requirements.txt
uv remove requests
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.
uv run python -m pytest -q
uv run python main.py
uv run ruff check .
uv venv
uv pip install -r requirements.txt
uv pip freeze
uv pip list
uv will usually auto-detect and use .venv in the project root.uv pip install --system, but prefer virtualenvs for local dev.uv add/remove/lock/sync so uv.lock stays correct.tools
Create an automation that generates an async standup digest from Slack. Searches selected channels for messages since the previous workday, groups updates by project, highlights blockers and decisions, and posts a summary to a target channel.
tools
Create an automation that writes a recurring research brief. Uses Tavily MCP for web research and Notion MCP to publish the final brief with executive summary, implications, and source citations.
tools
Create an automation that triages new Linear issues. Inspects the issue title, description, team, customer, priority, and recent related issues via Linear MCP. Suggests labels, priority, likely owner, duplicates, and posts a clarifying comment.
tools
Create an automation that drafts incident retrospectives. Gathers incident-channel messages from Slack, collects linked tickets and follow-ups from Linear, and publishes a retrospective draft to Notion with a timeline, impact summary, root-cause hypotheses, and action items.