day-in-my-life について
day-in-my-lifeは、ユーザー自身のローカルなClaude Codeの履歴から短編映画を作るスキルです。エージェントとの作業を振り返る用途向けで、画面に出す各行をユーザーが確認・承認し、素材はアップロードしません。
主な機能
- 01ローカルセッションから原文素材を抽出
- 02実際の作業習慣に沿って物語を構成
- 03各行の出典を示して承認を依頼
- 04弦楽スコアを作成し完成映像を検査
活用シーン
- 01個人のClaude Code作業履歴から短編を制作
- 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.jsfilm.jshf-bridge.jsprops.jsassets/template/archetypes.jsonhyperframes.jsonindex.htmlscenes.jsstory.example.jsonreferences/look.mdscore.mdstory.mdscripts/harvest.pynew-film.mjspackage-lock.jsonpackage.jsonqc.pyrequirements.txtscore.pysetup.shshoot.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 呼び出しもありません。
ワークフロー
- セットアップ:
sh scripts/setup.sh(一度だけ)に加えて、上記の pip コマンドを実行します。 - 収集:
python3 scripts/harvest.py --out <film>/receipts.jsonを実行します。enoughが false の場合は中止してください。 - ストーリー:
routine(ユーザーの平均的なセッションを時系列順に並べたもの)からタイムラインを作成し、各ステップを章の種類に対応づけて、references/story.md に従って記録から内容を埋めます。章は8~13個です。タイトルに使う名前をユーザーに尋ねます。 - **プライバシー確認:**画面に表示するすべての行とその出典(セッション、タイムスタンプ)を1つの表にしてユーザーに提示し、修正を受け付けたうえで、明示的な承認を得ます。その後、
"approved": trueに設定します。 - ひな形の作成:
node scripts/new-film.mjs <film>を実行します。フォルダー内にあるstory.jsonをもとに映画を構築します。その後story.jsonを編集した場合は、node scripts/new-film.mjs <film> --syncを実行します。順序、フィールド、キャプションを検証し、秘密情報、メールアドレス、パスをブロックし、URL にフラグを立てます。 - デザイン確認:
node scripts/shoot.mjs <film> chapters <film>/renders/sheet.jpg --sheet 4を実行します(各章のペイロード時点のフレームを1枚ずつ出力します)。各章の見やすさ(墨のしみが見える、引用文が読める、切れているものや吹き出しを覆うものがない)を確認し、シートをユーザーに提示します。 - 音楽:references/score.md に従って
python3 scripts/score.py <film>を実行します。 - レンダリング:
npx --yes [email protected] check <film>を実行してから、<film>内で次を実行します。npx --yes [email protected] render --fps 24 --crf 12 --browser-gpu -o renders/film.mp4。ローカルでレンダリングします。ページの描画には WebGL を使用します。 - 品質確認:
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(編曲)。
コメント
Markdown 対応