update-buttercut について
ButterCutのアップデーターを実行し、変更点を動画編集者向けに説明するスキルです。変更の取得や依存関係の同期を行い、必要に応じてローカル編集内容を退避します。
主な機能
- 01ButterCutアップデーターの実行
- 02編集者向けの変更履歴要約
- 03更新時の依存関係同期
- 04更新・修復結果の報告
活用シーン
- 01ButterCutのインストールを更新
- 02新しい編集機能を把握
- 03依存関係やインストールの問題を特定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ barefootford/ buttercut --skill update-buttercutインストール後、Claude Code で/update-buttercutを入力して読み込まれたか確認します。
詳細
スキル:ButterCut のアップデート
ButterCut を最新バージョンにアップデートし、新機能を動画編集者にも分かりやすい言葉で紹介します。このプロジェクトのユーザーは動画編集者です。Claude が独自にコードを編集し、リポジトリを別のブランチに残してしまうこともあります。アップデーターはその状態を自動で整理します。変更を取得し、適用するものがある場合は未コミットの変更を一時退避して main に切り替え、早送りで更新し、依存関係を同期します。あなたの役割はアップデーターを実行し、追加された内容をユーザーに伝えることです。
ButterCut Pro: Pro 版(ruby lib/buttercut/library.rb edition の出力が pro の場合。core はオープンソース版 ButterCut です)では、アップデーターはインストーラーが保存したライセンスを使ってアップデートサーバーにサインインします。追加で実行する作業はありません。失敗メッセージを解釈する場合に限り、このスキルのディレクトリにある @pro-update.md を読んでください。
ワークフロー
1. アップデーターを実行します — コマンドは1つだけです。それ以外は実行しないでください:
ruby lib/buttercut/update.rb
手順を自分で組み立てて実行しないでください(git stash、git checkout、git pull、git config、bundle install、pip install)。アップデーターがすでに実行します。また、Pro 版でサインインの方法を把握しているのはアップデーターだけです。libraries/ は Git の対象外で、この処理では変更されません。コマンドは JSON オブジェクトを1つ出力します。
updated— 新しいものが届いたかどうかです。before/afterは SHA です(開発者モードでのみ使用します)。changelog—CHANGELOG.mdに追加された行で、すでにユーザー向けに書かれています。ステップ 2 で内容を振り返るため、確認のために git を実行する必要はありません。stashed— ローカルの編集内容を退避した場合はそのスタッシュ名、それ以外はnullです。適用するものがあった場合にのみ編集内容を退避します。現在のインストールは、見つかった状態のまま変更しません。dependencies—bundle、whisperx(リポジトリで固定されたバージョンに同期された venv)、whisperx_wrapper(クラッシュを隠していた古い macOS 用ラッパーで、見つかった場合は書き換えます)のそれぞれがok、repaired、failed、skippedのいずれかです。skippedは通常の状態です(Windows の場合、または標準の venv レイアウトより前のインストールの場合)。whisperxがfailedの場合も更新自体は完了していますが、再実行するまでは文字起こしが正常に動作しない可能性があることをユーザーに伝え、後ほどアップデーターを再実行してください。shell_ruby_ok— macOS のみです(それ以外ではnull)。falseは、エージェントのシェルで正しい Ruby が解決されなくなったことを意味します。2026 年半ばより前にセットアップされたインストールでは~/.zprofileの有効化行が不足しているため、ログインシェル(zsh -lc。一部のエージェント型クライアントがコマンドを実行する方法)では、macOS のpath_helperが mise のシムを後ろに回し、rubyがシステムの Ruby 2.6 にフォールバックします。このバージョンでは ButterCut のスクリプトを解析できません。skills/setup/simple-setup.mdのステップ 2 にある mise の有効化ブロックを再実行してください。このブロックには grep によるガードがあり、冪等なので、不足している有効化行だけを追記します。その後、「以前の ButterCut バージョンに由来する小さなインストールの問題も修正しました」のように、シェルや PATH には触れず、平易な言葉で一度だけ伝えてください。trueの場合は何も伝えません。skills_link_ok—falseは、Windows のチェックアウトで.claude/skillsのリンクがプレーンテキストファイルに戻ったことを意味します(開発者モードがないチェックアウトではシンボリックリンクを作成できません)。その後、Claude から ButterCut のスキルが見えなくなります。先に進む前に、skills/setup/windows-setup.mdのステップ 7 に従って修復してください。error+message— 更新が完了しませんでした。メッセージの内容を平易な言葉でユーザーに伝え、ループして再試行しないでください。network— 何にも手を加える前に取得に失敗しました。オープンソース版の更新は公開されている GitHub リポジトリから取得するため、認証情報は必要ありません。つまり、ネットワークに問題があるか、GitHub に接続できない状態です。しばらくしてから再試行するよう提案してください。local— 更新はダウンロードされましたが、インストール側の状態により適用が妨げられました(mainと異なるローカルコミット、または fast-forward ではないマージ)。待っても解決しません。stashedが設定されている場合、ユーザーの編集内容はすでにそのスタッシュに保存されており、リポジトリはmain上にある可能性があることを伝えてください。メッセージを表示し、問題を整理することを提案してください(動画編集モードでは、git に触れる前に確認してください)。unexpected— アップデーター自体に不具合がありました(メッセージにエラーの内容が示されています)。stashedが設定されている場合、ユーザーの編集内容はそのスタッシュに保存されています。更新が完了しなかったことを伝えてから、report-bugスキルを実行してください。license_missing/license_declined(Pro のみ):@pro-update.md に従ってください。
アップデーターは更新確認の時刻もリセットするため、この更新の直後に ButterCut が再び更新を尋ねることはありません。
2. ユーザーが何を得たかを伝える — ユーザーの言語で。 ステップ 1 の changelog の行はすでにユーザー向けに書かれています。リリースノートのように、1〜2 文で内容を振り返り、最初に新しくできるようになったことを伝えてください(「ButterCut で写真を扱えるようになりました。静止画をライブラリに追加して、カットで使えます」など)。続いて:
- エディションの違いに注意してください。 リリースのセクションでは、変更点が
### ButterCut (free)と### ButterCut Proに分けて記載されていることがあります。Pro の項目をどうまとめるかは、このスキルの冒頭で確認したエディション(ruby lib/buttercut/library.rb edition)によって異なります。- Pro インストール(
pro)では、無料版と Pro の両方を利用できます。無料版と Pro の変更点を、どちらも新たにできるようになったこととしてまとめてください。 - core インストール(
core)では、無料版の変更点のみが適用されています。それらは「新たにできるようになったこと」としてまとめ、Pro の変更点は任意の案内として控えめに添えてください。たとえば、「ButterCut Pro にも、マルチトラックのタイムラインとライブプレビューパネルが追加されました。詳しくは buttercut.io をご覧ください。」のようにします。1 文にとどめ、押しつけがましくならないようにしてください。また、更新に### ButterCut Proの項目がなければ、この案内は省略してください。
- Pro インストール(
changelogが空でupdatedが true の場合は、最新の内部改善が適用されていることを伝えてください。どのような改善かは列挙しないでください。updatedが false の場合は、すでに最新の状態だったということです。- まとめでは、ブランチ、コミット、SHA、テスト、バージョンファイル、マイグレーション、
mainには触れないでください。 - 更新によって新しい番号付きリリースのセクションが changelog に追加された場合を除き、バージョン番号を記載しないでください。変更をまとめて公開するときに限り、番号付きリリースが作成されます。その間は、仕様上バージョンファイルが
mainより遅れているため、「まだ 0.7.2 のままです」と伝えても意味がありません。 - 更新後にテストスイートを実行しないでください。 テスト出力が大量に表示されると、問題が起きているように見えます。また、「テストに合格しました」は、動画編集者が尋ねていないことへの回答です。
stashedが設定されていた場合は、「更新前にローカルファイルの編集内容をいくつか退避しました。必要になれば、いつでも戻せます」のように、平易な言葉で一度だけ伝えてください。自動で再適用しようとしないでください。
(開発者モードでは、.buttercut_mode が存在するため、上記のペルソナに関するルールは適用せず、技術的に報告してください。バージョン、SHA、テストスイートの実行に触れても問題ありません。)