CF教材コンテンツパイプライン構築
朝、新しいリポジトリに claude-code の初期設定を流し込むところから始めた。夕方には421ページの画像ファイルがフォルダに並び、仕訳データがスプレッドシートに流れ込み、業務フロー図がSVGとして書き出されていた。1日で「素材の山」が「パイプラインの上に載った状態」に変わった。
リポジトリの新規セットアップ
ex-eurekpuリポジトリを新規作成し、Claude Codeの設定を整えた。
CLAUDE.mdにプロジェクト概要と開発方針を記述.claude/配下にルールファイルとスキル定義を配置- ディレクトリ構造を決定(
data/,scripts/,output/,docs/)
既存のmdx-playgroundプロジェクトで運用しているClaude Code設定をベースに、教材コンテンツ向けにカスタマイズした。
原始データから仕訳データの自動生成
借入金等のCF原始データから、マネーフォワード(MF)クラウドにインポートできる仕訳データをGoogleスプレッドシート上に生成した。
MFフォーマットへの対応
MFクラウドの仕訳インポートは27列の固定フォーマットを要求する。列の過不足があるとインポートが無言で失敗する。
対応した主なポイント:
- 27列の完全一致: 取引日、借方勘定科目、借方補助科目、借方金額、貸方勘定科目、貸方補助科目、貸方金額、摘要...と続く全列を正確に配置
- 補助科目への銀行名配置: 普通預金や借入金の補助科目に銀行名を入れることで、MF側で口座残高が自動集計される
- 複合仕訳の行分割: 1取引で借方・貸方が複数行に分かれるケースを、MFの「取引No」列でグルーピング
スプレッドシートの数式で変換ロジックを組んだため、元データの数値を差し替えるだけで新しい期間の仕訳が生成される。
スキャンPDF教材の全ページ画像変換
107MB、421ページのスキャンPDF教材を扱えるかたちに変換した。
画像変換
PDFの各ページをPNG画像に変換した。pdftoppm を使い、300dpiで出力。421ページ分の画像ファイルが生成され、ファイル名にページ番号を振った。
pdftoppm -png -r 300 textbook.pdf output/pages/page
目次スプレッドシートの作成
書籍のページ番号とスキャンPDFのページ番号にはズレがある(表紙・前書き等でオフセットが発生する)。この対応表をGoogleスプレッドシートに作成した。
- 99行・7章構成: 章ごとにセクションを分け、各項目に書籍ページとスキャンページの両方を記録
- 画像ファイルへのリンク: 各行からPNG画像を参照できるよう、ファイルパスの列を追加
- 進捗管理列: コンテンツ化が完了したかどうかのチェックボックス列を用意
この対応表があることで、「教科書の第3章を開きたい」→「スキャンの何ページ目か」→「どの画像ファイルか」が一直線につながる。
ワークフローのSVGスイムレーン図
ユーザー(人間)とAI(Claude Code)の作業分担を可視化するため、SVGのスイムレーン図を作成した。
描いた内容
- ユーザーレーン: 原始データの準備、スプレッドシートの確認・修正、最終チェック
- AIレーン: データ変換、フォーマット整形、画像変換、目次生成
- 共同作業: レビューとフィードバックのループ
Excel上で管理していた業務フローをGoogleスプレッドシートに移行し、SVG図と対応させた。Excelファイルを開かなくてもブラウザ上でフロー全体を俯瞰できるようになった。
翌日TODOリスト
Udemy向けの目次設計を中心に、翌日の作業リストをMarkdownで作成した。
- 教材の章立てからUdemy講座のセクション構成を設計する
- 1セクションあたりの分量目安を決める
- 既存のUdemy講座と内容の重複・補完関係を整理する
振り返り
421ページのPDFを画像に変換し終えたとき、出力フォルダのファイル一覧をスクロールしながら「素材は揃った」と感じた。ただ、素材が揃うことと教材として使えることの間には距離がある。目次スプレッドシートを作る作業で、書籍の構成を1項目ずつ追いかけ直したのが結果的に一番の収穫だった。どの章が重く、どの章が軽いかが数字で見えた。
仕訳データの27列フォーマットは、1列ズレるだけでインポートが通らない。最初の数回は「なぜ失敗するのか」がわからず、列を1つずつ数え直した。MFのインポート仕様書には列名の一覧はあるが、補助科目に何を入れるべきかの説明が薄い。銀行名を補助科目に入れる運用は、実際にMFの残高レポートを見て「ここに銀行名が出るのか」と確認して初めて腑に落ちた。