superskills-upgrade

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

/superskills-upgrade

/superskills-upgrade

Upgrade superskills to the latest version.
将superskills升级至最新版本。

Steps

步骤

Step 1: Find the install directory

步骤1:找到安装目录

bash
if [ -d "$HOME/.claude/skills/superskills/.git" ]; then
  INSTALL_DIR="$HOME/.claude/skills/superskills"
elif [ -d "$HOME/.config/opencode/skills/superskills/.git" ]; then
  INSTALL_DIR="$HOME/.config/opencode/skills/superskills"
else
  echo "ERROR: superskills git install not found"
  echo "Expected: $HOME/.claude/skills/superskills"
  echo "Re-install: git clone https://github.com/ariadoss/superskills.git ~/.claude/skills/superskills && cd ~/.claude/skills/superskills && ./setup"
  exit 1
fi
echo "INSTALL_DIR=$INSTALL_DIR"
REMOTE_URL=$(git -C "$INSTALL_DIR" remote get-url origin 2>/dev/null || echo "unknown")
echo "REMOTE_URL=$REMOTE_URL"
bash
if [ -d "$HOME/.claude/skills/superskills/.git" ]; then
  INSTALL_DIR="$HOME/.claude/skills/superskills"
elif [ -d "$HOME/.config/opencode/skills/superskills/.git" ]; then
  INSTALL_DIR="$HOME/.config/opencode/skills/superskills"
else
  echo "ERROR: superskills git install not found"
  echo "Expected: $HOME/.claude/skills/superskills"
  echo "Re-install: git clone https://github.com/ariadoss/superskills.git ~/.claude/skills/superskills && cd ~/.claude/skills/superskills && ./setup"
  exit 1
fi
echo "INSTALL_DIR=$INSTALL_DIR"
REMOTE_URL=$(git -C "$INSTALL_DIR" remote get-url origin 2>/dev/null || echo "unknown")
echo "REMOTE_URL=$REMOTE_URL"

Step 2: Record current version

步骤2:记录当前版本

bash
OLD_VERSION=$(cat "$INSTALL_DIR/VERSION" 2>/dev/null | tr -d '[:space:]' || echo "unknown")
echo "Current version: $OLD_VERSION"
bash
OLD_VERSION=$(cat "$INSTALL_DIR/VERSION" 2>/dev/null | tr -d '[:space:]' || echo "unknown")
echo "Current version: $OLD_VERSION"

Step 3: Pull latest and re-run setup

步骤3:拉取最新代码并重新运行setup

bash
cd "$INSTALL_DIR"
git fetch origin
REMOTE_VERSION=$(git show origin/main:VERSION 2>/dev/null | tr -d '[:space:]' || echo "unknown")
echo "Remote version: $REMOTE_VERSION"

if [ "$OLD_VERSION" = "$REMOTE_VERSION" ] && [ "$REMOTE_VERSION" != "unknown" ]; then
  echo "ALREADY_LATEST=true"
else
  git pull --ff-only origin main
  ./setup -q
  NEW_VERSION=$(cat "$INSTALL_DIR/VERSION" 2>/dev/null | tr -d '[:space:]' || echo "unknown")
  echo "NEW_VERSION=$NEW_VERSION"
fi
bash
cd "$INSTALL_DIR"
git fetch origin
REMOTE_VERSION=$(git show origin/main:VERSION 2>/dev/null | tr -d '[:space:]' || echo "unknown")
echo "Remote version: $REMOTE_VERSION"

if [ "$OLD_VERSION" = "$REMOTE_VERSION" ] && [ "$REMOTE_VERSION" != "unknown" ]; then
  echo "ALREADY_LATEST=true"
else
  git pull --ff-only origin main
  ./setup -q
  NEW_VERSION=$(cat "$INSTALL_DIR/VERSION" 2>/dev/null | tr -d '[:space:]' || echo "unknown")
  echo "NEW_VERSION=$NEW_VERSION"
fi

Step 4: Report result

步骤4:报告结果

If
ALREADY_LATEST=true
:
Tell the user:
superskills is already up to date (v{OLD_VERSION}).
If upgrade ran: Tell the user:
superskills upgraded: v{OLD_VERSION} → v{NEW_VERSION}
If
OLD_VERSION
equals
NEW_VERSION
, note that setup was re-run but the version didn't change (may have picked up skill updates within the same version).
If
git pull
fails due to local modifications, tell the user to run:
bash
cd "$INSTALL_DIR" && git stash && git pull origin main && ./setup -q
(use the
INSTALL_DIR
value from Step 1)
如果
ALREADY_LATEST=true
告知用户:
superskills已处于最新版本(v{OLD_VERSION})。
如果已执行升级: 告知用户:
superskills已升级:v{OLD_VERSION} → v{NEW_VERSION}
如果
OLD_VERSION
NEW_VERSION
相同,需说明setup已重新运行但版本未变更(可能已获取同一版本内的技能更新)。
如果因本地修改导致
git pull
失败,告知用户运行以下命令:
bash
cd "$INSTALL_DIR" && git stash && git pull origin main && ./setup -q
(使用步骤1中获取的
INSTALL_DIR
值)