PluginBench
Skill
Review
Audit score 70

ce-update

everyinc/compound-engineering-plugin

Check if compound-engineering plugin is up to date and recommend updates.

What is ce-update?

Verifies the installed compound-engineering plugin version against the upstream version on main. Use when users ask about updating the plugin, checking its version, or when issues might stem from a stale installation. Works only in Claude Code.

  • Compares currently loaded plugin version against upstream version on main branch
  • Fetches upstream version from plugin.json via gh API
  • Detects marketplace cache layout to identify installed version
  • Recommends update command with correct marketplace name if out of date
  • Handles failure cases when gh is unavailable or skill is loaded outside marketplace cache

How to install ce-update

npx skills add https://github.com/everyinc/compound-engineering-plugin --skill ce-update
Prerequisites
  • Claude Code environment (skill only works in Claude Code)
  • GitHub CLI (gh) available for fetching upstream version
  • Plugin installed via standard marketplace cache at ~/.claude/plugins/cache/
Claude Code
Cursor
Windsurf
Cline

How to use ce-update

  1. 1.Invoke the skill when user mentions updating or checking compound-engineering version
  2. 2.Run the three version-probe scripts in parallel: upstream-version.sh, currently-loaded-version.sh, and marketplace-name.sh
  3. 3.Compare the currently loaded version against upstream version
  4. 4.If versions match, report plugin is up to date
  5. 5.If versions differ, provide the claude plugin update command with the correct marketplace name
  6. 6.If scripts fail or skill is outside marketplace cache, explain the limitation and stop

Use cases

Good for
  • User reports issues that might be caused by outdated compound-engineering plugin
  • User asks 'update compound engineering' or 'is ce plugin up to date'
  • Verify plugin version matches latest available in marketplace before troubleshooting
  • Check version before reporting bugs to ensure latest code is running
  • Confirm successful plugin update after running claude plugin update command
Who it's for
  • Claude Code users with compound-engineering plugin installed
  • Developers troubleshooting issues with compound-engineering
  • Users managing plugin versions in marketplace cache

ce-update FAQ

Why does this skill only work in Claude Code?

It relies on the plugin harness cache layout at ~/.claude/plugins/cache/ to determine the installed version. This path structure is specific to Claude Code's marketplace installation system.

What does __CE_UPDATE_VERSION_FAILED__ mean?

The upstream version could not be fetched, typically because GitHub CLI (gh) is unavailable or rate-limited. Tell the user to check gh availability or try again later.

What if the skill is loaded from outside the marketplace cache?

This is normal for local development with `claude --plugin-dir`. Explain that the marketplace install (if any) can be checked by running the skill in a regular Claude Code session without --plugin-dir.

How do I apply the recommended update?

Run the `claude plugin update compound-engineering@{marketplace_name}` command provided by the skill, then restart Claude Code to apply the update.

Why compare against main instead of the latest release tag?

The marketplace installs plugin contents from main HEAD, not release tags. Comparing against tags would false-positive whenever main is ahead of the last tag, which is the normal state between releases.

Full instructions (SKILL.md)

Source of truth, from everyinc/compound-engineering-plugin.


name: ce-update description: | Check if the compound-engineering plugin is up to date and recommend the update command if not. Use when the user says "update compound engineering", "check compound engineering version", "ce update", "is compound engineering up to date", "update ce plugin", or reports issues that might stem from a stale compound-engineering plugin version. This skill only works in Claude Code — it relies on the plugin harness cache layout. disable-model-invocation: true ce_platforms: [claude] allowed-tools: Bash(bash *upstream-version.sh), Bash(bash *currently-loaded-version.sh), Bash(bash *marketplace-name.sh)

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 datecurrently_loaded == upstream:

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

Out of datecurrently_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).