dot-claude/skills/trailofbits-modern-python/SKILL.md
Configures Python projects with modern tooling (uv, ruff, ty). Use when creating projects, writing standalone scripts, or migrating from pip/Poetry/mypy/black.
npx skillsauth add sutanunandigrami/claude-titan-setup modern-pythonInstall 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.
Based on trailofbits/cookiecutter-python.
| Avoid | Use Instead |
|-------|-------------|
| pip install / Poetry | uv add + uv sync |
| Manual venv activation | uv run <cmd> |
| requirements.txt | PEP 723 (scripts) or pyproject.toml (projects) |
| flake8 / black / isort | ruff |
| mypy / pyright | ty |
| [project.optional-dependencies] for dev | [dependency-groups] (PEP 735) |
| hatchling build backend | uv_build |
| pre-commit | prek (faster, Rust-native) |
| [tool.ty] python-version | [tool.ty.environment] python-version |
| Editing pyproject.toml for deps | uv add/uv remove |
uv init minimal setupuv init --package full setupuv init --bare && uv add <pkgs> && uv sync, delete old files| Tool | Purpose | Replaces | |------|---------|----------| | uv | Package/dependency mgmt | pip, virtualenv, pip-tools, pipx, pyenv | | ruff | Lint + format | flake8, black, isort | | ty | Type checking | mypy, pyright | | prek | Pre-commit hooks | pre-commit |
uv init myproject && cd myproject
uv add requests rich
uv add --group dev pytest ruff ty
uv run python src/myproject/main.py
uv run pytest && uv run ruff check .
uvx cookiecutter gh:trailofbits/cookiecutter-python
Or manually:
uv init --package myproject && cd myproject
[project]
name = "myproject"
version = "0.1.0"
requires-python = ">=3.11"
[dependency-groups]
dev = [{include-group = "lint"}, {include-group = "test"}]
lint = ["ruff", "ty"]
test = ["pytest", "pytest-cov"]
[tool.ruff]
line-length = 100
target-version = "py311"
[tool.ruff.lint]
select = ["ALL"]
ignore = ["D", "COM812", "ISC001"]
[tool.pytest]
addopts = ["--cov=myproject", "--cov-fail-under=80"]
[tool.ty.environment]
python-version = "3.11"
Then: uv sync --all-groups
| Command | Description |
|---------|-------------|
| uv init | Create project |
| uv add <pkg> | Add dependency |
| uv add --group dev <pkg> | Add dev dependency |
| uv remove <pkg> | Remove dependency |
| uv sync --all-groups | Install all groups |
| uv run <cmd> | Run in venv |
| uv build | Build package |
tools
Project workspace configuration — auto-detect commands, _workspace.json convention, .envrc templates
development
This skill helps Claude write secure web applications. Use this when working on any web application or when a user requests a scan or audit to ensure security best practices are followed.
tools
Control tmux sessions — create panes, run commands, read output, monitor processes
testing
Security scanning and vulnerability assessment workflows. Use when performing security audits, scanning for vulnerabilities, checking dependencies, or hardening systems.