mcpField
H
hindsight-upgrade

hindsight-upgrade

github.com/vectorize-ioエージェントワークフロー2045 回インストール28 週間前に更新
リポジトリ

hindsight-upgrade について

hindsight-skills の更新を管理するスキルです。前処理からの自動起動または手動起動に対応し、アップグレード設定の確認、Git/vendored インストールの処理、更新版の変更履歴表示を行います。

主な機能

  1. 01前処理からの起動と手動アップグレードに対応
  2. 02自動アップグレードと更新確認の設定を尊重
  3. 03Git と vendored のインストール手順に対応
  4. 04更新状態を記録し確認マーカーを消去
  5. 05新バージョンの変更履歴を表示

活用シーン

  1. 01更新通知を受けて hindsight-skills をアップグレード
  2. 02自動アップグレードや更新確認を設定
  3. 03アップグレード後の変更内容を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/vectorize-io/hindsight-skills --skill hindsight-upgrade

インストール後、Claude Code で/hindsight-upgradeを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

CHANGELOG.md
SKILL.md.tmpl
VERSION
bin/
hindsight-config
hindsight-update-check

詳細

Hindsight Skills のアップグレード

hindsight-skills のアップグレードを管理します。このスキルは次の 2 つの方法で呼び出されます。

  1. UPGRADE_AVAILABLE または JUST_UPGRADED が検出されたとき、プリアンブルによって自動的に
  2. /hindsight-upgrade を使ってユーザーが直接

インラインアップグレードフロー(プリアンブルから呼び出されます)

プリアンブルが UPGRADE_AVAILABLE <old> <new> を検出したら、次の手順に従います。

ステップ 1:auto_upgrade の設定を確認する
# Check if auto-upgrade is enabled
_HS_BIN_DIR=""
for _d in ~/.claude/skills ~/.codex/skills ~/.kiro/skills ~/.factory/skills; do
  [ -x "$_d/hindsight-upgrade/bin/hindsight-config" ] && _HS_BIN_DIR="$_d/hindsight-upgrade/bin" && break
done
[ -n "$_HS_BIN_DIR" ] && _AUTO_UPGRADE=$("$_HS_BIN_DIR/hindsight-config" get auto_upgrade 2>/dev/null || echo "false")
echo "AUTO_UPGRADE: ${_AUTO_UPGRADE:-false}"

AUTO_UPGRADE が true の場合、ステップ 2 に進み、通知せずにアップグレードを実行します。

AUTO_UPGRADE が false の場合、AskUserQuestion を使って次のように尋ねます。

hindsight-skills {new} が利用可能です(現在のバージョンは {old} です)。どのようにしますか?

選択肢:

  • 今すぐアップグレード — アップデートをインストールして続行します
  • 常に自動アップグレード — 今すぐインストールし、今後は自動アップグレードします
  • 24 時間スヌーズ — 明日もう一度通知します
  • 今後確認しない — アップデートの確認を完全に無効にします

各回答に対して次のように処理します。

  • 今すぐアップグレード:ステップ 2 に進みます
  • 常に自動アップグレード:hindsight-config set auto_upgrade true を実行し、ステップ 2 に進みます
  • 24 時間スヌーズ:スヌーズファイルを書き込み、停止します
# Snooze for 24 hours
_HS_STATE_DIR="${HINDSIGHT_SKILLS_STATE_DIR:-$HOME/.hindsight-skills}"
echo "{new_version} $(date +%s)" > "$_HS_STATE_DIR/update-snoozed"
  • 今後確認しない:hindsight-config set update_check false を実行し、停止します
ステップ 2:インストールの種類を判定する
# Read the install source breadcrumb
_HS_STATE_DIR="${HINDSIGHT_SKILLS_STATE_DIR:-$HOME/.hindsight-skills}"
_INSTALL_SOURCE=""
[ -f "$_HS_STATE_DIR/install-source" ] && _INSTALL_SOURCE=$(cat "$_HS_STATE_DIR/install-source")
echo "INSTALL_SOURCE: ${_INSTALL_SOURCE:-not found}"

INSTALL_SOURCE が空、またはパスが存在しない場合は、ユーザーに次のように伝えます。

hindsight-skills のインストール先が見つかりません。クローンしたリポジトリからセットアップを再実行してください。

cd /path/to/hindsight-skills && ./setup

その後、停止します。

