Agent skill

Python Packaging

by diegosouzapw in diegosouzapw/awesome-omni-skills

Python Packaging workflow skill. An agent skill from diegosouzapw/awesome-omni-skills.

MITAuto-check passed

Install Python Packaging

skills CLI
$ npx skills add diegosouzapw/awesome-omni-skills --skill python-packaging -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install diegosouzapw/awesome-omni-skills python-packaging --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/diegosouzapw/awesome-omni-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills_omni/python-packaging .claude/skills/python-packaging && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
python-packaging
GitHub stars
159
Token cost
~3.1k tokens
SKILL.md length
1,390 words
Files
20 (incl. scripts, references, assets)
Skills in repo
39
Repo updated
First seen
Licence
MIT

At a glance

Python Packaging workflow skill. An agent skill from diegosouzapw/awesome-omni-skills.

  • Works in 6 steps: Tests pass locally but the installed… → twine check fails or README rendering is… → Package installs but the CLI command is… → …
  • The user needs comprehensive guidance for creating
  • SKILL.md covers Overview, When to Use, Operating Table and Workflow, plus 4 more sections
  • Calls python

What it does

Python Packaging is an agent skill from diegosouzapw/awesome-omni-skills. Python Packaging workflow skill. Use this skill when the user needs comprehensive guidance for creating, structuring, validating, and distributing Python packages with modern packaging standards, pyproject.toml, and PyPI publishing workflows.

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 24 other files, including scripts, reference files and assets (for example `ATTRIBUTION.md`, `OMNI_ENHANCED.json` and `ORIGIN.md`).

It works with Python. The repository describes itself as: Public repository of AI coding skills, curated improved best-practice skills, and runtime surfaces for CLI, API, MCP, and A2A. The licence is MIT.

When your agent uses it

  • The user needs comprehensive guidance for creating
  • Distributing Python packages with modern packaging standards
  • PyPI publishing workflows

Example prompts

  • “/python-packaging”

Requirements

  • Python 3
  • Docker

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Tests pass locally but the installed package is broken
  2. twine check fails or README rendering is broken
  3. Package installs but the CLI command is missing or fails
  4. Built distribution is missing templates, data files, or other non-code assets
  5. Editable install behavior differs from wheel install behavior
  6. Dependency specification is rejected or resolves unexpectedly

What it can do on your machine

Read from SKILL.md and the folder at commit c3af004. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Python Packaging loads about 3.1k tokens when it runs, and up to ~4.7k if it reads all its reference files. Until then it costs about 65 tokens; SKILL.md has 1,390 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~65
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from diegosouzapw/awesome-omni-skills at commit c3af004, republished under its MIT licence (© diegosouzapw). 1,390 words, ~3,069 tokens.

