release-pypi-package
Release or configure a Python distribution on PyPI with native Python, uv, PyPA, and GitHub tooling.
Skill by dravengarden
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/dravengarden-release-pypi-package
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/release-pypi-package
What's inside
- Skill name
release-pypi-package- Description
- Release or configure a Python distribution on PyPI with native Python, uv, PyPA, and GitHub tooling. Use for first publication, pending or existing PyPI Trusted Publishers, OIDC workflows, wheel and sdist inspection, attestations, token retirement, checksum comparison, or fresh pip/uv/pipx acceptance.
- License
- Apache-2.0
- Instructions
- 71 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- openai.yaml · agents/
SKILL.md (first lines)
# Release a PyPI distribution Keep builds, tests, versions, release notes, artifacts, workflows, and acceptance in the owning project. The bundled helper only prepares the one-time PyPI Trusted Publisher fields and opens PyPI's own configuration page. ## Establish the release contract 1. Read project guidance and `pyproject.toml`; identify distribution, import, and executable names separately. 2. Confirm the version source, supported Python versions/platforms, wheel matrix, sdist policy, entry points, bundled native files, and release notes. 3. Preserve the project's artifact boundary. If CI publishes locally built wheels, download and checksum those exact wheels instead of rebuilding. 4. Verify the version is absent from PyPI and consistent across source, tag, metadata, filenames, and changelog. ## Configure trusted publishing PyPI can create a new project from a pending Trusted Publisher; no bootstrap upload token is required. A pending publisher does not reserve the project name. Existing projects use their project Publishing page. Run the bundled [setup helper](../../scripts/setup-trusted-publisher) with `--print` first. Use `--pending` only before the project exists. Show the exact owner, repository, workflow filename, optional GitHub environment, project, and native PyPI URL before the user authorizes the account-level change. PyPI owns login, 2FA, form submission, and the stored relationship. The publish job must have job-level `id-token: write`. Prefer PyPI's stable `pypa/gh-action-pypi-publish@release/v1` interface, or retain a project-owned native `uv publish --trusted-publishing always` flow that is already tested. Do not store a PyPI API token, password, cookie, or Lasso credential for routine releases. Use an environment only when its exact name and approval policy are intentional. ## Build and publish Use the project's pinned build frontend. Common native checks include: ```bash uv build python -m build python -m twine check dist/* ``` Inspect wheel and sdist contents, metadata, entry points, license, README, native platform tags, and archive checksums. Run the complete project gate before publication. Setup success is not permission to publish or approve a workflow. If a bootstrap API token existed from an older flow, remove local configuration and revoke the token at PyPI separately. OIDC migration is incomplete while a long-lived publishing secret remains usable. ## Accept from PyPI Wait for the exact version, query PyPI independently, compare each published file digest with the release artifact when byte identity is promised, and test from an empty environment: ```bash python -m pip index versions DISTRIBUTION uvx --from DISTRIBUTION==VERSION COMMAND --version ``` Also test `pip`, `uv tool install`, or `pipx` when the project documents them. Exercise the installed CLI's shortest useful behavior. Report workflow success, PyPI visibility, digest equality, clean installation, and execution separately.
From dravengarden/lasso, Apache-2.0.
More from dravengarden/lasso
- 0.565score
maintain-npm-package-page
dravengarden
Create or refresh a project-owned npm package README and npmjs.com landing page for a CLI package.
SkillAFreshness: AClaude Code +9 - 0.561score
release-npm-package
dravengarden
Release or configure an npm package with native npm and GitHub tooling.
SkillAFreshness: AClaude Code +9 - 0.529score
work-item
dravengarden
Decide whether engineering work needs a repository-auditable Lasso work item, then create, resume, block, close, or remove its minimal metadata and…
SkillBFreshness: BClaude Code +9 - 0.529score
verify-change
dravengarden
Verify Lasso core changes, coordinated changes spanning multiple registered repositories, or closure of a durable work item with each owner's deterministic…
SkillBFreshness: BClaude Code +9 - 0.526score
memory-tidy
dravengarden
Codex-only writer that consolidates, deduplicates, and retires facts across ordinary and DeepSeek-provider Codex memory homes.
SkillBFreshness: BClaude Code +9 - 0.524score
lasso-doctor
dravengarden
Diagnose whether the Lasso plugin can find its CLI, workspace root, registry, kit root, and current registered project.
SkillBFreshness: BClaude Code +9 - 0.524score
lasso-init
dravengarden
Create a new Lasso agent-native monorepo workspace with chosen runtimes and optional modules.
SkillBFreshness: BClaude Code +9 - 0.524score
maintain-crates-io-package-page
dravengarden
Create or refresh a project-owned crates.io README and crate landing page for a Rust CLI package.
SkillBFreshness: BClaude Code +9 - 0.524score
release-cargo-package
dravengarden
Release or configure a public Rust crate on crates.io with native Cargo and GitHub tooling.
SkillBFreshness: BClaude Code +9 - 0.524score
project-add
dravengarden
Register an external Git repository in the Lasso harness and optionally create its stable ordinary checkout.
SkillBFreshness: BClaude Code +9 - 0.524score
project-update
dravengarden
Reconcile registered Lasso project metadata and stable checkout status with upstream Git remotes.
SkillBFreshness: BClaude Code +9 - 0.524score
lasso-remove-module
dravengarden
Remove an installed Lasso module from the current workspace, update the lockfile, and refresh marketplace manifests.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 24, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/dravengarden/lasso
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from dravengarden
- 0.565score
maintain-npm-package-page
dravengarden
Create or refresh a project-owned npm package README and npmjs.com landing page for a CLI package.
SkillAFreshness: AClaude Code +9 - 0.561score
release-npm-package
dravengarden
Release or configure an npm package with native npm and GitHub tooling.
SkillAFreshness: AClaude Code +9 - 0.529score
work-item
dravengarden
Decide whether engineering work needs a repository-auditable Lasso work item, then create, resume, block, close, or remove its minimal metadata and…
SkillBFreshness: BClaude Code +9 - 0.529score
verify-change
dravengarden
Verify Lasso core changes, coordinated changes spanning multiple registered repositories, or closure of a durable work item with each owner's deterministic…
SkillBFreshness: BClaude Code +9 - 0.526score
memory-tidy
dravengarden
Codex-only writer that consolidates, deduplicates, and retires facts across ordinary and DeepSeek-provider Codex memory homes.
SkillBFreshness: BClaude Code +9 - 0.524score
lasso-add-language
dravengarden
Add a language convention pack to the current Lasso workspace by installing the matching lang-* module.
SkillBFreshness: BClaude Code +9
Cite this page
release-pypi-package skill. Agent Mart. https://agentmart.dev/skills/dravengarden-release-pypi-package (last updated 2026-10-24)