ステップ 3:旧バージョンを保存する
_HS_STATE_DIR="${HINDSIGHT_SKILLS_STATE_DIR:-$HOME/.hindsight-skills}"
_INSTALL_SOURCE=$(cat "$_HS_STATE_DIR/install-source")
_OLD_VERSION=$(cat "$_INSTALL_SOURCE/VERSION" 2>/dev/null | tr -d '[:space:]')
echo "OLD_VERSION: $_OLD_VERSION"
ステップ 4:アップグレードする

インストール元が git リポジトリかどうかを確認します。

_INSTALL_SOURCE=$(cat "${HINDSIGHT_SKILLS_STATE_DIR:-$HOME/.hindsight-skills}/install-source")
cd "$_INSTALL_SOURCE"
if [ -d .git ]; then
  echo "INSTALL_TYPE: git"
else
  echo "INSTALL_TYPE: vendored"
fi

Git インストール:

_INSTALL_SOURCE=$(cat "${HINDSIGHT_SKILLS_STATE_DIR:-$HOME/.hindsight-skills}/install-source")
cd "$_INSTALL_SOURCE" && git pull origin main && ./setup

ベンダー提供のインストール(.git ディレクトリなし — ダウンロードまたはコピーされたもので、クローンされたものではありません):

_INSTALL_SOURCE=$(cat "${HINDSIGHT_SKILLS_STATE_DIR:-$HOME/.hindsight-skills}/install-source")
_PARENT=$(dirname "$_INSTALL_SOURCE")
_NAME=$(basename "$_INSTALL_SOURCE")
cd "$_PARENT"
# Clone fresh, run setup, move into place
git clone https://github.com/vectorize-io/hindsight-skills.git "${_NAME}-upgrade-tmp"
cd "${_NAME}-upgrade-tmp" && ./setup
cd "$_PARENT"
rm -rf "$_NAME"
mv "${_NAME}-upgrade-tmp" "$_NAME"
ステップ 5:マーカーを書き込み、状態をクリアする
_HS_STATE_DIR="${HINDSIGHT_SKILLS_STATE_DIR:-$HOME/.hindsight-skills}"
echo "$_OLD_VERSION" > "$_HS_STATE_DIR/just-upgraded-from"
rm -f "$_HS_STATE_DIR/last-update-check"
rm -f "$_HS_STATE_DIR/update-snoozed"
ステップ 6:変更点を表示する

インストール済みのスキルから CHANGELOG.md を読み込み、旧バージョンから新バージョンまでの変更点をユーザーに表示します。

# Find the changelog
for _d in ~/.claude/skills ~/.codex/skills ~/.kiro/skills ~/.factory/skills; do
  [ -f "$_d/hindsight-upgrade/CHANGELOG.md" ] && cat "$_d/hindsight-upgrade/CHANGELOG.md" && break
done

変更履歴を解析し、旧バージョンと新バージョンの間にあるセクションのみを表示します。次の形式を使用します。

hindsight-skills をアップグレードしました:{old} → {new}

{該当する変更履歴の項目}

その後、ユーザーの元のタスクを続行します。


JUST_UPGRADED の処理

プリアンブルが JUST_UPGRADED <old> <new> を検出した場合、アップグレードは前のセッションですでに完了しています。「変更点を表示する」(上記のステップ 6)を表示してから、続行します。


単独での使用

/hindsight-upgrade を直接呼び出した場合:

強制的に確認する(キャッシュを無視)
# Clear cache and run check
_HS_STATE_DIR="${HINDSIGHT_SKILLS_STATE_DIR:-$HOME/.hindsight-skills}"
rm -f "$_HS_STATE_DIR/last-update-check"
rm -f "$_HS_STATE_DIR/update-snoozed"

# Find and run the update check
for _d in ~/.claude/skills ~/.codex/skills ~/.kiro/skills ~/.factory/skills; do
  [ -x "$_d/hindsight-upgrade/bin/hindsight-update-check" ] && "$_d/hindsight-upgrade/bin/hindsight-update-check" && break
done

出力が UPGRADE_AVAILABLE の場合は、ステップ 1 からインラインアップグレードフローに従います。

出力が空の場合は、ユーザーに「hindsight-skills は最新です(バージョン {version})。」と伝えます。

出力が JUST_UPGRADED の場合は、変更点を表示します。

設定の管理

ユーザーは /hindsight-upgrade を使って設定を管理することもできます。

  • 「自動アップグレードを有効にする」 → hindsight-config set auto_upgrade true
  • 「アップデートの確認を無効にする」 → hindsight-config set update_check false
  • 「アップデートの確認を再び有効にする」 → hindsight-config set update_check true
  • 「設定を表示する」 → hindsight-config list

コメント