sanderdw/hassio-addons/voltviz-release-update
Claude Code and agent skill by sanderdw/hassio-addons
- community
- ext:[{"type":"plugin","description":"Custom plugin integration"}]
Checking that the SKILL.md file is still in the repository.
Update the VoltViz add-on to the latest upstream release, including version bump, changelog, and PR creation. Use when releasing new VoltViz versions.
Install
npx vskill@latest install sanderdw/hassio-addons/voltviz-release-updateSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
VoltViz Release Update
What This Skill Produces
A complete VoltViz add-on release, including:
- Updated app version in
voltviz/config.json - New release entry in
voltviz/CHANGELOG.mdwith upstream changes - New git branch
voltviz-{version}based onorigin/main - When publishing (see step 6): committed changes and a pull request to
mainwith changelog summary
When to Use
Use this skill when:
- A new upstream VoltViz image is published to
ghcr.io/sanderdw/voltviz - You want to bring the add-on in sync with upstream
- You need consistent version tracking across config, changelog, and CI/CD
Inputs
Provide:
- Optional: Target upstream version (example:
0.18.0). If omitted, uses the pinnedMajor.Minor.Patchtag that thelatesttag points to onghcr.io/sanderdw/voltviz.
Procedure
1. Discover Current and Target Versions
- Read
voltviz/config.jsonto find current add-on version (it mirrors the upstream version). - The target version is the pinned
Major.Minor.Patchtag that thelatesttag points to on GHCR (or the user-provided version). Do not take the highest version number: upstream can publish a newer pinned tag (for example0.33.0) that is not yetlatest, and that one is not released. GHCR is the source of truth because the workflow buildsFROMthat image; the upstream CHANGELOG can list a version before its image is published.
```bash IMAGE=sanderdw/voltviz TOKEN=$(curl -s "https://ghcr.io/token?scope=repository:${IMAGE}:pull" | jq -r .token) digest() { curl -sI -H "Authorization: Bearer ${TOKEN}" \ -H 'Accept: application/vnd.oci.image.index.v1+json, application/vnd.docker.distribution.manifest.list.v2+json' \ "https://ghcr.io/v2/${IMAGE}/manifests/$1" | grep -i '^docker-content-digest' | tr -d '\r'; } LATEST=$(digest latest) for T in $(curl -s -H "Authorization: Bearer ${TOKEN}" "https://ghcr.io/v2/${IMAGE}/tags/list?n=1000" \
[ "$(digest $T)" = "$LATEST" ] && echo "$T" done | tail -1 # the target TAG ``` If a higher pinned tag exists than the target, mention it to the user instead of using it.
- Verify the target tag is published for
linux/amd64andlinux/arm64(ignoreunknown/unknownattestation entries):
``bash curl -s -H "Authorization: Bearer ${TOKEN}" \ -H 'Accept: application/vnd.oci.image.index.v1+json, application/vnd.docker.distribution.manifest.list.v2+json' \ "https://ghcr.io/v2/${IMAGE}/manifests/${TAG}" | jq -r '.manifests[].platform | "\(.os)/\(.architecture)"' ``
- Compare to confirm a version bump is needed.
2. Fetch Upstream Changelog
- Read the upstream CHANGELOG.md at https://github.com/sanderdw/voltviz/blob/main/CHANGELOG.md
- Extract the entries for every upstream version after the current add-on version up to and including the target. GHCR may hold versions the add-on skipped (e.g.
0.21.2and0.21.3were folded into add-on0.22.0); their changes belong in this release's entry. - Note: The upstream repo does not use GitHub Releases, so CHANGELOG.md is the source of truth for release notes.
3. Create the Release Branch
- Branch from the latest
mainbefore editing anything, so the release never picks up unrelated local work:
`` git status --porcelain # must be empty; if not, stop and ask the user git fetch origin git checkout -b voltviz-{VERSION} origin/main ``
- The name matches the
voltviz-*.*.*trigger in.github/workflows/voltviz.ymlso the workflow runs on push.
4. Update Configuration Files
- Update
voltviz/config.json: setversionto the target version. - Update
voltviz/CHANGELOG.md: prepend a new entry at the top with: - Version heading:
## [VERSION] - YYYY-MM-DD(use today's date — the date the add-on is released — not the upstream release date) - The same section headings upstream uses for those versions (
### Added,### Changed,### Fixed,### Known limitations, …), in upstream order, omitting empty sections - When consolidating several upstream versions, merge their bullets under a single set of headings
- Keep existing format and style
- Leave
.github/workflows/voltviz.ymlalone: it buildsFROM ghcr.io/sanderdw/voltviz:<config.json version>, so the GHCR tag check in step 1 is what keeps the build working.
5. Validate
voltviz/config.jsonversion and the changelog heading both show the target version.git status --shortlists only the two files above.
6. Commit, Push and Open Pull Request
Only publish when the user asked for a release or PR in this request (invoking this skill by name counts). If they only asked to check or prepare the update, stop after step 5 and summarize the diff.
- Stage changes:
git add voltviz/config.json voltviz/CHANGELOG.md - Commit with message (subject example:
chore: update voltviz to 0.22.2):
``` chore: update voltviz to {VERSION}
- Update add-on version from {OLD} to {NEW}
- Add CHANGELOG entry for {VERSION} release
- [List key upstream changes]
Upstream changelog: https://github.com/sanderdw/voltviz/blob/main/CHANGELOG.md ```
- Push to remote:
git push -u origin voltviz-{VERSION} - Create PR to
mainwith title:chore: update voltviz to {VERSION} - PR body should include:
- Summary of upstream changes
- Added features / visualizers, changes, and fixes (matching the changelog sections)
- Link to upstream changelog
Decision Points
- If upstream CHANGELOG contains duplicates or formatting issues: clean and consolidate.
- If the upstream CHANGELOG has no entry for the target version: stop and ask the user for release notes rather than inventing them.
- If the target tag is not published for
linux/amd64orlinux/arm64: stop and tell the user; do not bump to it. - If the
latestGHCR tag equals the current add-on version: stop and tell the user there is nothing to release.
Completion Criteria
voltviz/config.jsonversion matches target version.voltviz/CHANGELOG.mdhas new top entry with the target version, today's date, and the upstream changes for every version since the last add-on release.- The target version exists as a tag on GHCR for
linux/amd64andlinux/arm64. - Branch
voltviz-{VERSION}created fromorigin/main. - If published: both files (config, changelog) committed together in one atomic commit with subject
chore: update voltviz to {VERSION}, branch pushed, and PR opened tomainwith descriptive body linking upstream changes.
Example Prompt
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.github/skills/voltviz-release-update/SKILL.md
Popularity
- Repository stars
- 60
- Repository forks
- 14
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Extension points
pluginCustom plugin integration
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/sanderdw/hassio-addons/voltviz-release-update)