silverupdatelisted
Install: claude install-skill alo-exp/silver-bullet
# /silver:update — Update Silver Bullet
Check GitHub for the latest Silver Bullet release, display what changed since your installed version, and install the update.
## Process
### Step 1: Read installed version
Read `$HOME/.claude/plugins/installed_plugins.json`. Try the `silver-bullet@alo-labs` key first; if absent, fall back to the `silver-bullet@silver-bullet` key (legacy installation):
- `version` — currently installed version (e.g. `0.24.1`)
- If neither key exists, treat installed version as `0.0.0`.
Display:
```
## Silver Bullet Update
Checking for updates...
**Installed:** vX.Y.Z
```
### Step 2: Check latest version from GitHub
```bash
curl -fsSL https://api.github.com/repos/alo-exp/silver-bullet/releases/latest \
| jq -r '.tag_name' | sed 's/^v//'
```
If the curl fails or returns empty, output:
```
Couldn't check for updates (offline or GitHub unavailable).
To update manually: reinstall via the active host's plugin manager or package refresh path, or clone from https://github.com/alo-exp/silver-bullet
```
Then exit.
**Validate the version string before proceeding.** After extracting `$LATEST`, verify it is a valid semver (`MAJOR.MINOR.PATCH` — digits only, no pre-release suffix):
```bash
if [[ -z "$LATEST" ]] || ! [[ "$LATEST" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "GitHub returned an unexpected version string: '${LATEST:-<empty>}'"
echo "Expected semver format (e.g. 0.23.6). Aborting to prevent path/ref corruption."
exit
fi
```
If validatio