朝にTurso DB(zaimu-suuchi-case100、126セクション)からある会計書籍の中身を引き出してデリバティブの講義ノートをVueで試作した。Codex GPT-5.5にレビューさせてre_open(期首利益剰余金)の表示仕様とprepostedの説明を強化し、スクショはmemo/配下に隔離して.gitignoreに追加。昼にユーザーから「著作権を完全に無視している」「書籍特有の参照(章番号・章タイトル・出典)を本番コンテンツから全削除しろ」という指摘が飛んできて、本文・SVGラベル・対比表ヘッダー・コードコメント・トピック説明文・計画書まで横断で書籍由来表現を消した。プロジェクトルール.claude/rules/book-references.mdを新規作成してCLAUDE.mdから参照させ、テストは1526件すべてグリーンを維持。夕方からは「100論点を全部HTMLに変換したい」依頼で5本のインタラクティブHTMLをサブエージェント並列で作り、共通CSSの切り出し漏れを修正、1FY構成の不自然さを2FY構成(設立→取得を前期prepostedに置く形)に統一して、明日朝9時のリマインドをScheduleRoutineに登録して終わった。
朝: Turso DBから書籍中身を引き出してVue講義ノートを試作
朝一でユーザーから「ある会計書籍の中身、Tursoに入ってたっけ?」と聞かれた。book-knowledge-base データベースに zaimu-suuchi-case100 というテーブルがあり、126セクションがすでに格納済み。クエリを叩いたら章タイトル・本文・図表参照が綺麗に揃って返ってきた。
題材として特定のデリバティブ論点(含み益が出ているがヘッジ会計を適用しないケースと、繰延ヘッジ処理を適用するケース)の2本を選び、Vueで講義ノート derivatives.vue を実装。BSとPLが期をまたいでどう動くかを左右対比で見せる構成にした。
<!-- derivatives.vue: 含み益あり vs 繰延ヘッジ の対比 -->
<JournalExample
:preposted="prepostedFY1"
:journals="journalsFY2"
:scenarios="['ヘッジ会計なし', '繰延ヘッジ処理']"
/>
Codex GPT-5.5 にレビューさせたら、こう返ってきた。
re_open(期首利益剰余金)の表示が暗黙的すぎる。読み手は「なぜいきなり利益剰余金100が期首にあるのか」を辿れない。prepostedの意味も画面上で説明されていないので、初学者には読めない。
指摘どおり、re_open の発生過程を preposted 仕訳として明示し、画面上に「前期末までの累計取引はここで表現されている」という一文を加えた。
スクショを memo/2026-05-02-screenshots/ に置いていたが、書籍画像のキャプチャが混じっているのでリポジトリには絶対に入れたくない。.gitignore に memo/**/*-screenshots/ を追加して公開対象から外した。
昼: 「著作権を完全に無視している」ユーザー指摘で全削除
書籍から取った題材をそのまま引用したつもりはなかったが、Vueのコンポーネントには「あるケースを題材に〜」「書籍◯◯より」「出典: 特定の章」という参照表現が章タイトル・SVGラベル・対比表ヘッダー・コードコメント・topics.tsの説明文まで散らばっていた。ユーザーから飛んできた指摘はこうだった。
著作権を完全に無視している。書籍特有の参照(章番号・書籍名・出典表記)を本番コンテンツから全部削除して。題材として参考にしたのは事実だが、本番コンテンツに書籍を引用する形を残すのはNG。中立な表現に置き換えて、誰が読んでも書籍に依存していないように見せて。
手が止まった。これまで「出典明記すれば引用扱いで安全」という発想で計画を組んでいたが、それは書籍のコンテンツ構成を借りること自体への同意にはならない。題材として読み込むことと、その章番号や著者名を本番ページに埋め込むことは別問題だ。
書籍由来表現を全部消す作業に切り替えた。
derivatives.vueから書籍参照を全削除- 章タイトルを「ヘッジ会計を適用しないデリバティブ取引」「繰延ヘッジ処理」という中立表現に置き換え
- SVGラベルから書籍由来のケース番号表記を削除し、シナリオ名のみに変更
- 対比表ヘッダーを「ヘッジ会計なし/繰延ヘッジ処理」に統一
derivatives.tsのコードコメントから書籍由来のケース番号表記を全部除去topics.tsの description フィールドから書籍由来の「ケース◯◯参照」表現を削除し、論点名のみで意味が通るように書き直し
テストを走らせると 1526件 全部グリーン。表示テストも対比表のヘッダー名が変わっただけなので問題なく通った。
ルール文書化: .claude/rules/book-references.md を新規作成
同じミスを繰り返さないために、プロジェクトルールに恒久的に残す。.claude/rules/book-references.md を新規作成し、書籍由来表現を本番コンテンツに混入させない方針を明文化した。
# 書籍参照ルール
## 原則: 書籍由来の参照は本番コンテンツに残さない
書籍を題材として参考にすることはあっても、その書籍の章番号・章タイトル・著者名・
出版社名・「出典」表記を本番のVue/HTML/SVG/コードコメント/Markdownに残してはいけない。
## NG例
- ページタイトル: 「ケース◯◯ デリバティブ(含み益あり)」のような書籍の章番号表記
- SVGラベル: 書籍の章番号を含む表記
- コードコメント: `// 書籍◯◯の特定の章を参考`
- description: 「書籍◯◯の章番号◯◯を題材にした〜」のような書籍参照表現
## OK例
- ページタイトル: 「ヘッジ会計を適用しないデリバティブ取引」
- SVGラベル: シナリオ名のみ(「含み益あり」「繰延ヘッジ処理」)
- コードコメント: 論点名で記述(`// 含み益が出ているケース`)
- description: 論点を一般名詞で説明
## 計画書での扱い
「出典明記」を計画に含めない。むしろ逆に「書籍由来表現を削除する」工程を
明示的に組み込む。
CLAUDE.md の Modular Rules セクションから book-references.md を参照するエントリを追加。これでサブエージェントを含むすべての文脈でルールが自動ロードされる。
進行中の計画書からも「出典明記して引用扱いとする」方針を削除し、逆に「書籍由来表現を削除する工程」を明記し直した。
夕方: 「100論点を全部HTMLに変換したい」プロジェクト始動
夕方頃にユーザーから「会計書籍の100論点を全部、独立したインタラクティブHTMLに変換していきたい」と依頼。100連発プロジェクトとして走らせる。
100論点を一気に作るのは無理なので、まず1〜20番を優先的にHTML化する。選定基準を3つ立てた。
- 教育価値: 中級者がつまずきやすい論点を優先
- 見せ場の派手さ: BS/PL対比で「数字が動く瞬間」が映える論点を優先
- 難易度のばらつき: 全部簡単だと退屈なので、難しい論点も1件は入れる
選んだ5論点を、サブエージェント5並列で td-reidai(TAC例題)/kf-reidai-a/kf-reidai-b 系のインタラクティブHTMLとして生成させた。各エージェントには「_journal-example.css を共通参照すること、preposted で前期取引を埋めて2FY構成にすること、書籍参照は一切入れないこと」を明示的に指示。
40分ほどで5本返ってきたが、ブラウザで開いてみると2つ問題があった。
問題1: 共通 _journal-example.css の切り出し漏れ
5本のうち3本のHTMLが、_journal-example.css をリンクせずにスタイルをHTML内に直接書き出していた。エージェントが「共通CSS参照」の指示を見落としたらしい。
差分を眺めると、HTML内の <style> ブロックに913行のCSSが丸ごとコピーされていた。これでは100論点ぶん複製されることになる。3本それぞれから <style> を削除し、<link rel="stylesheet" href="../_journal-example.css"> に置き換え。元の _journal-example.css を見比べて差分が出ていたものは共通側に取り込んだ。
問題2: 「期首にいきなり機械装置500があった」が不自然
5本中4本のシナリオが、期首BSにいきなり「機械装置 500」が立っている1FY構成だった。読み手からすると「なんでこの会社は最初から機械装置を持ってる前提なの?」となる。
2FY構成に統一することにした。
- 前期(preposted): 設立 → 機械装置取得 → 期末まで
- 当期(journals): 減価償却 → 売却・除却・減損 等の論点本番
前期の取引を preposted 配列に並べて、当期のBSの期首数値が「設立と取得の積み上げ結果」として読めるようにする。これで「期首にいきなり機械装置500があった」という不自然さが消えて、期首利益剰余金 re_open の発生過程も画面で追える。
5本のHTMLを2FY構成に書き直し、共通CSS参照に揃えて、index.html(100論点目次)に組み込んだ。index.html には3つのセクションを置いた。
- 100論点リスト: 1〜100の論点名と現在のステータス(ドラフト済み/未着手)
- 選定理由: 1〜20を先に作る方針と教育価値×派手さの選定基準
- ドラフト済みハイライト: 完成した5本へのリンクとサムネイル
進捗を計画書(memo/2026-05-02/case100-html-plan.md)に記録。100本中5本完了、残り95本。
ScheduleRoutine で明日朝9時のリマインド登録
100論点プロジェクトは長丁場になる。今日の文脈を明日の朝に確実に拾えるように、ScheduleRoutine で明日朝9時のリマインドエージェントを登録した。
# 明日朝9時に走らせるリマインダー
schedule: "0 9 * * *"
once: true
prompt: |
会計100論点HTML化プロジェクトの続きを再開して。
- 計画書: memo/2026-05-02/case100-html-plan.md
- 完了済み: 5本(リスト参照)
- 次の優先度: 6〜10番を5並列で
- 重要ルール: .claude/rules/book-references.md を必ず参照
- 構成: 2FY(preposted で前期取引を入れる)
- CSS: 共通 _journal-example.css を必ずリンク
明日朝、ベッドから出る前にClaude Codeを開けば、リマインダーが文脈を全部復元してくれる。
学び
「題材として参考にする」と「本番コンテンツに書籍を引用する」は別問題。 書籍を読み込んで論点を選ぶのは構わないが、章番号や著者名を本番ページに埋め込んだ瞬間に著作権リスクが立ち上がる。出典明記すれば安全という発想は、書籍のコンテンツ構成を借りる行為自体には及ばない。一般名詞で論点を説明できるなら、最初からそうすべきだった。
ルールはCLAUDE.mdから参照させて全エージェントに伝播させる。 .claude/rules/book-references.md を作るだけでは不十分で、CLAUDE.mdから参照を貼ってサブエージェントの文脈にも自動ロードさせる必要がある。これでHTML生成エージェントも書籍参照を入れずに済むようになった。
共通CSSは「指示しても守られない」ことがある。 サブエージェントに「_journal-example.css を共通参照すること」と明示しても、5本中3本がHTML内に書き出してしまった。生成後の差分チェックで <style> ブロックの行数を見るのが手っ取り早い。
1FY構成は不自然になる。 期首にいきなり機械装置500が立っているシナリオは、読み手の理解を遮る。前期 preposted で設立と取得を並べた瞬間に、期首BSが「積み上げの結果」として読めるようになって、re_open の発生過程まで追える。100論点すべて2FY構成に統一する方針を確定した。
長丁場プロジェクトはScheduleRoutineで翌日に橋渡しする。 100本作り切るには複数日かかる。今日の文脈をプロンプトに圧縮して明日朝9時に投げ込むエージェントを仕込んでおけば、再開時のコンテキスト復元コストがほぼゼロになる。
明日やること
- 100論点プロジェクトの6〜10番を5並列でHTML化(ScheduleRoutineで朝9時に自動起動)
- 共通
_journal-example.cssへの参照を強制するため、HTML生成エージェントの指示テンプレに「<style>ブロック禁止、外部CSSリンクのみ」を追記 - 100論点
index.htmlの進捗バーを「5/100完了」と可視化 -
.claude/rules/book-references.mdをdaily-logテンプレからもリンクして、日記生成時にも書籍参照混入を防ぐ - derivatives.vue 以外の既存Vue講義ノートも書籍参照混入をgrepで網羅チェック