packaging-conventions

Automate Python packaging conformance with pyproject.toml-centric configurations.

Updated Feb 7, 2026
One-click install
npx skills add https://github.com/jsamuelsen11/claude-config --skill packaging-conventions
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: packaging-conventions
Source: https://github.com/jsamuelsen11/claude-config/tree/main/plugins/ccfg-python/skills/packaging-conventions
Command: npx skills add https://github.com/jsamuelsen11/claude-config --skill packaging-conventions

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill guides teams to adopt modern Python packaging conventions centered on pyproject.toml, eliminating legacy configs and ensuring reproducible builds across projects.

Core Features & Use Cases

  • Canonical configuration in pyproject.toml for project metadata, dependencies, and build settings.
  • Encourages modern packaging layouts (e.g., src/ layout) and uv workspace support for multi-package repos.
  • Supports defining build backends, dependency groups, and tooling configurations to streamline publishing and maintenance.

Quick Start

Move a project to pyproject.toml with a src/ layout and uv workspaces to enable unified packaging workflows.

Frequently Asked Questions about packaging-conventions

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

FAQPage Schema
How do I standardize Python packaging configurations using pyproject.toml?

Standardize Python packaging by consolidating project metadata, dependencies, and build settings into a canonical pyproject.toml file. This eliminates legacy configurations and enforces consistent build tooling across libraries and applications for reproducible distributions.

What is the src/ layout convention for Python projects and when should I use it?

The src/ layout convention separates executable package code from project root files to prevent accidental imports during testing. Adopt this layout alongside pyproject.toml to ensure maintainable project structures and reproducible builds across single and multi-package repositories.

How do I manage dependencies in a multi-package Python repository with uv workspaces?

Manage multi-package repository dependencies by configuring uv workspaces within pyproject.toml. This approach unifies packaging workflows, coordinates dependency groups across packages, and streamlines maintenance for complex Python monorepos.

How do I select a build backend and define optional dependency groups in pyproject.toml?

Select a build backend and define optional dependency groups directly within pyproject.toml to control how packages are built and distributed. This configuration streamlines publishing workflows and manages environment-specific dependencies for reproducible builds.

Can I migrate legacy Python setup configurations to a modern pyproject.toml workflow?

Migrate legacy Python configurations by moving project metadata, build settings, and dependencies into pyproject.toml. Adopting this modern packaging standard alongside a src/ layout replaces fragmented configs with unified, reproducible packaging workflows.

When should I not use pyproject.toml-centric packaging conventions?

Avoid pyproject.toml-centric packaging conventions when working with legacy Python environments that lack modern build tooling support, or when existing setup configurations cannot be safely migrated without breaking complex dependency chains.