verisure-release
Bump version, publish to PyPI, create GitHub release, update HACS manifest
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Bump version, publish to PyPI, create GitHub release, update HACS manifest
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Full deploy pipeline — test, typecheck, deploy to HAOS, smoke test
End-of-session protocol — push, checkpoint, CHANGELOG, docs, todo
Session start protocol — workflow gates, pending work, status report
Structured investigation — HA logs, API trace, code trace. No code changes until approved.
Dispatch 8 parallel agents for full codebase review (line-level + architecture)
| name | verisure-release |
| description | Bump version, publish to PyPI, create GitHub release, update HACS manifest |
Release a new version. Takes a version argument (e.g. /verisure-release 0.7.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 verisure_italy/ custom_components/ — abort on errors.ruff check verisure_italy/ 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/verisure_italy/manifest.json — "version": "X.Y.Z"custom_components/verisure_italy/manifest.json — "requirements": ["verisure-italy>=X.Y.Z"]After editing, verify all three match:
grep '"version"' custom_components/verisure_italy/manifest.json
grep '^version' pyproject.toml
grep 'verisure-italy>=' custom_components/verisure_italy/manifest.json
git add pyproject.toml custom_components/verisure_italy/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.