搜索

PythonReactSEOPDF
GitHub Skill

update-yourself

Update the wrangler plugin to the latest version by clearing all caching layers. Use when user says "update yourself", "update wrangler", or after pushing changes to the wrangler repo.

samjhecht☆ 3 仓库 Stars1 仓库 Forks

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

查看来源 ↗使用指南

技能说明

Update Wrangler Plugin

This skill updates the wrangler plugin to the latest version from GitHub by clearing all caching layers.

Skill Usage Announcement

MANDATORY: When using this skill, announce it at the start with:

Using Skill: update-yourself | Updating wrangler plugin to latest version

This creates an audit trail showing which skills were applied during the session.

When to Use

  • User says "update yourself" or "update wrangler"
  • After pushing changes to the wrangler GitHub repo
  • When slash commands or skills aren't showing up after changes
  • When plugin behavior doesn't match the latest code

Background: The Caching Problem

Claude Code's plugin system has three layers that can get out of sync:

Layer Location Purpose
GitHub Remote repository Source of truth
Marketplace clone ~/.claude/plugins/marketplaces/{marketplace}/ Local git clone
Installed cache ~/.claude/plugins/cache/{marketplace}/wrangler/ Files Claude Code uses

The /plugin command only reads from the marketplace clone, and only re-installs if version changes. Pushing to GitHub doesn't update the other layers.

Instructions

Step 1: Find the Marketplace Name
# Find which marketplace wrangler is installed from
grep -l wrangler ~/.claude/plugins/marketplaces/*/plugin.json 2>/dev/null | head -1 | xargs dirname | xargs basename

Or check ~/.claude/plugins/installed_plugins.json for the key containing "wrangler" (e.g., wrangler@samjhecht-plugins means marketplace is samjhecht-plugins).

Step 2: Update All Layers

Execute these commands (replace {marketplace} with actual name):

# 1. Update the marketplace clone
cd ~/.claude/plugins/marketplaces/{marketplace} && git fetch origin && git reset --hard origin/main && cd -

# 2. Clear the installed cache
rm -rf ~/.claude/plugins/cache/{marketplace}/wrangler/

# 3. Rebuild MCP bundle (CRITICAL - Claude Code doesn't run postinstall)
cd ~/.claude/plugins/marketplaces/{marketplace} && npm install && cd -

# 4. Reset installed_plugins.json entry (forces reinstall)

Step 3 rebuilds the MCP bundle. This is critical because Claude Code copies plugin files but doesn't run npm install or postinstall scripts. The MCP server requires mcp/dist/bundle.cjs which is built by the postinstall script.

For step 4, edit ~/.claude/plugins/installed_plugins.json and set the wrangler entry to an empty array:

"wrangler@{marketplace}": []
Step 3: Inform User

Tell the user:

Wrangler plugin cache cleared. Please restart Claude Code to complete the update.

The plugin will reinstall from the latest code on next startup.

Automated Script

Execute the script directly:

./scripts/update-wrangler.sh

Or offer to add it to the user's shell config for easy access:

# Add to ~/.zshrc or ~/.bashrc
source /path/to/wrangler/skills/update-yourself/scripts/update-wrangler.sh

# Then just run:
update-wrangler

The script (scripts/update-wrangler.sh) handles:

  • Finding the marketplace name automatically
  • Updating the marketplace clone from origin
  • Clearing the plugin cache
  • Resetting the installed_plugins.json entry

Requires: jq for JSON manipulation (falls back to manual instructions if not installed)

Manual Alternative

If the user prefers not to use the script, provide these manual steps:

  1. Find your marketplace name in ~/.claude/plugins/installed_plugins.json
  2. Pull latest code: cd ~/.claude/plugins/marketplaces/{marketplace} && git pull
  3. Delete cache: rm -rf ~/.claude/plugins/cache/{marketplace}/wrangler/
  4. Rebuild MCP bundle: cd ~/.claude/plugins/marketplaces/{marketplace} && npm install
  5. Edit ~/.claude/plugins/installed_plugins.json - set wrangler entry to []
  6. Restart Claude Code

Verification

After restart, verify the update worked:

# Check the installed commit
cat ~/.claude/plugins/installed_plugins.json | grep -A5 wrangler

# Check commands exist
ls ~/.claude/plugins/cache/{marketplace}/wrangler/*/commands/

Why This Is Necessary

  • Version numbers alone don't trigger updates (same version = no reinstall)
  • The marketplace clone is a local git repo that doesn't auto-fetch
  • installed_plugins.json caches the commit SHA and won't reinstall unless cleared
  • All three layers must be updated for changes to take effect

使用示例

查看来源仓库中的使用示例与配置说明。

查看来源 ↗

来源历史

收录时间
2026-01-20
索引更新时间
2026-01-26
Branch
main

收录与同步日期属于本站记录。源码修改历史请查看来源仓库。

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!