[{"data":1,"prerenderedAt":382},["ShallowReactive",2],{"content-/cfws-step-lessons-and-video-production":3,"all-pages-for-dir":361,"related-/cfws-step-lessons-and-video-production":362,"og-image-/cfws-step-lessons-and-video-production":381},{"id":4,"title":5,"body":6,"category":341,"concepts":342,"description":343,"extension":344,"meta":345,"navigation":312,"ogImage":342,"path":346,"project_name":347,"published":348,"publishedAt":349,"seo":350,"source":351,"stem":352,"tags":353,"todo":342,"unpublished":348,"updatedAt":342,"__hash__":360},"pages/2026-10/2026-10-08/cfws-step-lessons-and-video-production.md","キャッシュフロー精算表の学習教材づくり：集約シートの差し込みと個別論点の動画18本を複数セッションで並走させた記録",{"type":7,"value":8,"toc":327},"minimark",[9,13,17,20,24,27,30,33,43,46,50,53,122,125,129,136,139,143,154,157,161,164,167,217,220,223,227,234,237,240,243,247,250,257,260,263,267,270,273,284,287,290,298,301],[10,11,5],"h1",{"id":12},"キャッシュフロー精算表の学習教材づくり集約シートの差し込みと個別論点の動画18本を複数セッションで並走させた記録",[14,15,16],"p",{},"CF精算表のステップ学習の動画は、完成した集約シートを「これが集約のシートです」と見せ、あとは参照先として使っているだけだった。\n作り方を一度も教えていない。\nそう指摘すると、Claude Code は台本を確かめ、そのとおりだと返してきた。",[14,18,19],{},"この穴を埋める作業と、個別論点の講義ノートと動画を作る作業を、この日は別々のセッションで同時に進めた。\n同じ CF精算表のファイル群を複数のセッションが触る。\nぶつからずに最後まで行けるのかは、この時点では分からなかった。",[21,22,23],"h2",{"id":23},"集約シートの作り方は各ステップ側に入れるべきだった",[14,25,26],{},"きっかけは、Step 1 の画面を見ながら新しい演習の案を検討していたことだった。\n取引モジュールを「パッケージとして受け取る」前提にすると、Step 7（総合演習）とほぼ同じになる、と Claude Code は指摘した。\n別の演習として立てる意味が出るのは、取引モジュールが無い状態から始める場合だけになる。",[14,28,29],{},"自分は、本来はそれぞれのステップ側で集約シートの作り方を見せるべきだと考えた。\n運転資本の集約や貸付金の集約を作るところが、各論点のステップ学習のどこかに入るはずだ。\nたとえば Step 3 の区間 A でそれを説明しておかないと、区間 B で集約シートを取り込む話とつながらない。",[14,31,32],{},"この判断をもとに、計画書を2本作らせた。",[34,35,36,40],"ul",{},[37,38,39],"li",{},"既存のステップ（2a、3a、4a、5a）に集約シートの作り方を差し込む改善計画",[37,41,42],{},"会計ソフトA の試算表から始める総合演習の計画",[14,44,45],{},"講義ノート（step2〜5）も、集約には1〜2回触れるだけだった。\n2本とも Codex にレビューさせ、致命的な指摘は出なかった。\n判断事項は各3件で、計画書 HTML の3択ボタンで答えた。\n6件とも推奨案 A を選んだ。",[21,47,49],{"id":48},"codex-のレビューは3つのセッションで起動からつまずいた","Codex のレビューは、3つのセッションで起動からつまずいた",[14,51,52],{},"この日、計画書の Codex レビューは起動の段階で何度もつまずいた。\n症状と回避策は、セッションごとに少しずつ違った。",[54,55,56,72],"table",{},[57,58,59],"thead",{},[60,61,62,66,69],"tr",{},[63,64,65],"th",{},"セッション",[63,67,68],{},"症状",[63,70,71],{},"回避策",[73,74,75,92,107],"tbody",{},[60,76,77,81,89],{},[78,79,80],"td",{},"集約シートの計画（14:00）",[78,82,83,84,88],{},"最初の実行が失敗し、公式版のラッパーに切り替えると引数 ",[85,86,87],"code",{},"-","（標準入力）を受け付けない",[78,90,91],{},"mise 版の codex に本文を標準入力で渡す",[60,93,94,97,100],{},[78,95,96],{},"個別論点の計画（14:03）",[78,98,99],{},"サンドボックスの起動に失敗",[78,101,102,103,106],{},"既知の問題として ",[85,104,105],{},"-c windows.sandbox=unelevated"," を付けて再実行",[60,108,109,112,119],{},[78,110,111],{},"ジャンプ画面の計画（15:09）",[78,113,114,115,118],{},"サンドボックスが ",[85,116,117],{},"setup refresh had errors"," を返す",[78,120,121],{},"同じ症状の issue が同日に残っていたので、それを読んで本文を標準入力で渡す",[14,123,124],{},"14:00 のセッションは、ラッパーで再実行する前にルールどおり issue を残していた。\n個別論点のセッションでは、Codex が網羅表を「講義ノート」と「動画」に分けるよう指摘し、それを反映して再レビューを通した。",[21,126,128],{"id":127},"参考書の論点との対応表を探し計画書に並べた","参考書の論点との対応表を探し、計画書に並べた",[14,130,131,132,135],{},"14:03 のセッションでは、参考書の論点と CF精算表のステップ学習の対応を整理したドキュメントを探させた。\n見つかったのは ",[85,133,134],{},"memo/2026-09-16/cf-qa-coverage-map.md"," で、表の本体は同じフォルダの HTML にあった。\n自分は、これをステップ学習の計画書にマージせず、並列で入れるよう指示した。\n個別の論点だと分かるように、セクション名には「個別」と入れてもらった。\n連結の論点は、その次に考える。",[14,137,138],{},"既存の講義ノート（lessons/cashflow-statement）と突き合わせると、CF計算書のしくみの論点は本文にほぼ入っていた。\n抜けていたのは、開示の3問と当座借越の1問だった。\n対応表で「未カバー」と出ていたのは、Excel の取引モジュールに割り当てがあるかどうかで数えていたからだ。\n講義ノートの本文に書いてあるかは、数に入っていなかった。",[21,140,142],{"id":141},"ワークツリーで分け引き継ぎは-clear-で受けた","ワークツリーで分け、引き継ぎは /clear で受けた",[14,144,145,146,149,150,153],{},"CF精算表の別の計画を2つのセッションが同時に進めていた。\nほかのセッションもキャッシュフローのファイルに当たる可能性があるので、自分はワークツリーで作業するほうがいいと考え、そうしてもらった。\n個別論点は ",[85,147,148],{},"cfws-kobetsu"," ブランチ、集約シートは ",[85,151,152],{},"cfws-aggregation"," ブランチに分かれた。\nコミットの途中で、別のセッションのコミットとかち合ってレビュー結果が破棄されたり、ロックファイルの解放を待ったりする場面もあった。",[14,155,156],{},"引き継ぎプロンプトは、ダウンロードフォルダにテキストファイルで書き出させた。\nここで自分は、/clear より /compact で引き継いだほうがいいに決まっている、と言った。\nClaude Code の返事は逆だった。\n今回は /clear のほうが向いていて、そもそも /compact ではコンテキストは0にならない、という。\n次のセッションは、プロンプトファイルのパスを貼るところから始めた。",[21,158,160],{"id":159},"集約シートのセッション台本が計画の見込みより伸びた","集約シートのセッション：台本が計画の見込みより伸びた",[14,162,163],{},"15:36 に再開した集約シートのセッションでは、生成スクリプトの集約部分を共通部品に切り出させた。\npycel の計算は Excel と全269セルが一致した。\n借入金、貸付金、固定資産と総合演習の12冊を作り直し、Excel の全セル比較で値の差は0だった。\npytest は114件すべて通った。",[14,165,166],{},"台本は 2a、3a、3b、4a、4b、5a、5b の7本に手が入った。\n問題は長さだった。",[54,168,169,182],{},[57,170,171],{},[60,172,173,176,179],{},[63,174,175],{},"台本",[63,177,178],{},"変更前",[63,180,181],{},"変更後",[73,183,184,195,206],{},[60,185,186,189,192],{},[78,187,188],{},"3a",[78,190,191],{},"294秒",[78,193,194],{},"414秒",[60,196,197,200,203],{},[78,198,199],{},"4a",[78,201,202],{},"338秒",[78,204,205],{},"446秒",[60,207,208,211,214],{},[78,209,210],{},"3b",[78,212,213],{},"352秒",[78,215,216],{},"454秒",[14,218,219],{},"3a は、計画の見込み（+40〜60秒）を大きく超えた。\n4a と 3b も100秒以上伸びた。\n文を削るかどうかは、自分の返事待ちになった。\n講義ノートに足した表は9列あり、縦書きのように潰れたので、この表だけ折り返さない指定にして横スクロールで見せた。\nモバイル幅のエミュレーションで測ると、ページのはみ出しは0だった。",[14,221,222],{},"自分は、進捗をその都度コミットするよう頼んだ。\n計画書の進捗を書いたコミット（5fad57cb）のあと、このセッションの dev サーバーはメモリ不足でシステムに止められた。\n作業はすべてコミット済みで、失ったものは無かった。",[21,224,226],{"id":225},"個別論点のセッション講義ノート22問と動画18本","個別論点のセッション：講義ノート22問と動画18本",[14,228,229,230,233],{},"もう一方の個別論点のセッションでは、対応表を計画の置き場所に合わせて更新したあと、最初のページとして当座借越を作らせた。\n",[85,231,232],{},"\u003Cem>"," が斜体で出ていたので、デザイン規約の太字と薄マゼンタの下線に直させた。\nモバイル幅ではヘッダーのパンくずが3行に折り返して本文に重なった。\n既存ページでもパンくずは2行になり、ヘッダーの高さ固定は既存の制約だった。\nそこで新しいページのラベルを「当座借越」に縮めて収めた。",[14,235,236],{},"続いて開示の3ページを書かせ、引当金、為替、投資有価証券、社債、自己株式の5ページに進んだ。\n引当金、為替、投資有価証券の数字案は計画書にまとめさせ、判断3件は3択ボタンで推奨の A を選んだ。\n途中のレビューで、設立時の手数料は株式交付費ではなく創立費だという指摘が出た。\n増資を別に置き、株式交付費はその増資に付ける形に直した。\n講義ノートは22問中22問がそろった。\nExcel は12冊を生成し、4章とも Excel 再計算の検算が通った。",[14,238,239],{},"ここで自分は「動画の制作も進めてください。フィードバックをまとめてあります」と送った。\nClaude Code は、memo とダウンロードとデスクトップから17時以降に更新されたファイルを探し回り、見つからないと返してきた。\n音声入力の言い間違いだった。\nフィードバックは後でまとめるので、講義ノートに続けて動画（G）を作ってほしい、と言い直した。",[14,241,242],{},"動画の仕組みは大きい。\nClaude Code は、新しい動画を足す手順をサブエージェントに調べさせ、届いた手順をもとに台本と画面を書いていった。\n台本の一部は、さらにサブエージェントを並列で起動して書かせた。\nS3-3b の Ctrl+[ のジャンプ先は、集約シートが読めない倍率（0.37）だったので、0.84 に直させた。\n同じ見落としを探すため、全文ぶんの Excel 画面の倍率を計算するスクリプトを書かせ、下限を割る箇所を一括で洗い出した。\n最終的に動画は18本になり、22問すべてが講義ノートと動画の両方に入った。",[21,244,246],{"id":245},"同じ日別のセッションは-f5-のジャンプ画面を入れていた","同じ日、別のセッションは F5 のジャンプ画面を入れていた",[14,248,249],{},"15:09 のセッションは、VLOOKUP の Ctrl+[ の場面（excel-scene）から始まった。\nF5 → Enter で戻る場面に、ジャンプの画面を出す修正である。\n計画書の判断3件のうち、3つめに自分は「語りの後に無音を1秒足す」を選んだ。\nClaude Code は、1秒はそのままでは入れられないので2秒（1小節）でよいかと聞いてきた。\n2秒でもいい、と返した。",[14,251,252,253,256],{},"実際の Excel を起動して Ctrl+[ と F5 の挙動を確かめさせ、その結果をそのままエンジンのテストにした。\n途中で、検証スクリプトの中の ",[85,254,255],{},"Where"," という名前が PowerShell の組み込みの別名とぶつかって止まった。\n41本の51か所を置き換え、無音を37か所に差し込んだ。\n差し込んだ音声は37か所すべて、前半が同一で、差し込み部分は無音（-91dB）、後半はちょうど2秒ずれて同一だった。",[14,258,259],{},"「コミットして新着も更新しといてください」と頼んだら、Claude Code は「新着」が何を指すかをリポジトリ内で探し始めた。\n言いたかったのは「進捗」だった。\n言い直して、計画書の進捗を更新させた。\nその過程で、最初のコミット（6e44f4fa）では Codex のレビューが飛ばされていたので、受け直させた。\n指摘を直したうえでゲートを通してコミットし（50dfe516）、計画書の進捗も別にコミットした（5d860f4e）。",[14,261,262],{},"ほかに、朝は fs-scene の倍速ボタンに 2.5倍と3倍を足させた。\nボタンの並びは 1、1.5、1.75、2、2.5、3倍になった。\n昼過ぎには、別の演習（絶対参照）の Excel ファイルがどこにあるかを確かめさせた。",[21,264,266],{"id":265},"gpu-とメモリをセッション同士のメッセージで分け合った","GPU とメモリを、セッション同士のメッセージで分け合った",[14,268,269],{},"音声合成は、GPU で動く Irodori-TTS で行っている。\n集約シートのセッションは、声を作るのは「マージの直前」だと書いてきた。\nそれがいつのことなのかを自分は聞き返し、あわせて頼んだ。\nほかのセッションで音声合成を始めているかもしれないので、メモリがカツカツにならないよう、セッション同士で連絡を取りながら進めてほしい。\n「今」ではなく、台本の確認などを済ませた後の順番のことだ、という答えだった。",[14,271,272],{},"セッション同士のやりとりは、この日いくつも起きた。",[34,274,275,278,281],{},[37,276,277],{},"F5 のジャンプ画面のセッション（別セッション）は、Irodori を使う予定は無いと返してきた。あわせて、CF精算表の音声に「F5 の文の後に2秒の無音」を差し込んだので、合成し直すときは同じ間が入る、という注意を送ってきた。集約シートのセッションは、これを計画書に書いてコミットした",[37,279,280],{},"Step 2〜5 の音声を合成し直したい別セッションは、個別論点のセッションに Irodori を使う予定を聞いてきた。個別論点のセッションは「いまは合成していないので先にどうぞ」と返した。向こうは、始める前と終わった後に一言送ると返してきた",[37,282,283],{},"午後には、ログイン後の戻り先の不具合を見つけた別のセッションに、自分の指示で連絡を送らせた。向こうではすでに直してあった",[14,285,286],{},"個別論点のセッションが合成に入ろうとしたとき、関所のスクリプト（irodori-gate.mjs）はメモリ不足（3.3GB \u003C 6GB）で待ちの判定を出した。\nClaude Code は、そのセッションが残した dev サーバーのプロセス（2.3GB）を PID 指定で止めて空きを作り、18本を1本ずつ順に合成するループを裏で流した。\n合成は始まった。\nしかし途中でメモリが足りなくなり、Claude Code はバックグラウンドの合成ジョブを強制終了した。\n1本目の S1-1 の途中で音声ファイルが2つできただけで、残りの17本は手つかずのまま止まった。",[21,288,289],{"id":289},"学びメモ",[34,291,292,295],{},[37,293,294],{},"完成した集約シートを参照先として使うだけの動画は、作り方を一度も教えていなかった。新しい演習と Step 7 の違いを詰めていく途中で、その抜けが見えた",[37,296,297],{},"並走するセッション同士でも、ファイルはワークツリーで分けられる。分けられないのは GPU とメモリだった。連絡は届いたが、合成ジョブはメモリ不足で止まった",[21,299,300],{"id":300},"明日やること",[34,302,305,315,321],{"className":303},[304],"contains-task-list",[37,306,309,314],{"className":307},[308],"task-list-item",[310,311],"input",{"disabled":312,"type":313},true,"checkbox"," 集約シートの台本（3a、4a、3b）が見込みより100秒以上伸びた件について、文を削るかを決める",[37,316,318,320],{"className":317},[308],[310,319],{"disabled":312,"type":313}," 個別論点の動画18本の音声合成を、ほかのセッションの合成と重ならない時間に1本ずつ流し直す",[37,322,324,326],{"className":323},[308],[310,325],{"disabled":312,"type":313}," 講義ノートと動画へのフィードバックをまとめて渡す",{"title":328,"searchDepth":329,"depth":329,"links":330},"",2,[331,332,333,334,335,336,337,338,339,340],{"id":23,"depth":329,"text":23},{"id":48,"depth":329,"text":49},{"id":127,"depth":329,"text":128},{"id":141,"depth":329,"text":142},{"id":159,"depth":329,"text":160},{"id":225,"depth":329,"text":226},{"id":245,"depth":329,"text":246},{"id":265,"depth":329,"text":266},{"id":289,"depth":329,"text":289},{"id":300,"depth":329,"text":300},"dev",null,"CF精算表のステップ学習に集約シートの作り方を足す計画と、個別論点の講義ノートと動画18本の制作を、ワークツリーで分けた複数の Claude Code セッションで並走させた。音声合成の GPU とメモリの取り合いを、セッション同士のメッセージで調整した一日の記録。","md",{},"/cfws-step-lessons-and-video-production","eurekapu-nuxt4",false,"2026-10-08T00:00:00.000Z",{"title":5,"description":343},"make-diary","2026-10/2026-10-08/cfws-step-lessons-and-video-production",[354,355,356,357,358,359],"キャッシュフロー精算表","Claude Code","Excel","動画制作","ワークツリー","音声合成","H-xTXLF-57vFjli1LUq9zUx62T66pwqkcOeOG-ym1bU",[],[363,367,371,374,378],{"title":364,"path":365,"publishedAt":366},"Excel操作動画のレッスン画面をミラーカラムに直す：自動再生とdev限定カード、CF精算表Step 7のカメラ調整","/excel-scene-mirror-column-autoplay-step7-camera","2026-09-25T00:00:00.000Z",{"title":368,"path":369,"publishedAt":370},"Claude Codeの並列セッションでExcel操作動画を作る：CF精算表講座をStep 2〜5まで進めた一日","/cashflow-worksheet-video-parallel-sessions","2026-09-24T00:00:00.000Z",{"title":372,"path":373,"publishedAt":370},"Excel講座の動画化：TTSの読み替えルールを決め、Excel操作の再現シーンで関数の章を組み直す","/excel-course-video-tts-and-functions-restructure",{"title":375,"path":376,"publishedAt":377},"2026年10月11日の開発日記 - 計算モジュールの動画を分割画面にまとめ、Gitの読み上げをカタカナ台本に切り替えた","/2026-10-11-diary","2026-10-11T00:00:00.000Z",{"title":379,"path":380,"publishedAt":377},"計算モジュールの動画化：Excel画面再現とマインドマップを分割画面にまとめるまで","/sim-modules-video-split-mindmap","https://log.eurekapu.com/og/blog/cfws-step-lessons-and-video-production.png?v=2026-10-08T00%3A00%3A00.000Z&title=%E3%82%AD%E3%83%A3%E3%83%83%E3%82%B7%E3%83%A5%E3%83%95%E3%83%AD%E3%83%BC%E7%B2%BE%E7%AE%97%E8%A1%A8%E3%81%AE%E5%AD%A6%E7%BF%92%E6%95%99%E6%9D%90%E3%81%A5%E3%81%8F%E3%82%8A%EF%BC%9A%E9%9B%86%E7%B4%84%E3%82%B7%E3%83%BC%E3%83%88%E3%81%AE%E5%B7%AE%E3%81%97%E8%BE%BC%E3%81%BF%E3%81%A8%E5%80%8B%E5%88%A5%E8%AB%96%E7%82%B9%E3%81%AE%E5%8B%95%E7%94%BB18%E6%9C%AC%E3%82%92%E8%A4%87%E6%95%B0%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E4%B8%A6%E8%B5%B0%E3%81%95%E3%81%9B%E3%81%9F%E8%A8%98%E9%8C%B2&author=Kei%20Komatsu&sig=83397c7d60ffe865",1791766733841]