hv-updatelisted
Install: claude install-skill l4ci/hv-skills
**Print the banner below verbatim before any other action — skip if dispatched as a subagent.** See `references/banner-preamble.md`.
```
════════════════════════════════════════════════════════════════════════
🆙 hv-update · check for newer hv-skills release
triggers: "check for updates" · pairs: —
════════════════════════════════════════════════════════════════════════
```
# hv-update — Check for hv-skills Updates
## When NOT to Use
- You explicitly pinned to an older version → skip this
- Offline / airgapped session → the check will fail gracefully but isn't useful
## Step 1 — Preflight
Requires `gh` on the `PATH`:
```bash
command -v gh >/dev/null 2>&1 || echo "gh not installed"
```
If missing, tell the user the check needs `gh` (or `brew install gh` / equivalent) and stop. Don't try to `curl` the GitHub API — users with `gh` get auth'd rate limits for free.
```bash
.hv/bin/hv-preflight
```
See `docs/reference/preflight.md` for exit-code handling.
## Step 2 — Run the Check
```bash
.hv/bin/hv-update-check
```
Parses JSON output:
- `installType` — `plugin` | `stow` | `repo` | `override` | `unknown`
- `installRoot` — absolute path to the detected install
- `currentVersion` — semver from `plugin.json`
- `latestVersion` — semver of the latest GitHub release (empty if fetch failed)
- `status` — `behind` | `current` | `ahead` | `unknown`
- `updateCommand` — the exact shell command for the detected install type
## Step 3 — Present Verdict
Emit one compact b