mcpField
D
day-in-my-life

day-in-my-life

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

day-in-my-life について

day-in-my-lifeは、ユーザー自身のローカルなClaude Codeの履歴から短編映画を作るスキルです。エージェントとの作業を振り返る用途向けで、画面に出す各行をユーザーが確認・承認し、素材はアップロードしません。

主な機能

  1. 01ローカルセッションから原文素材を抽出
  2. 02実際の作業習慣に沿って物語を構成
  3. 03各行の出典を示して承認を依頼
  4. 04弦楽スコアを作成し完成映像を検査

活用シーン

  1. 01個人のClaude Code作業履歴から短編を制作
  2. 02典型的な作業セッションを時系列で振り返る

インストール

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

$npx skills add https://github.com/heygen-com/hyperframes-community-skills --skill day-in-my-life

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

同梱ファイル

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

assets/kit/
brush-ink.js
film.js
hf-bridge.js
props.js
assets/template/
archetypes.json
hyperframes.json
index.html
scenes.js
story.example.json
references/
look.md
score.md
story.md
scripts/
harvest.py
new-film.mjs
package-lock.json
package.json
qc.py
requirements.txt
score.py
setup.sh
shoot.mjs

詳細

のエージェントとして過ごすある一日

エージェントはユーザーとの会話履歴を読み、その内容をもとに短編映画を制作します。

  • **見た目:**二色の筆墨、手書きのタイトル、登場人物はひとつ(墨のしみ)。
  • **物語:**このユーザーが実際に行うことをもとに構成した、時系列に沿った平均的なセッションの一日です(コーダーなら、コーディングの一日になります)。最初のメッセージから、心に残る教訓までを描きます。
  • **音楽:**すべての拍にぴったり合った弦楽曲です。

画面に表示される各行はすべて、出典を示す記録です。レンダリングを始める前に、ユーザーは各行を承認します。

使用する場合/使用しない場合

  • **使用する場合:**Claude Code のユーザーが、エージェントとの作業を題材にした個人向けの映画を希望しており、~/.claude/projects に過去5日間で10件以上のローカルセッションがある場合。
  • **使用しない場合:**他人の履歴、チームの共有ログ、製品マーケティング、またはユーザーが確認しないコンテンツを扱う場合。ローカルのトランスクリプトがない場合(例:claude.ai しか使っていない場合)は中止してください。このスキルが記録を捏造することはありません。

