mcpField
C
ce-update

ce-update

github.com/everyincAgent workflows25.8k1.8k installsUpdated today
Repository

About ce-update

ce-update is a Claude Code skill that checks the installed compound-engineering plugin against the version in upstream main and recommends the matching update command when needed.

Key features

  1. 01Checks installed and upstream versions
  2. 02Reads upstream version from plugin.json on main
  3. 03Identifies the marketplace from the skill path
  4. 04Handles unavailable version and non-marketplace cases

Use cases

  1. 01Verify a marketplace plugin installation is current
  2. 02Find the update command for an outdated plugin

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/everyinc/compound-engineering-plugin --skill ce-update

After installing, type/ce-updatein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

scripts/
currently-loaded-version.sh
marketplace-name.sh
upstream-version.sh

Details

From the project README

Check Plugin Version

Verify the installed compound-engineering plugin version matches the upstream plugin.json on main, and recommend the update command if it doesn't. Claude Code only.

The upstream version comes from plugins/compound-engineering/.claude-plugin/plugin.json on main rather than the latest GitHub release tag, because the marketplace installs plugin contents from main HEAD. Comparing against release tags false-positives whenever main is ahead of the last tag (the normal state between releases).

Step 1: Probe versions

Run these three scripts in parallel via the Bash tool. Each prints a single line of output; capture the values for the decision logic below. Use ${CLAUDE_SKILL_DIR} so the path resolves correctly in both claude --plugin-dir local-development sessions and standard marketplace-cached installs.

bash "${CLAUDE_SKILL_DIR}/scripts/upstream-version.sh"
bash "${CLAUDE_SKILL_DIR}/scripts/currently-loaded-version.sh"
bash "${CLAUDE_SKILL_DIR}/scripts/marketplace-name.sh"

If ${CLAUDE_SKILL_DIR} is unset or unresolved (the commands above fail with No such file or directory), the harness does not expose the skill directory — this is not a standard Claude Code session. Treat it the same as the __CE_UPDATE_NOT_MARKETPLACE__ case in Step 2: explain and stop.

scripts/upstream-version.sh reads plugin.json on main via gh api. It prints the version string, or the sentinel __CE_UPDATE_VERSION_FAILED__ if gh is unavailable or rate-limited.

scripts/currently-loaded-version.sh and scripts/marketplace-name.sh parse ${CLAUDE_SKILL_DIR} against the marketplace-cache layout ~/.claude/plugins/cache/<marketplace>/compound-engineering/<version>/skills/ce-update. They print the version segment / marketplace segment, or the sentinel __CE_UPDATE_NOT_MARKETPLACE__ if the path doesn't match (typical for claude --plugin-dir local development).

Step 2: Apply decision logic

Handle failure cases

If scripts/upstream-version.sh printed __CE_UPDATE_VERSION_FAILED__: tell the user the upstream version could not be fetched (gh may be unavailable or rate-limited) and stop.

If scripts/currently-loaded-version.sh printed __CE_UPDATE_NOT_MARKETPLACE__: the skill is loaded from outside the standard marketplace cache. Two cases collapse to the same handling: a claude --plugin-dir local-development session, or a non-Claude-Code platform (this skill is Claude Code-only because it relies on the plugin harness cache layout). Tell the user:

"Skill is loaded from outside the marketplace cache at ~/.claude/plugins/cache/. This is normal when using claude --plugin-dir for local development. No action for this session. Your marketplace install (if any) is unaffected — run /ce-update in a regular Claude Code session (no --plugin-dir) to check that cache."

Then stop.

Compare versions

Up to date — currently_loaded == upstream:

"compound-engineering v{version} is installed and up to date."

Out of date — currently_loaded != upstream:

"compound-engineering is on v{currently_loaded} but v{upstream} is available.

Update with:

claude plugin update compound-engineering@{marketplace_name}

Then restart Claude Code to apply."

The claude plugin update command ships with Claude Code itself and updates installed plugins to their latest version; it replaces earlier manual cache sweep / marketplace-refresh workarounds. The marketplace name is derived from the skill path rather than hardcoded because this plugin is distributed under multiple marketplace names (for example, compound-engineering-plugin for public installs per the README, or other names for internal/team marketplaces).

Comments

Markdown supported