output_skills/developer-tools/using-uv/SKILL.md
Python package and project management with UV. Use when creating Python scripts, initializing projects, or managing dependencies.
npx skillsauth add lexler/skill-factory using-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.
UV is a fast Python package manager. Two modes:
Use scripts when:
Use projects when:
Standalone Python files with inline dependencies (PEP 723).
#!/usr/bin/env -S uv run --script
# /// script
# requires-python = ">=3.12"
# dependencies = ["requests", "rich"]
# ///
import requests
from rich import print
Run: uv run script.py
See references/scripts.md for full guide.
Structured Python with pyproject.toml and lockfile.
uv init myproject
cd myproject
uv add requests
uv run python main.py
Key files:
pyproject.toml - metadata and dependenciesuv.lock - exact versions for reproducibility.python-version - Python versionSee references/projects.md for full guide.
uv run pytest # Run in project env
uv add --dev pytest # Dev dependency
uvx ruff check . # One-off tool execution
uv run --with rich script.py # Script with ad-hoc dep
development
Test-driven development (TDD) process used when writing code. Use whenever you are adding any new code, unless the user explicitly asks to skip TDD or the code is exploratory/spike.
development
Writes tests without mocks using Nullables. Use when writing tests, especially testing code with external I/O (HTTP, files, databases, clocks, random numbers), designing infrastructure wrappers or replacing mocking libraries.
testing
Scannable BDD tests written in domain language. Use when doing BDD.
development
Writes approval tests (snapshot/golden master testing) for Python, JavaScript/TypeScript, or Java. Use when verifying complex output, characterization testing legacy code, testing combinations, or working with .approved/.received files.