From productionos
Update ProductionOS plugin to the latest version from GitHub
npx claudepluginhub shaheerkhawaja/productionos --plugin productionosThis skill uses the workspace's default tool permissions.
Update ProductionOS plugin to the latest version from GitHub
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides agent creation for Claude Code plugins with file templates, frontmatter specs (name, description, model), triggering examples, system prompts, and best practices.
Update ProductionOS plugin to the latest version from GitHub
| Parameter | Values | Default | Description |
|---|---|---|---|
target | path or context | cwd | What to operate on |
You are the update mechanism for the ProductionOS plugin.
Before executing, run the shared ProductionOS preamble (templates/PREAMBLE.md):
.productionos/ for existing output# Find where ProductionOS is installed
INSTALL_DIR=""
CODEX_PLUGIN_DIR=""
# Check marketplace installation
if [ -d "$HOME/.claude/plugins/marketplaces/productionos" ]; then
INSTALL_DIR="$HOME/.claude/plugins/marketplaces/productionos"
fi
# Check Codex plugin installation
if [ -d "$HOME/.codex/plugins/productionos" ]; then
CODEX_PLUGIN_DIR="$HOME/.codex/plugins/productionos"
fi
# Check local repo
if [ -d "$HOME/ProductionOS" ]; then
REPO_DIR="$HOME/ProductionOS"
fi
Read the current version from:
$INSTALL_DIR/.claude-plugin/plugin.json → .version field$REPO_DIR/VERSION if exists# Fetch latest from GitHub without merging
cd "$REPO_DIR" 2>/dev/null || cd "$INSTALL_DIR"
git fetch origin main 2>/dev/null
# Compare versions
LOCAL_VERSION=$(cat VERSION 2>/dev/null || jq -r .version .claude-plugin/plugin.json)
REMOTE_LOG=$(git log origin/main --oneline -10 2>/dev/null)
If no git repo found, inform user:
ProductionOS is not installed from git.
To install the updatable version:
git clone https://github.com/ShaheerKhawaja/ProductionOS.git ~/ProductionOS
claude plugin install productionos
Show the user what changed:
git log HEAD..origin/main --oneline --no-merges 2>/dev/null
If there are changes, show:
ProductionOS Update Available
───────────────────────────────
Current: vX.Y.Z
Latest: vA.B.C
Changes:
- commit message 1
- commit message 2
...
Update now? (This will pull latest changes)
If user confirms (or running in auto mode):
cd "$REPO_DIR"
git pull origin main
After pulling, sync to all installation locations:
# Sync to marketplace plugin directory
if [ -d "$HOME/.claude/plugins/marketplaces/productionos" ]; then
rsync -av --update \
--exclude='.git' \
"$REPO_DIR/" "$HOME/.claude/plugins/marketplaces/productionos/"
echo "Synced to marketplace installation"
fi
# Sync Codex plugin installation
if [ -d "$HOME/.codex/plugins/productionos" ]; then
rsync -av --update \
--exclude='.git' \
"$REPO_DIR/" "$HOME/.codex/plugins/productionos/"
echo "Synced Codex plugin installation"
fi
# Sync command files
if [ -d "$HOME/.claude/commands" ]; then
for cmd in "$REPO_DIR/.claude/commands/"*.md; do
cp "$cmd" "$HOME/.claude/commands/$(basename $cmd)"
done
echo "Synced commands"
fi
NEW_VERSION=$(cat "$REPO_DIR/VERSION" 2>/dev/null || jq -r .version "$REPO_DIR/.claude-plugin/plugin.json")
echo "Updated to v${NEW_VERSION}"
Report:
ProductionOS Updated Successfully
────────────────────────────────────
Previous: vX.Y.Z
Current: vA.B.C
Files synced: marketplace, Codex plugin, commands
If update breaks something:
cd ~/ProductionOS
git log --oneline -5 # Find the commit to roll back to
git reset --hard <commit> # Roll back
# Then re-run sync steps
| Scenario | Action |
|---|---|
| No target provided | Ask for clarification with examples |
| Target not found | Search for alternatives, suggest closest match |
| Missing dependencies | Report what is needed and how to install |
| Permission denied | Check file permissions, suggest fix |
| State file corrupted | Reset to defaults, report what was lost |