hindsight-upgrade について
hindsight-skills の更新を管理するスキルです。前処理からの自動起動または手動起動に対応し、アップグレード設定の確認、Git/vendored インストールの処理、更新版の変更履歴表示を行います。
主な機能
- 01前処理からの起動と手動アップグレードに対応
- 02自動アップグレードと更新確認の設定を尊重
- 03Git と vendored のインストール手順に対応
- 04更新状態を記録し確認マーカーを消去
- 05新バージョンの変更履歴を表示
活用シーン
- 01更新通知を受けて hindsight-skills をアップグレード
- 02自動アップグレードや更新確認を設定
- 03アップグレード後の変更内容を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ vectorize-io/ hindsight-skills --skill hindsight-upgradeインストール後、Claude Code で/hindsight-upgradeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CHANGELOG.mdSKILL.md.tmplVERSIONbin/hindsight-confighindsight-update-check詳細
Hindsight Skills のアップグレード
hindsight-skills のアップグレードを管理します。このスキルは次の 2 つの方法で呼び出されます。
UPGRADE_AVAILABLEまたはJUST_UPGRADEDが検出されたとき、プリアンブルによって自動的に/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