Skip to content
Skills Library
Programming · Automation

python-tooling

/python-tooling

Use when managing Python packages, virtual environments, or linting and formatting Python code

Licence
MIT
Last repository change
26.10.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 26.10.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What it does and when to use it

Use when managing Python packages, virtual environments, or linting and formatting Python code

Original author description

Use when managing Python packages, virtual environments, or linting and formatting Python code

How it works

  1. When to Use
  2. Tools
  3. Patterns
  4. Pipelines
  5. Prefer Over
  6. Do NOT Use When
Original SKILL.md headings · 138 lines, 556 words
SKILL.md preview
---
name: python-tooling
description: "Use when managing Python packages, virtual environments, or linting and formatting Python code"
allowed-tools: [Bash(uv*), Bash(ruff*), Read, Glob]
version: 1.0.0
author: ykotik
license: MIT
---

# 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
```bash
uv venv
```

### Create venv with specific Python version
```bash
uv venv --python 3.12
```

### Install packages into current venv
```bash
uv pip install requests pandas numpy
```

### Install from requirements.txt
```bash
uv pip install -r requirements.txt
```

### Run a script with auto-managed dependencies
```bash
uv run --with requests --with beautifulsoup4 script.py
```

### Run a script with inline dependencies (PEP 723)
```bash
uv run script.py
```
Where `script.py` has:
```python
# /// script
# requires-python = ">=3.12"
# dependencies = ["requests", "rich"]
# ///
```

### Initialize a new Python project
```bash
uv init myproject
cd myproject
uv add requests
```

### Add a dependency to pyproject.toml
```bash
uv add fastapi uvicorn
```

### Add a dev dependency
```bash
uv add --dev pytest pytest-cov
```

### Lint Python code with JSON output
```bash
ruff check --output-format json .
```

### Lint and show only errors (no warnings)
```bash
ruff check --select E .
```

### Auto-fix all fixable lint issues
```bash
ruff check --fix .
```

### Format Python code
```bash
ruff format .
```

### Check formatting without changing files
```bash
ruff format --check .
```

### Lint specific rules (e.g., unused imports + isort)
```bash
ruff check --select F401,I .
```

## Pipelines

### New project → install deps → lint → format
```bash
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
```bash
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
```bash
uv sync && uv run pytest -v
```
Each stage: uv installs exact locked dependencies, runs pytest in the managed environment.

## Prefer Over
- Prefer **uv** over `pip` / `pip3` for package installation — 10-100x faster, better dependency resolution
- Prefer **uv** over `python -m venv` for 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 `twine` or `flit` may be expected by the project

Versions

RepositoryScoreLicence
This page · jeremylongshore/tons-of-skills-marketplace100MIT
ssvinar/senior-agent-skills100MIT
aratkruglik/claude-sdlc95MIT
HoangNguyen0403/agent-skills-standard90MIT

Database snapshot: 13.11.2026 · package version 593c937de49c (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100python-project-setup
    Sets up Python projects with modern tooling including pyproject.toml, linting with ruff, formatting, type checking with mypy or pyright, testing with pytest, and pre-commit hooks. Triggers on: "setup Python project", "create Python package", "python project structure", "pyproject.toml".
  • 100python-code-quality
    Python code quality with ruff and ty. Use when the user mentions ruff, ty, linting, formatting, type checking, or Python code style.
  • 100python-code-quality
    Code quality checks, linting, formatting, and type checking commands for the Agent Framework Python codebase. Use this when running checks, fixing lint errors, or troubleshooting CI failures.
  • 100python-code-style
    Python code style, linting, formatting, naming conventions, and documentation standards. Use when writing new code, reviewing style, configuring linters, writing docstrings, or establishing project standards.
  • 95python-quality-checker
    Validate Python code quality with formatting, type checking, linting, and security analysis. Use for Python codebases to ensure PEP 8 compliance, type safety, and code quality.
  • 100managing-python-dependencies
    Ensures proper Python dependency management, avoiding global `pip install` and adhering to project-specific tooling. Use this skill if any of the following are true: 1. Attempting to run `pip install {package_name}`. 2. Python packages or dependencies need to be added or…

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.