一键导入
release
Manage releases for Python projects. Use when user asks to release, bump version, tag, publish to PyPI, or monitor release workflows. Also use for /release.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Manage releases for Python projects. Use when user asks to release, bump version, tag, publish to PyPI, or monitor release workflows. Also use for /release.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | Release |
| description | Manage releases for Python projects. Use when user asks to release, bump version, tag, publish to PyPI, or monitor release workflows. Also use for /release. |
Manages the full release lifecycle for sunholo-py and similar Python projects: version bumping, local testing, git tagging, pushing to trigger CI/CD, and monitoring GitHub Actions workflows through to PyPI publication.
Most common usage:
User: "release a new patch version"
# This skill will:
# 1. Read current version from pyproject.toml
# 2. Bump patch version (e.g., 0.146.1 → 0.146.2)
# 3. Run local tests (uv run pytest tests)
# 4. Commit version bump via PR (protected branch)
# 5. After merge, create annotated git tag v0.146.2
# 6. Push tag to trigger GitHub Actions
# 7. Monitor workflow status until PyPI publish completes
Invoke this skill when:
scripts/bump_version.sh <patch|minor|major>Reads the current version from pyproject.toml and bumps it.
scripts/monitor_workflows.sh <tag>Monitors GitHub Actions workflows triggered by a tag push.
scripts/check_version.shDisplays the current version from pyproject.toml.
Before any release:
main branch (or the branch to release from)scripts/check_version.sh to see current versionuv run pytest tests to verify all tests pass locallygit status for uncommitted changesRun scripts/bump_version.sh <patch|minor|major> to update pyproject.toml.
Version types:
patch: 0.146.1 → 0.146.2 (bug fixes, CI fixes)minor: 0.146.1 → 0.147.0 (new features, module additions)major: 0.146.1 → 1.0.0 (breaking changes)Protected branch workflow: Since main is typically protected, the version bump needs a PR:
git checkout -b release/v{new_version}gh pr createAfter the version bump is merged to main:
git checkout main && git pull origin main
git tag -a v{version} -m "Release v{version}
- Summary of changes
- Key features or fixes"
git push origin v{version}
Tag format: Always v{version} (e.g., v0.146.1).
Run scripts/monitor_workflows.sh v{version} to watch the three triggered workflows:
| Workflow | File | Purpose |
|---|---|---|
| Test Python Package | test.yml | Run full test suite |
| Create GitHub Release | github-release.yml | Create GitHub Release page |
| Upload Python Package | python-publish.yml | Build, test, publish to PyPI |
The publish workflow steps:
python -m build (sdist + wheel)pip install dist/*.whl && python -c "import sunholo")pip install .[test] && pytest tests)pypa/gh-action-pypi-publishIf a workflow fails:
gh run view <run-id> --log-failedpytest.importorskip)After successful workflow:
pip install sunholo=={version} # Test install from PyPI
See resources/reference.md for GitHub Actions workflow details, troubleshooting guide, and common failure patterns.
uv for local package management, never pip directly.[test] only — channel/adk tests must skip when optional deps are missingsunholo-data/sunholo-pysunholo