Download SKILL.mdSave it as .claude/skills/python-packaging/SKILL.md (or your agent's skills folder). This skill also uses 19 other files; get the full folder from GitHub.
name
python-packaging
description
Python Packaging workflow skill. Use this skill when the user needs comprehensive guidance for creating, structuring, validating, and distributing Python packages with modern packaging standards, `pyproject.toml`, and PyPI publishing workflows.
version
0.0.1
category
tools
tags
python-packaging, pyproject, pypi, wheel, sdist, python, omni-enhanced
complexity
advanced
risk
safe
tools
codex-cli, claude-code, cursor, gemini-cli, opencode
source
omni-team
author
Omni Skills Team
date_added
2026-04-15
date_updated
2026-04-19

Python Packaging

Overview

Use this skill when the task is to create, structure, validate, or publish a Python package using the modern PyPA workflow.

This enhanced version preserves the original skill intent while upgrading it into an operator-facing packaging workflow centered on:

  • pyproject.toml-first configuration
  • standardized project metadata
  • backend-neutral build guidance
  • src/ layout decisions
  • wheel and source distribution validation
  • safer publishing practices for PyPI

Prefer this skill for distributable libraries, reusable internal packages, and Python CLI tools that should be installed through standard packaging workflows.

Do not use it as a substitute for framework-specific deployment guidance, OS packaging, containerization-only workflows, or environment-specific release approvals.

For deeper execution support, use:

  • references/runtime-practices.md for standards and decision tables
  • examples/implementation-example.md for concrete package layouts and pyproject.toml examples
  • scripts/validate-runtime.py for preflight validation of packaging metadata and artifacts

When to Use

Activate this skill when the user needs to:

  • create a Python library for distribution
  • package a Python CLI tool with console entry points
  • migrate from legacy setup.py-first packaging toward pyproject.toml
  • build and inspect wheels and source distributions
  • publish to PyPI or TestPyPI
  • troubleshoot packaging failures such as missing files, bad metadata, or editable install mismatches
  • separate runtime dependencies from optional or development-only dependencies

Do not activate it when the task is mainly about:

  • virtual environment management alone
  • application deployment without packaging
  • Docker image construction
  • Conda packaging or Linux distro package maintenance
  • framework-specific release automation with no Python packaging decisions involved

Operating Table

SituationStart hereWhy it matters
New distributable libraryPrefer src/ layout and a pyproject.toml with [build-system] and [project]Reduces accidental imports from the repo root and aligns with current PyPA guidance
Unsure which backend to usereferences/runtime-practices.mdGives backend-neutral criteria instead of pushing one tool as universally best
Building release artifactspython -m buildProduces wheel and sdist through the standard frontend in an isolated build flow
Validating metadata before uploadtwine check dist/* and scripts/validate-runtime.pyCatches broken README rendering, missing metadata, and absent artifacts before publication
Packaging a CLIexamples/implementation-example.mdShows a concrete console-script example and expected installed command behavior
Publishing from CIPrefer PyPI Trusted PublishersAvoids long-lived API tokens where supported
Debugging package contentsInspect dist/ artifacts and compare against project treeMany packaging bugs are build-output mismatches, not source-code bugs

Workflow

  1. Clarify package intent

    • Determine whether the target is a library, a library plus CLI, or an internal package.
    • Confirm Python version support, target index, and release expectations.
    • Ask whether the user needs public PyPI, TestPyPI, or private index publication.
  2. Choose packaging structure deliberately

    • For distributable libraries, prefer src/ layout.
    • For very small internal apps, flat layout may be acceptable, but call out the risk of imports succeeding locally while failing after installation.
    • Decide whether the package needs only runtime dependencies, optional extras, or separate development groups.
  3. Author pyproject.toml first

    • Define [build-system] with the selected backend requirements.
    • Put standardized metadata in [project] where possible.
    • Keep backend-specific configuration in tool-specific sections only when needed.
    • Avoid introducing legacy setup.py configuration unless the task is explicitly legacy maintenance.
  4. Create the package layout

    • Ensure importable package directories are present.
    • Include __init__.py where appropriate for regular packages.
    • Place tests outside the package tree unless there is a deliberate reason not to.
    • If packaging a CLI, declare console entry points instead of relying on ad hoc wrapper scripts.
  5. Install and test in development mode

    • Create a clean virtual environment.
    • Install editable dependencies if the backend supports editable installs.
    • Run the project test suite and basic import checks.
    • Confirm that development success is not caused by importing directly from the repository root.
  6. Build distributable artifacts

    • Run:
      • python -m pip install --upgrade build
      • python -m build
    • Expect dist/ to contain at least a wheel and often an sdist.
    • If only one artifact type is produced, verify that this is intentional.
  7. Validate artifacts before publishing

    • Run twine check dist/*.
    • Optionally install the built wheel into a fresh environment and run a smoke test.
    • Use python scripts/validate-runtime.py --twine-check for a local preflight report.
    • Confirm package data, README rendering, entry points, and metadata fields.
  8. Publish safely

    • Prefer TestPyPI or another non-production validation path before a first public release.
    • For CI/CD publication, prefer PyPI Trusted Publishers when available.
    • Treat long-lived API tokens as a fallback, not the preferred baseline.
    • If release integrity is a mature concern, consider attestations as an advanced enhancement.
  9. Hand off with concrete verification

    • Report the backend used, project layout, build commands, artifact results, and publishing path.
    • Include any warnings from scripts/validate-runtime.py and the fix applied or deferred.

Examples

Open examples/implementation-example.md when the task needs copy-check-compare examples.

Use those examples for:

  • a minimal distributable library using src/ layout
  • a library plus CLI package with a console entry point
  • expected dist/ outputs after build
  • validation steps before TestPyPI or PyPI publication

Troubleshooting

Show full SKILL.md (598 more words)Show less
1. Tests pass locally but the installed package is broken

Symptoms

  • Imports work from the repository root.
  • A wheel installs, but runtime imports fail.

Likely causes

  • Flat layout is masking missing package discovery or missing files.
  • Tests are importing from the working tree instead of the installed package.

Checks

  • Confirm whether the project uses src/ or flat layout.
  • Create a fresh environment and install the built wheel.
  • Run imports from outside the repository directory.

Fix

  • Prefer src/ layout for distributable libraries.
  • Rebuild and retest using the wheel, not only editable install behavior.
2. twine check fails or README rendering is broken

Symptoms

  • twine check dist/* reports invalid long description content type or rendering issues.

Likely causes

  • readme metadata is missing or mismatched.
  • README content or format declaration is inconsistent.

Checks

  • Review the readme field in [project].
  • Confirm the README file exists and matches the declared format.

Fix

  • Correct the readme declaration.
  • Rebuild artifacts and rerun twine check before any upload.
3. Package installs but the CLI command is missing or fails

Symptoms

  • Installation succeeds, but the expected command is unavailable.
  • The command exists but crashes on startup.

Likely causes

  • Missing or incorrect console-script entry point.
  • The entry point target does not resolve to a callable.
  • The command was installed into a different environment than the one being used.

Checks

  • Review entry point configuration in pyproject.toml.
  • Verify the target object exists and is importable.
  • Confirm the environment and PATH are the expected ones.

Fix

  • Declare the console entry point correctly.
  • Reinstall the built wheel in a fresh environment and test the installed command.
4. Built distribution is missing templates, data files, or other non-code assets

Symptoms

  • Source tree contains files that are absent after installation.
  • Runtime file lookups fail only in built artifacts.

Likely causes

  • Package data was not included in the build configuration.
  • The file exists in the repository but is outside the packaged paths.

Checks

  • Inspect wheel and sdist contents directly.
  • Compare source tree paths with packaged paths.

Fix

  • Configure package data explicitly using backend-specific packaging rules.
  • Rebuild and inspect artifacts again before upload.
5. Editable install behavior differs from wheel install behavior

Symptoms

  • Editable install works, but the built wheel behaves differently.

Likely causes

  • The project relies on repository-local paths or undeclared files.
  • Backend editable install behavior differs from assumptions.

Checks

  • Test both editable install and wheel install in fresh environments.
  • Compare import paths and package contents.

Fix

  • Treat wheel installation as the release truth.
  • Remove assumptions that only hold in editable mode.
6. Dependency specification is rejected or resolves unexpectedly

Symptoms

  • Installer errors mention invalid requirement strings.
  • Consumers get broader or narrower dependency resolution than intended.

Likely causes

  • Invalid version specifier syntax.
  • Development-only requirements were placed in runtime dependencies.

Checks

  • Review dependency strings against the version-specifier specification.
  • Separate mandatory runtime dependencies from optional features and development groups.

Fix

  • Correct the requirement syntax.
  • Move non-runtime dependencies out of the core runtime dependency list.

Additional Resources

  • references/runtime-practices.md for backend-neutral decision guidance, metadata reminders, and release checks
  • examples/implementation-example.md for concrete project trees and packaging examples
  • scripts/validate-runtime.py for local inspection of pyproject.toml, layout, and dist/ artifacts

External standards and primary references:

  • PyPA Packaging tutorial
  • PyPA guide to writing pyproject.toml
  • PyPA discussion on src/ layout vs flat layout
  • PyPA discussion of package formats
  • PEP 621 for project metadata
  • PEP 660 for editable installs
  • build documentation
  • Twine documentation
  • PyPI Trusted Publishers documentation

Use a different skill when the task shifts to:

  • environment management rather than packaging
  • CI/CD workflow authoring beyond package release specifics
  • Docker or container image build pipelines
  • framework deployment patterns
  • repository-wide release engineering outside Python packaging scope

© diegosouzapw, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 19 other files (scripts, references, assets) in skills_omni/python-packaging of diegosouzapw/awesome-omni-skills.

  • SKILL.md
  • ATTRIBUTION.md
  • OMNI_ENHANCED.json
  • ORIGIN.md
  • agents/omni-import-router.md
  • assets/omni-import-source-manifest.json
  • examples/implementation-example.md
  • examples/omni-import-operator-packet.md
  • examples/omni-import-prompt-template.md
  • metadata.json
  • references/omni-import-checklist.md
  • references/omni-import-playbook.md
  • references/omni-import-rubric.md
  • references/omni-import-source-summary.md
  • references/runtime-practices.md
  • resources/implementation-playbook.md
  • … and 4 more

Open the folder on GitHubat commit c3af004

Compare with similar skills

Python Packaging next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Python Packaging compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Python Packaging this skilldiegosouzapw/awesome-omni-skills159—~3.1kAutomated safety check: PassMIT
MCP Server Builderanthropics/skills180k63 repos~2.3kAutomated safety check: PassApache-2.0
PDF Processinganthropics/skills180k48 repos~2kAutomated safety check: PassProprietary
NotebookLM Research AssistantPleasePrompto/notebooklm-skill7.8k14 repos~2.4kAutomated safety check: NotesMIT
Manim Video Productionbrowser-use/video-use28k6 repos~3kAutomated safety check: PassMIT
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • PDF Processing

    anthropics/skills

    Official

    Handles everyday PDF jobs in Python and on the command line: extract text and tables, merge, split, rotate, watermark, fill forms, encrypt and OCR.

    180k GitHub starsUsed in 48 repos~2k tokens
    Documents & OfficeAuto-check passed
  • NotebookLM Research Assistant

    PleasePrompto/notebooklm-skill

    Lets Claude Code ask questions of your Google NotebookLM notebooks through browser automation and return answers grounded in your uploaded sources.

    7.8k GitHub starsUsed in 14 repos~2.4k tokens
    Knowledge ManagementAuto-check: notes
  • Manim Video Production

    browser-use/video-use

    Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories.

    28k GitHub starsUsed in 6 repos~3k tokens
    Media & CreativeAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • PPT Master

    hugohe3/ppt-master

    Generates editable PowerPoint decks, rebuilds slides from images, fills .pptx templates and polishes existing presentations through routed workflows.

    58k GitHub starsUsed in 1 repo~2.5k tokens
    Documents & OfficeAuto-check passed

More from diegosouzapw/awesome-omni-skills

All 39 skills in this repo
  • Content Creator

    diegosouzapw/awesome-omni-skills

    Content Creator workflow skill. An agent skill from diegosouzapw/awesome-omni-skills.

    159 GitHub stars~4k tokensUpdated 3 mo ago
    Auto-check passed
  • Helm Chart Scaffolding

    diegosouzapw/awesome-omni-skills

    Helm Chart Scaffolding workflow skill. An agent skill from diegosouzapw/awesome-omni-skills.

    159 GitHub stars~2.4k tokensUpdated 3 mo ago
    Auto-check passed
  • Prompt Engineering

    diegosouzapw/awesome-omni-skills

    Prompt Engineering Patterns workflow skill. An agent skill from diegosouzapw/awesome-omni-skills.

    159 GitHub stars~3.4k tokensUpdated 3 mo ago
    Auto-check passed
  • Prompt Engineering Patterns

    diegosouzapw/awesome-omni-skills

    Prompt Engineering Patterns workflow skill. An agent skill from diegosouzapw/awesome-omni-skills.

    159 GitHub stars~4k tokensUpdated 3 mo ago
    Auto-check passed
  • Prompt Library

    diegosouzapw/awesome-omni-skills

    📝 Prompt Library workflow skill. An agent skill from diegosouzapw/awesome-omni-skills.

    159 GitHub stars~3.1k tokensUpdated 3 mo ago
    Auto-check passed
  • Protocol Reverse Engineering

    diegosouzapw/awesome-omni-skills

    Protocol Reverse Engineering workflow skill. An agent skill from diegosouzapw/awesome-omni-skills.

    159 GitHub stars~3.8k tokensUpdated 3 mo ago
    Auto-check passed

Works with

Questions about Python Packaging

What does Python Packaging do?

Python Packaging workflow skill. An agent skill from diegosouzapw/awesome-omni-skills. Python Packaging is an agent skill from diegosouzapw/awesome-omni-skills. Python Packaging workflow skill.

When should I use Python Packaging?

Python Packaging fits situations like: the user needs comprehensive guidance for creating; distributing Python packages with modern packaging standards; pyPI publishing workflows.

How do I install Python Packaging in Claude Code?

Run `npx skills add diegosouzapw/awesome-omni-skills --skill python-packaging -a claude-code`. Or copy the skill folder (skills_omni/python-packaging in diegosouzapw/awesome-omni-skills) into .claude/skills/python-packaging in your project. Claude Code loads it when a task matches its description.

How do I install Python Packaging in Codex?

Run `npx skills add diegosouzapw/awesome-omni-skills --skill python-packaging -a codex`. Or copy the skill folder (skills_omni/python-packaging in diegosouzapw/awesome-omni-skills) into .agents/skills/python-packaging in your project. Codex loads it when a task matches its description.

Can I use Python Packaging in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add diegosouzapw/awesome-omni-skills --skill python-packaging -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/python-packaging, .gemini/skills/python-packaging, .github/skills/python-packaging and .opencode/skills/python-packaging in your project.

What does Python Packaging need to run?

Going by SKILL.md and its folder, Python Packaging needs the command-line tools its instructions call (python). Our summary lists: Python 3; Docker.

Does Python Packaging access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Python Packaging safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Python Packaging use?

Python Packaging is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Python Packaging use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.7k tokens, read only when the agent opens those files.

What are the alternatives to Python Packaging?

Skills that share tags, products or a category with Python Packaging: MCP Server Builder (anthropics/skills, 180k stars), PDF Processing (anthropics/skills, 180k stars), NotebookLM Research Assistant (PleasePrompto/notebooklm-skill, 7.8k stars) and Manim Video Production (browser-use/video-use, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Python Packaging?

diegosouzapw (a GitHub user) maintains it in diegosouzapw/awesome-omni-skills, which has 159 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on July 8, 2026.

Source: diegosouzapw/awesome-omni-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.