Skip to content

add publish-pip skill for manual PyPI releases#360

Merged
HumanBean17 merged 1 commit into
masterfrom
chore/publish-pip-skill
Jun 30, 2026
Merged

add publish-pip skill for manual PyPI releases#360
HumanBean17 merged 1 commit into
masterfrom
chore/publish-pip-skill

Conversation

@HumanBean17

Copy link
Copy Markdown
Owner

Summary

Adds a developer skill at .agents/skills/publish-pip/SKILL.md documenting the manual PyPI release workflow for this repo (no CI, no git tags — version lives only in pyproject.toml; releases are built + uploaded with the venv build / twine tools).

Why

The 0.6.6 publish (erase fix) was done from scratch and hit several non-obvious snags. The skill captures the verified runbook so the next release isn't re-derived:

  • version source is only pyproject.toml (line ~7)
  • build + twine are not runtime deps and can be absent from a fresh worktree venv — install + verify with -m build --version / twine --version
  • import build succeeding is a false positive (can resolve to a local build/ namespace dir / stale module) — always check -m build --version
  • clean dist/ build/ *.egg-info before building (re-uploading an existing version is rejected by PyPI)
  • verify the built wheel's Version: from its METADATA before the permanent upload
  • PyPI JSON-API verification fails on local SSL (CERTIFICATE_VERIFY_FAILED) → SSL_CERT_FILE="$(.venv/bin/python -m certifi)"
  • commit + push the version bump (bump version to X.Y.Z) so the repo matches PyPI

Validation

Reference-skill test (non-destructive — no real upload): a fresh subagent followed the skill end-to-end for a hypothetical 0.6.7, executing every safe step and confirming each command runs as written (tooling checks, clean, python -m build, the METADATA version one-liner, the SSL_CERT_FILE PyPI verification). The test caught one broken quick-reference shorthand (SSL_CERT_FILE=$(certifi)certifi isn't an executable) and an overstated import build mechanism; both fixed and re-verified.

Scope

Single new file, no code changes. Separate from the erase fix (PR #348) — kept off that branch to avoid mixing concerns.

🤖 Generated with Claude Code

Encoded runbook for the manual (no-CI, no-tag) PyPI release flow:
version bump in pyproject.toml, .venv build + twine upload, and the
local gotchas hit during the 0.6.6 publish (build/twine absent from a
fresh venv, the 'import build' false positive, SSL_CERT_FILE=certifi
for PyPI API verification, clean dist before upload, verify the built
wheel version before the permanent upload).

Co-Authored-By: Claude <noreply@anthropic.com>
@HumanBean17 HumanBean17 merged commit 4dbfa64 into master Jun 30, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant