skills/setup-pypi-ci/SKILL.md
Add the standardized CI publish workflow (`.github/workflows/publish.yml` + `make release`) to an existing Python project so PyPI releases happen on tag push. Use when a project still publishes via a local script (`publish.py`, `hatch publish`, `twine upload`) or has no automated publish at all.
npx skillsauth add alexeygrigorev/.claude setup-pypi-ciInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
After this skill: release = bump version → commit → push → make release. CI builds and uploads.
publish.yml to .github/workflows/publish.yml.Makefile into the project's Makefile. Replace <pkg> with the actual package directory (use src/<pkg> if applicable).PYPI_TOKEN=$(grep "^password" ~/.pypirc | head -1 | sed 's/password = //')
gh secret set PYPI_API_TOKEN --body "$PYPI_TOKEN"
Use the release skill to cut the first version.
development
Fetch and transcribe Google Recorder voice notes. Use when the user shares a recorder.google.com link and wants the original audio file, a transcript, or wants to act on a voice note.
development
Release the current project to its package registry and GitHub by bumping the version, pushing a tag, and letting CI publish. Works for any project (Python/PyPI, Rust/crates.io, Node/npm, etc.) that has a CI publish workflow keyed off `v*` tags.
tools
Initialize a new Python library with modern tooling, packaging, tests, and optional CLI support. Use when the user wants to scaffold a new Python package.
content-media
Fetch YouTube video transcripts. Use when the user asks to get a YouTube video transcript, subtitles, or captions, or wants to analyze/summarize a YouTube video.