From cc10x
Safe cc10x upgrade that preserves local modifications. Stashes diffs, pulls upstream, rebuilds cache, rebases patches. Use this skill when: updating cc10x, upgrading, pulling latest cc10x, syncing plugin, refreshing cache, or checking for new versions. Triggers: update cc10x, upgrade cc10x, pull cc10x, sync plugin, refresh cc10x, check for updates, new version, update plugin, upgrade plugin.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cc10x:updateThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Safe upgrade that preserves your local modifications to cached skill files.
Safe upgrade that preserves your local modifications to cached skill files.
Workflow: Discover versions → Stash local diffs → Pull upstream → Rebuild cache → Rebase patches → Verify.
REGISTRY="$HOME/.claude/plugins/installed_plugins.json"
KNOWN_MARKETPLACES="$HOME/.claude/plugins/known_marketplaces.json"
CACHE_ROOT="$HOME/.claude/plugins/cache/cc10x/cc10x"
BACKUP_DIR="$HOME/.claude/plugins/cache/cc10x/_backup_$(date +%Y%m%d_%H%M%S)"
Read installed_plugins.json → extract cc10x@cc10x entry. If missing → STOP.
Read known_marketplaces.json → extract cc10x.installLocation → MARKETPLACE_ROOT.
Verify $MARKETPLACE_ROOT/.git exists. If missing → STOP.
On any STOP, report which prerequisite is absent (registry entry / marketplace git checkout) and that reinstalling the plugin restores it — a bare STOP leaves the user with no path forward.
$MARKETPLACE_ROOT/plugins/cc10x/.claude-plugin/plugin.jsoncd "$MARKETPLACE_ROOT" && git fetch origin && git log HEAD..origin/HEAD --onelineEnumerate cache files: find "$CACHE_ROOT" -type f \( -name "*.md" -o -name "*.json" -o -name "*.py" \) | sort
For each cached file, diff against marketplace source (pristine → locally-modified, so applying the patch later re-adds your changes):
diff -u "$MARKETPLACE_ROOT/plugins/cc10x/$file" "$CACHE_ROOT/$file"
If diffs found → save to $BACKUP_DIR/patches/ as .patch files. Report which files have local modifications.
Also check for user-added files (in cache but not in marketplace): comm -23 <(cd "$CACHE_ROOT" && find . -type f | sort) <(cd "$MARKETPLACE_ROOT/plugins/cc10x" && find . -type f | sort)
Copy user-added files to $BACKUP_DIR/user-files/
Gate: If local modifications found, ask user: "Stash and continue? Your changes will be rebased after the pull."
cd "$MARKETPLACE_ROOT" && git pull origin mainplugin.jsonmkdir -p "$CACHE_ROOT.new" then copy all files from marketplacemv "$CACHE_ROOT" "$CACHE_ROOT.old" && mv "$CACHE_ROOT.new" "$CACHE_ROOT"cc10x@cc10x version to new version (a failed swap must not leave the registry claiming the new version)For each .patch file in $BACKUP_DIR/patches/:
patch --forward "$CACHE_ROOT/$file" "$BACKUP_DIR/patches/$file.patch" — the explicit target file makes header paths irrelevant, and patch works in $CACHE_ROOT, which is NOT a git repository (so git apply --3way, which needs a repo index, is unavailable there). Fallback: if patch rejects a hunk (.rej file), reapply manually — open the .rej and the rebuilt file, re-edit, then delete the .rej.Restore user-added files from $BACKUP_DIR/user-files/ to $CACHE_ROOT/.
find "$CACHE_ROOT" -type f | wc -l matches expected countinstalled_plugins.json → confirm version updatedpython3 "$CACHE_ROOT/tools/doc_consistency_check.py" if availablerm -rf "$CACHE_ROOT.old" (only after user confirms)npx claudepluginhub romiluz13/cc10x --plugin cc10xUpgrade the local claude-ops ("ops") plugin to the latest published version in one command — refresh the marketplace catalogue, update the installed plugin (with stale-cache force-reinstall fallback), reapply local cache patches, prune every old cache version, rewrite stale version-pinned paths, run per-version migrations, then prompt to reload. Use when the box is on an older plugin version, after a release, or when the cache looks stale.
Syncs cc-settings with upstream Claude Code changelog (maintainer) or updates local cc-settings install (user).
Upgrades Claude Code plugins by aligning skills, hooks, and patterns with latest capabilities and best practices. Use after updates, for modernization, or on user request.