skills/canhta/deliverable/deliverable-upgrade

deliverable-upgrade

Installation
SKILL.md

Upgrade Deliverable

Upgrade deliverable to the latest version and show what's new.

When to use

  • "upgrade deliverable", "update deliverable", "get latest version"
  • "check for updates"

Flow

Step 1: Detect install type

INSTALL_DIR=""
INSTALL_TYPE=""

if [ -d "$HOME/.claude/skills/deliverable/.git" ]; then
  INSTALL_TYPE="global-git"
  INSTALL_DIR="$HOME/.claude/skills/deliverable"
elif [ -d ".claude/skills/deliverable/.git" ]; then
  INSTALL_TYPE="local-git"
  INSTALL_DIR=".claude/skills/deliverable"
elif [ -d ".agents/skills/deliverable" ]; then
  INSTALL_TYPE="npx-skills"
  INSTALL_DIR=".agents/skills/deliverable"
elif [ -d "$HOME/.claude/skills/deliverable" ]; then
  INSTALL_TYPE="global-vendored"
  INSTALL_DIR="$HOME/.claude/skills/deliverable"
elif [ -d ".claude/skills/deliverable" ]; then
  INSTALL_TYPE="local-vendored"
  INSTALL_DIR=".claude/skills/deliverable"
fi

echo "Install type: $INSTALL_TYPE"
echo "Location: $INSTALL_DIR"

If not found, tell the user to install first: npx skills add canhta/deliverable

Step 2: Check for updates

LOCAL_VER=$(cat "$INSTALL_DIR/VERSION" 2>/dev/null || echo "unknown")
REMOTE_VER=$(curl -sf --max-time 5 "https://raw.githubusercontent.com/canhta/deliverable/main/VERSION" 2>/dev/null || echo "")
echo "Local: $LOCAL_VER"
echo "Remote: $REMOTE_VER"

If LOCAL_VER equals REMOTE_VER, tell user: "Already on the latest version (vLOCAL_VER)." and stop.

If curl fails, fall back to git-based check for git installs:

cd "$INSTALL_DIR"
git fetch origin
LOCAL=$(git rev-parse HEAD)
REMOTE=$(git rev-parse origin/main)
echo "LOCAL=$LOCAL"
echo "REMOTE=$REMOTE"

Step 3: Upgrade

Ask the user before proceeding: "Update available. Upgrade now?"

For git installs (global-git, local-git):

cd "$INSTALL_DIR"
OLD_HEAD=$(git rev-parse HEAD)
git pull origin main
NEW_HEAD=$(git rev-parse HEAD)

Show what changed:

git log --oneline "$OLD_HEAD".."$NEW_HEAD"

For npx-skills:

npx skills add canhta/deliverable --yes

For vendored installs (global-vendored, local-vendored):

TMP_DIR=$(mktemp -d)
git clone --depth 1 https://github.com/canhta/deliverable.git "$TMP_DIR/deliverable"
mv "$INSTALL_DIR" "$INSTALL_DIR.bak"
mv "$TMP_DIR/deliverable" "$INSTALL_DIR"
rm -rf "$INSTALL_DIR/.git" "$INSTALL_DIR.bak" "$TMP_DIR"

Step 4: Confirm

Tell the user:

  • Install type and location
  • What changed (commit log for git, version bump for vendored)
  • "Upgrade complete. All 6 skills updated."
Weekly Installs
1
First Seen
6 days ago
Installed on
amp1
cline1
opencode1
cursor1
kimi-cli1
warp1