Skip to main content
Generaldiegomarino

plugin-updater

Auto-update third-party marketplace plugins on session start

Stars
56
Source
diegomarino/claude-toolshed
Updated
2026-04-08
Slug
diegomarino--claude-toolshed--plugin-updater
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/diegomarino/claude-toolshed/HEAD/plugins/plugin-updater/skills/plugin-updater/SKILL.md -o .claude/skills/plugin-updater.md

Drops the SKILL.md into .claude/skills/plugin-updater.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

/plugin-updater

User request: "$ARGUMENTS"

Task

Manage the third-party plugin auto-updater. Force an immediate update or show status of installed plugins.

Routes

Argument Action
(empty) Force-update all third-party plugins now
status Show plugin health dashboard

Process

Step 1: Resolve skill directory

SKILL_DIR="$(find "$HOME/.claude/plugins/cache" -type d -name "plugin-updater" -path "*/skills/plugin-updater" 2>/dev/null | head -1)"
[[ -z "$SKILL_DIR" ]] && SKILL_DIR="$(find "$HOME" -maxdepth 8 -type d -name "plugin-updater" -path "*/skills/plugin-updater" 2>/dev/null | head -1)"
echo "SKILL_DIR=$SKILL_DIR"

If SKILL_DIR is empty, stop with: "Could not locate the plugin-updater skill directory. Ensure the plugin is installed."

Step 2: Route by argument

If $ARGUMENTS is empty or update → go to Step 3 (force update). If $ARGUMENTS is status → go to Step 4 (status dashboard). Otherwise → show: "Unknown argument. Use /plugin-updater (force update) or /plugin-updater status."

Step 3: Force update

Remove the cooldown timestamp so the hook script runs immediately:

rm -f "$HOME/.claude/plugins/.last-auto-update"

Then run the update script directly:

bash "$(find "$HOME/.claude/plugins/cache" -type f -name "session-update-plugins.sh" -path "*/plugin-updater/hooks/*" 2>/dev/null | head -1)"

Display the output. If the script produced no output, say: "All third-party plugins are up to date."

Step 4: Status dashboard

Run the status script:

bash "$SKILL_DIR/scripts/plugin-status.sh"

Display the output as-is — it's already formatted for terminal display.