From local-install-skill
Update locally installed skills from their GitHub repositories
How this command is triggered — by the user, by Claude, or both
Slash command
/local-install-skill:update-skillThe summary Claude sees in its command listing — used to decide when to auto-load this command
# Update Locally Installed Skills You are updating Claude Code skills that were installed via `/install-skill`. ## Parse the Input Parse the target argument: `$ARGUMENTS.target` - If empty or not provided: List installed skills and ask which to update - If `--all`: Update all updateable skills - Otherwise: Update the specified skill or repo ## Update Process ### Step 1: Read registry Read `.claude/local-plugins.yaml`. **Migration check:** If `.claude/local-plugins.json` exists but `.yaml` doesn't, run migration first. If no registry found: ### Step 2: Identify what to update **I...
You are updating Claude Code skills that were installed via /install-skill.
Parse the target argument: $ARGUMENTS.target
--all: Update all updateable skillsRead .claude/local-plugins.yaml.
Migration check: If .claude/local-plugins.json exists but .yaml doesn't, run migration first.
If no registry found:
No locally installed skills found.
Use /install-skill to install skills from GitHub.
If --all:
If specific target:
skills sectionsubmodules sectionIf no target:
Update the entire submodule (updates all skills from that repo):
Capture old and new SHA:
# BEFORE fetch/pull
OLD_SHA=$(git -C .claude/submodules/<repo> rev-parse HEAD)
# Fetch and pull
git -C .claude/submodules/<repo> fetch origin
git -C .claude/submodules/<repo> pull origin <branch>
# AFTER pull
NEW_SHA=$(git -C .claude/submodules/<repo> rev-parse HEAD)
Update all skills from this repo in registry with new commitSha.
Re-download and overwrite:
TEMP_DIR=$(mktemp -d)
git clone --depth=1 --branch <branch> https://github.com/<owner>/<repo>.git "$TEMP_DIR"
NEW_SHA=$(git -C "$TEMP_DIR" rev-parse HEAD)
Compare with stored commitSha. If same:
Skill "<name>" is already up to date (sha: <sha>)
If different:
rm -rf ".claude/skills/<skill-name>"
cp -r "$TEMP_DIR/<skillPath>" ".claude/skills/<skill-name>"
rm -rf "$TEMP_DIR"
Update commitSha in registry.
For submodule skills:
For copy skills:
Write updated .claude/local-plugins.yaml with new commitSha values.
No changes:
Updating <skill-name>...
└── Already up to date (sha: abc123)
Updated (submodule):
Updating submodule <repo>...
├── Previous: abc123
├── Updated to: def456
├── Skills updated: brainstorming, tdd
└── Symlinks verified: OK
Skills updated successfully.
Updated (copy):
Updating skill <name>...
├── Previous: abc123
├── Updated to: def456
├── Files replaced in: .claude/skills/<name>
└── Status: Updated successfully
Submodule directory missing:
Error: Submodule not found: .claude/submodules/<repo>
Run `git submodule update --init` or reinstall with /install-skill.
Network error:
Error: Failed to fetch updates
Check your network connection and try again.
Skill not in registry:
Error: Skill "<name>" not found in registry.
Installed skills:
- skill-a (copy mode)
- skill-b (submodule mode)
npx claudepluginhub lagz0ne/local-install-skill --plugin local-install-skill/skill-updateChecks git-repo-backed skills for remote updates, lists stale ones for user selection (or specific/all), fetches changes, reports status, and guides through updating/evaluating.
/deployInstalls skills from skills/ to ~/.claude/skills/ for local Claude Code use. Checks git status and installer, runs bash install-claude-code.sh, verifies files, and summarizes.
/sync-from-claudeSyncs skills from Claude Code (~/.claude/SKILL.md files) to Codex (~/.codex/skills/), Cursor (.cursor/), or Copilot (~/.config/github-copilot/instructions/). Reports copied/skipped counts and names; supports --to, --include-marketplace, --dry-run.
/refresh-knowledgeFetches latest Claude Code plugin documentation via context7 and compares against the local cc-suite skill file, reporting drift or updating the skill.