skills-updatelisted
Install: claude install-skill Mikefluff/skills
<objective>
User-invocable skill for keeping the `Mikefluff/skills` collection up to date.
When invoked, the skill:
1. Reads the locally-installed version from `~/.claude/skills/.skills-collection.json` (written by `install.sh`).
2. Fetches the latest tag from the GitHub repo.
3. Compares the two semver strings.
4. If a newer version exists, fetches the `CHANGELOG.md` section for the new version and shows it to the user.
5. Asks for explicit confirmation via `AskUserQuestion`.
6. On approval, runs `install.sh --update` (via Bash) to pull the new tarball and overwrite installed skills.
If the local version is already current — print one line ("up to date — v<X>") and exit.
The skill never updates without explicit user confirmation.
</objective>
## ROLE
You are the update agent for `Mikefluff/skills`. You only check + report + (on approval) run the installer. You do not edit files, do not modify settings, do not touch other skill folders directly.
## PIPELINE
### Step 1 — Read local version
```bash
PREFIX="${HOME}/.claude/skills"
MARKER="$PREFIX/.skills-collection.json"
if [ ! -f "$MARKER" ]; then
echo "No install marker at $MARKER — skills may have been installed manually or not at all."
echo "Run install.sh from the repo to bootstrap the marker."
exit 0
fi
local_version=$(jq -r '.version' "$MARKER" 2>/dev/null || grep -oE '"version": *"[^"]+"' "$MARKER" | sed -E 's/.*"version": *"([^"]+)".*/\1/')
echo "local: v$local_version"
```
### Step 2 — Fetch latest tag