python-project-tooling

Configure and maintain Python project tooling, dependencies, packaging, and quality checks.

1|Updated Feb 25, 2026
One-click install
npx skills add https://github.com/cjthompson/claude-code-config --skill python-project-tooling-cjthompson
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: python-project-tooling
Source: https://github.com/cjthompson/claude-code-config/tree/main/plugins/python-development/skills/python-project-tooling
Command: npx skills add https://github.com/cjthompson/claude-code-config --skill python-project-tooling-cjthompson

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Python repositories accumulate inconsistent tooling choices over time, and changing or modernizing them risks breaking builds, CI, and contributor workflows. This Skill guides safe configuration and maintenance of project-level Python tooling without disrupting established setups. ## Core Features & Use Cases - Respect Existing Toolchains: Inspects pyproject.toml, lockfiles, CI, and contributor docs, then continues using the repository's configured tools instead of replacing them. - Modern Project Setup: For new or deliberately modernized projects, recommends uv for environments and dependencies, Ruff for linting and formatting, ty for type checking, and pytest for tests, with canonical configuration in pyproject.toml. - Safe Change Management: Separates tool migrations from feature work, verifies lock consistency, clean-environment installs, checks, tests, and builds, and prefers trusted publishing with dry runs for releases. - Use Case: When asked to lint or type-check specific files in an existing repository, it scopes the repository's configured commands to those files and reports gaps rather than silently adding new tools. ## Quick Start Ask the assistant to set up tooling for a new Python project or to run the repository's configured lint, format, and type checks on specific files.

Frequently Asked Questions about python-project-tooling

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up tooling for a new Python project?

For new projects, prefer uv for environments, dependencies, locking, and command execution, Ruff for formatting and linting, ty for static type checking, and pytest for tests. Put canonical configuration in pyproject.toml and keep CI and contributor commands aligned with it.

Should I migrate an existing Python project to uv or Ruff?

Do not introduce uv, Ruff, ty, or pytest merely to replace working equivalents unless a migration is explicitly requested. Inspect pyproject.toml, lockfiles, and CI first, and continue using the repository's configured tools.

How do I lint or type-check only specific files in a Python repo?

Use the repository's configured commands and scope them to the named files when the tool supports it. If no configured tool covers the requested check, report that gap instead of adding a new tool or substituting another command.

What build backend should a Python package use?

Choose a build backend appropriate to the package's distribution needs, and do not add packaging machinery to an application that is not distributed. Commit a lockfile when reproducibility is part of the repository's policy.

How do I safely publish a Python package?

Prefer trusted publishing and run a dry run or test index before a production release. Verify lock consistency, clean-environment installation, lint, format check, type check, tests, and the package build beforehand.