要件と副作用(全項目)

  • **ツール:**Node 22 以上、Python 3.9 以上、PATH 上の ffmpeg。HyperFrames CLI は npx [email protected] に固定されています(初回使用時に npm レジストリからダウンロードされます)。
  • セットアップ(手動で一度だけ):sh scripts/setup.sh は、コミット済みのロックファイルを使用して npm ci を実行します。p5 2.3.2(LGPL-2.1)、p5.brush 2.2.1(MIT)、puppeteer 25.9.0(Apache-2.0。固定バージョンの Chrome for Testing を取得します)。score.py 用に、python3 -m pip install -r scripts/requirements.txt を実行します(numpy、scipy)。
  • 読み取り対象(ローカルのみ):~/.claude/projects/*/*.jsonl(ユーザーのトランスクリプト)、~/.claude/projects/*/memory/*.md、およびトランスクリプト内で参照されているプロジェクトの CLAUDE.md。アップロードされるものはありません。
  • **プレビュー/レンダリング時のネットワークアクセス:**ページは Google Fonts から Gochi Hand フォント(SIL OFL)を読み込みます。それ以外はありません。
  • **書き込み先:**作成した映画フォルダー内のみです。receipts.json、story.json、story.js、music/、renders/ が作成されます。これらにはユーザーの言葉が含まれます。コミットしたり共有したりしないでください。
  • 認証情報は不要で、有料の API 呼び出しもありません。

ワークフロー

  1. セットアップ:sh scripts/setup.sh(一度だけ)に加えて、上記の pip コマンドを実行します。
  2. 収集:python3 scripts/harvest.py --out <film>/receipts.json を実行します。enough が false の場合は中止してください。
  3. ストーリー:routine(ユーザーの平均的なセッションを時系列順に並べたもの)からタイムラインを作成し、各ステップを章の種類に対応づけて、references/story.md に従って記録から内容を埋めます。章は8~13個です。タイトルに使う名前をユーザーに尋ねます。
  4. **プライバシー確認:**画面に表示するすべての行とその出典(セッション、タイムスタンプ)を1つの表にしてユーザーに提示し、修正を受け付けたうえで、明示的な承認を得ます。その後、"approved": true に設定します。
  5. ひな形の作成:node scripts/new-film.mjs <film> を実行します。フォルダー内にある story.json をもとに映画を構築します。その後 story.json を編集した場合は、node scripts/new-film.mjs <film> --sync を実行します。順序、フィールド、キャプションを検証し、秘密情報、メールアドレス、パスをブロックし、URL にフラグを立てます。
  6. デザイン確認:node scripts/shoot.mjs <film> chapters <film>/renders/sheet.jpg --sheet 4 を実行します(各章のペイロード時点のフレームを1枚ずつ出力します)。各章の見やすさ(墨のしみが見える、引用文が読める、切れているものや吹き出しを覆うものがない)を確認し、シートをユーザーに提示します。
  7. 音楽:references/score.md に従って python3 scripts/score.py <film> を実行します。
  8. レンダリング:npx --yes [email protected] check <film> を実行してから、<film> 内で次を実行します。 npx --yes [email protected] render --fps 24 --crf 12 --browser-gpu -o renders/film.mp4。ローカルでレンダリングします。ページの描画には WebGL を使用します。
  9. 品質確認:python3 scripts/qc.py <film> <film>/renders/film.mp4 が合格する必要があります。その後、納品前に音声をオンにして、最初から最後まで一度視聴します。

ルール

  • テンプレートではなく、ユーザーの一日を描きます。 ルーティンによって、どの章をどの順序で登場させるかが決まります。履歴にないステップを追加してはいけません。
  • 根拠となる記録だけを使います。 引用は一字一句そのまま、統計は数えて、名前はユーザーに任せます。実際の発言で裏付けられない章は削除してください。
  • レンダリング前に承認を得ます。 story.approved はユーザーの「はい」によってのみ設定されます。バリデーターは認証情報、メールアドレス、ファイルパスを無条件に拒否します。
  • 時間がスコアです。 タイミングは archetypes.json にあり、scenes.js と score.py の両方が読み込みます。片方だけタイミングを変更してはいけません。
  • 何も停止したままにしません。 すべての章で、カメラ移動、段階的な見せ方、または進行中の動作を維持します。煮立つ様子は質感です。
  • ルックの既定値: SKETCH = 1.8、2階調、キャプションは小文字で末尾にピリオドを付けず、継ぎ目はインクを通します。references/look.md を参照してください。

成功を確認する

  • new-film.mjs --sync でエラーが表示されません。
  • デザインパスシートにすべての章が表示されます。
  • qc.py がすべてのチェックに合格します。
    • コマ送り:約8枚/秒、すべての変化が3フレームのグリッド上にあり、3フレームを超える静止がないこと
    • 継ぎ目:すべてのワイプと飲み込みカットで、インクが完全に塗られたフレームがあること
    • ランプ:タグまで、映像の黒転とスコアの無音化が1フレーム以内に起きること
    • ラウドネス:-19〜-15 LUFS、トゥルーピーク ≤ -1 dBTP

誰のデータも使わずにスモークテストを実行します(架空のストーリー例):

node scripts/new-film.mjs /tmp/dimil && python3 scripts/score.py /tmp/dimil \
  && (cd /tmp/dimil && npx --yes [email protected] render --fps 24 --crf 12 --browser-gpu -o renders/film.mp4) \
  && python3 scripts/qc.py /tmp/dimil /tmp/dimil/renders/film.mp4

ファイル

  • scripts/:
    • harvest.py:ローカルの記録。
    • new-film.mjs:ひな形の作成と検証。
    • shoot.mjs:静止画とシート。
    • score.py:作曲、合成、マスタリング。
    • qc.py:レンダリングのチェック。
    • setup.sh、package.json、package-lock.json、requirements.txt:バージョンを固定した依存関係。
  • assets/kit/:インクエンジン(brush-ink.js、props.js、film.js、hf-bridge.js)。
  • assets/template/:index.html、scenes.js、archetypes.json、hyperframes.json、story.example.json(架空)。
  • references/:story.md(ルーティン → タイムライン → 発言 → プライバシーゲート)、look.md(キット)、score.md(編曲)。

コメント