mcpField
U
ultrademo-rerun

ultrademo-rerun

github.com/new-xpクリエイティブ・メディア40173 回インストール16 週間前に更新
リポジトリ

ultrademo-rerun について

ultrademo-rerun は、UI変更後にデモ動画を更新する Claude Skill です。プロジェクトと撮影前の条件を確認し、メインの ultrademo Skill に従って再生成とレビューを進めます。

主な機能

  1. 01flow.mjs を含むプロジェクトの検索
  2. 02パイプラインの更新状況と認証の確認
  3. 03前回撮影以降のコード変更の確認
  4. 04リセット、撮影、音声生成、レンダリング
  5. 05新旧動画とアーカイブの比較

活用シーン

  1. 01UI変更後のデモ動画の更新
  2. 02最近のコード変更による影響シーンの特定
  3. 03複数プロジェクトの動画を順次再生成

インストール

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

$npx skills add https://github.com/new-xp/ultrademo --skill ultrademo-rerun

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

詳細

Ultrademo の再実行:UI が変わったら、動画を更新しましょう

これは薄いエントリーポイントで、委譲先に隠されたものはありません。手順は、同じ公開 Apache-2.0 リポジトリ(new-xp/ultrademo)からこのスキルと一緒にインストールされる、隣接する ultrademo スキル .claude/skills/ultrademo/SKILL.md にあります。以下の npm run コマンドは、そのワークスペース独自の package.json スクリプトです(キャプチャ/TTS/レンダリングは、同じリポジトリ内のローカルパイプラインコードで実行し、依存関係はコミット済みの package-lock.json で固定されています)。メインのプレイブックにあるすべてのルールがここでも適用されます(読み取り専用での調査、プロンプトインジェクション対策、情報のマスキング、シークレットの一掃、失敗を正直に伝えるルール、レビューゲート)。このコマンドが扱うのはコールドスタートだけです。適切なプロジェクトを見つけ、コンテキストを読み込んだ状態でプレイブックの 再実行 セクションに進みます。

1. プロジェクトを見つける

projects/*/ を一覧表示します(実際のプロジェクトにはそれぞれ flow.mjs が含まれています)。その後:

  • ユーザーがプロジェクト名を指定した場合、またはプロジェクトが 1 つだけの場合: 確認して進みます。
  • 複数ある場合: プロジェクト名、フローに記載された対象アプリ/URL、最後のレンダリング(out/ 内の最新ファイル)を記載した簡潔な表を表示し、どれを更新するか尋ねます。「すべて」を選択肢として提示します。選択された場合は、以下のループをプロジェクトごとに順番に実行し、最後にプロジェクトごとの概要を報告します。
  • 何もない場合: これは再実行ではありません。新しい動画を作成するため、メインの ultrademo スキルに引き継ぎます。

2. 事前確認(キャプチャ前の簡単なチェック)

  • パイプラインは最新ですか? メインのプレイブックのワークスペース最新状態チェック(ステップ -1)を実行します:git fetch。クローンがアップストリームより遅れている場合は、再キャプチャの前にプルするか尋ねます。再実行はまさに、レンダラーや字幕の改善を取り込むべきタイミングです。黙ってプルしてはいけません。オフラインの場合はスキップして続行します。
  • 認証はまだ有効ですか? フローで profile を使っている場合は、ヘッドレスで保存済みセッションを検証します(フローの URL を読み込み、スクリーンショットを撮り、ログイン画面が表示されていないか確認します)。セッションが無効なら、続行する前にユーザーに npm run login -- <profile> <url> を実行してもらいます。
  • コードベースを利用できますか? アプリのリポジトリにアクセスできる場合は、最後のキャプチャ以降の差分を読みます(前回のレンダリングのタイムスタンプを基準にします)。通常、変更された箇所や壊れたセレクターがすぐに分かるため、キャプチャを実行する前に、影響を受けると予想されるシーンをユーザーに伝えます。
  • 状態のリセット: reset.mjs がある場合は、最初に実行します。フローが状態を変更するのにリセット手順がない場合は、停止して手順を作成します(メインのプレイブックに従います)。

3. 実行

メインのプレイブックの 再実行 セクションに厳密に従います:リセット → npm run capture -- <project> → npm run tts -- <project> → npm run render -- <project>。さらに、前回のレンダリングで使われたバリアントフラグも適用します(out/ を確認し、既存の -vertical、.gif、ステムがあれば同じセットを再レンダリングします)。ナレーションに変更がなければ再請求は発生しません。前回のレンダリングは自動的に out/archive/ に保存されるため、常に変更前後を比較できます。

変更への対応(見た目の変更/セレクターの破損/機能の変更)については、プレイブックの「再実行」セクションで定義されています。そこにある 3 つの手順をそのまま使用します。ゲートに注意してください。純粋な見た目の更新では、新しいスクリプトゲートは不要です(スクリプトはすでに承認済みです)。ただし、機能自体が変更された場合は、ナレーションの編集に通常のスクリプトゲートが適用されます。レビューゲートは常に適用されます。フレームを検証し、保存済みのレンダリングと比較して、シーンごとに目に見える変化を報告します。

4. 報告

プロジェクトごとに、画面上で何が変わったか(保存済みのレンダリングと比較したシーンごとの内容)、セレクターの修復が必要だったシーン、再請求が発生した内容(通常はありません)、出力の保存場所を、メインのプレイブックのルールに従って絶対パスで報告します。目に見える変化がなかった場合は、そのとおり明確に伝えます。何も変更されない更新も、有効で報告可能な結果です。

コメント