eisenberg-release
Bump version, publish to PyPI, create GitHub release
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Bump version, publish to PyPI, create GitHub release
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Poll open ha-eisenberg GitHub issues for reporter replies (esp. debug logs), then analyze and report. Use to (re)start issue monitoring — after /clear, at session start, or when waiting on a reporter's log.
Full deploy pipeline — test, typecheck, deploy to HAOS, smoke test
| name | eisenberg-release |
| description | Bump version, publish to PyPI, create GitHub release |
Release a new version. Takes a version argument (e.g. /eisenberg-release 0.2.0).
Abort on any failure.
git status --porcelain must be empty. If not, abort — commit or stash first.pytest tests/ -x -q — abort on failure.pyright eisenberg/ custom_components/ — abort on errors.ruff check eisenberg/ tests/ custom_components/ — abort on errors.master branch. Abort otherwise.Three files to update — all three MUST match:
pyproject.toml — version = "X.Y.Z" (line 3)custom_components/eisenberg/manifest.json — "version": "X.Y.Z"custom_components/eisenberg/manifest.json — "requirements": ["pyeisenberg>=X.Y.Z"]After editing, verify all three match:
grep '"version"' custom_components/eisenberg/manifest.json
grep '^version' pyproject.toml
grep 'pyeisenberg>=' custom_components/eisenberg/manifest.json
git add pyproject.toml custom_components/eisenberg/manifest.json CHANGELOG.md
git commit -m "chore: bump to X.Y.Z"
git tag -a vX.Y.Z -m "vX.Y.Z — <one-line summary from CHANGELOG>"
git push origin master --tags
Ask the user for confirmation before pushing.
rm -rf dist/
python3 -m build
source .env
TWINE_USERNAME=__token__ TWINE_PASSWORD="$PYPI_TOKEN" \
python3 -m twine upload dist/*
Verify the upload succeeded — check for the View at: URL in twine output.
gh release create vX.Y.Z \
--title "vX.Y.Z" \
--notes "$(sed -n '/^## X\.Y\.Z/,/^## [0-9]/p' CHANGELOG.md | head -n -1)" \
dist/*
If the sed extraction fails, ask the user for release notes.
gh release view vX.Y.ZRelease does NOT deploy. The user's own HA instance gets the update via HACS, not via this skill.