python-tooling
Skill1 starsChanged 7 months agoMITView on GitHub
Use when managing Python packages, virtual environments, or linting and formatting Python code
- Installs packages
In this repository6 other files it gives its agents.
- api-testingSkill
- ci-automationSkill
- data-processingSkill
- security-scanningSkill
- web-crawlingSkill
- web-researchSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 137
Prefer uv over pip / pip3 for package installation — 10-100x faster, better dependency resolution
- Very specific: line 138
Prefer uv over python -m venv for virtual environments — faster creation, better Python version management
- Very specific: line 139
Prefer Ruff over black + flake8 + isort — single tool replaces all three, 10-100x faster
- Distinctive: line 140
Prefer uv run over global installs for one-off scripts — isolated environment, no pollution
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Python Tooling
When to Use
- Installing Python packages or creating virtual environments
- Running Python scripts with dependency isolation
- Linting Python code for errors, style issues, or import sorting
- Formatting Python code consistently
- Managing Python project dependencies (pyproject.toml)
- Auto-fixing Python lint issues
Tools
| Tool | Purpose | Structured output |
| uv | Ultra-fast Python package manager and venv tool (Rust, 10-100x faster than pip) | N/A (status messages) |
| Ruff | Extremely fast Python linter + formatter (Rust, replaces black + flake8 + isort) | --output-format json for JSON |
Patterns
Create a virtual environment
uv venvCreate venv with specific Python version
uv venv --python 3.12Install packages into current venv
uv pip install requests pandas numpyInstall from requirements.txt
uv pip install -r requirements.txtRun a script with auto-managed dependencies
uv run --with requests --with beautifulsoup4 script.pyRun a script with inline dependencies (PEP 723)
uv run script.pyWhere script.py has:
# /// script
# requires-python = ">=3.12"
# dependencies = ["requests", "rich"]
# ///Initialize a new Python project
uv init myproject
cd myproject
uv add requestsAdd a dependency to pyproject.toml
uv add fastapi uvicornAdd a dev dependency
uv add --dev pytest pytest-covLint Python code with JSON output
ruff check --output-format json .Lint and show only errors (no warnings)
ruff check --select E .Auto-fix all fixable lint issues
ruff check --fix .Format Python code
ruff format .Check formatting without changing files
ruff format --check .Lint specific rules (e.g., unused imports + isort)
ruff check --select F401,I .Pipelines
New project → install deps → lint → format
uv init myproject && cd myproject
uv add requests fastapi
ruff check --fix .
ruff format .Each stage: uv scaffolds project and installs deps, Ruff fixes lint issues, Ruff formats code.
Lint → count issues by rule
ruff check --output-format json . | jq 'group_by(.code) | map({rule: .[0].code, count: length}) | sort_by(-.count)'Each stage: Ruff lints to JSON, jq aggregates issue counts by rule code.
Install from lockfile → run tests
uv sync && uv run pytest -vEach stage: uv installs exact locked dependencies, runs pytest in the managed environment.
Prefer Over
- Prefer uv over
pip/pip3for package installation — 10-100x faster, better dependency resolution - Prefer uv over
python -m venvfor virtual environments — faster creation, better Python version management - Prefer Ruff over
black+flake8+isort— single tool replaces all three, 10-100x faster - Prefer uv run over global installs for one-off scripts — isolated environment, no pollution
Do NOT Use When
- Project uses poetry or pdm with an existing lockfile — respect the existing toolchain, don't switch mid-project
- Project has a Makefile or justfile with established lint/format commands — use those instead
- Need to publish to PyPI — uv can build but
twineorflitmay be expected by the project
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

