# Update

> Check for updates and upgrade bestwork-agent — plugin cache + hooks + HUD all at once

- Skill: `rlaope/update` (Agent Skill)
- Install (CLI): `npx skillmds@latest add rlaope/update`
- Raw SKILL.md: https://api.skillmd.com/api/skills/rlaope/update/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: rlaope (https://skillmd.com/u/rlaope)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/rlaope/update

---


When this skill is invoked, IMMEDIATELY print:

```
[BW] checking for updates...
```

## Step 1: Compare versions

```bash
CACHE_DIR=$(ls -d ~/.claude/plugins/cache/bestwork-tools/bestwork-agent/*/ 2>/dev/null | sort -V | tail -1)
CURRENT_VERSION=$(jq -r '.version' "${CACHE_DIR}package.json" 2>/dev/null || echo "unknown")
CURRENT_HASH=$(git -C "$CACHE_DIR" rev-parse --short HEAD 2>/dev/null || echo "unknown")
echo "installed: v${CURRENT_VERSION} (${CURRENT_HASH})"

LATEST_HASH=$(curl -s https://api.github.com/repos/rlaope/bestwork-agent/commits/main 2>/dev/null | jq -r '.sha[:7]' 2>/dev/null || echo "unknown")
LATEST_VERSION=$(curl -s https://raw.githubusercontent.com/rlaope/bestwork-agent/main/package.json 2>/dev/null | jq -r '.version' 2>/dev/null || echo "unknown")
echo "latest: v${LATEST_VERSION} (${LATEST_HASH})"
```

## Step 2: If different, upgrade everything

If hashes differ, print:
```
[BW] update available: v{current} ({hash}) → v{latest} ({hash})
[BW] upgrading...
```

Then run ALL of these in sequence:

```bash
# 1. Update plugin cache (git pull)
claude plugin update bestwork-agent@bestwork-tools
```

```bash
# 2. Re-register hooks (cleans up deprecated hooks from settings.json)
CACHE_DIR=$(ls -d ~/.claude/plugins/cache/bestwork-tools/bestwork-agent/*/ 2>/dev/null | sort -V | tail -1)
node "${CACHE_DIR}dist/index.js" install
```

```bash
# 3. Copy latest HUD script
CACHE_DIR=$(ls -d ~/.claude/plugins/cache/bestwork-tools/bestwork-agent/*/ 2>/dev/null | sort -V | tail -1)
cp "${CACHE_DIR}hooks/bestwork-hud.mjs" ~/.bestwork/hud.mjs 2>/dev/null
```

After all done, print:
```
[BW] done! v{latest} ({hash})
  ✓ plugin cache updated
  ✓ hooks re-registered
  ✓ HUD synced
  restart session to apply.
```

## Step 3: If same, no action

```
[BW] you're already on the latest (v{version}, {hash}). no action needed.
```

