2026年4月1日の開発日記
朝6時にGooglebotの2MB制限記事を書き始め、昼はExcelの色塗りを自動化するスキルを2つ完成させ、夕方にSVG図を61箇所直して全削除した。手を動かし続けた一日だった。
今日やったこと
1. 投資銀行モデル書式の自動適用とCF精算表生成スキル構築
Excelの投資銀行カラーコーディング(青=ハードコード、黒=数式、緑=他シート参照)を手作業でやっていたのを /ib-format スキルとして自動化。Excel/Google Sheets両対応にした。Google Sheets APIの batchUpdate + repeatCell で書式適用する際、バッチサイズが大きすぎて失敗→25分割で解決。
CF精算表生成スキル /cf-worksheet は v1→v13 まで13回イテレーション。合計残高試算表を入力にopenpyxlで間接法CF精算表を出力する。主な改善は列削除、グレー濃淡、合計行ボールド、ズーム85%、CFラベル標準マッピング。
主な成果:
/ib-formatスキル(Excel/スプレッドシート両対応)/cf-worksheetスキル(v13完成)cf-labels.json標準CFラベルマッピング
詳細: 投資銀行モデル書式の自動適用とCF精算表生成スキルを構築した
2. 返済予定表モジュール化と仕訳生成パイプライン
Google Sheets上にTPL_返済予定表シートを構築。batchUpdate + updateCells + sheetId 指定で ! 問題を回避した。日割り利息計算(365日固定割り)と最終回端数処理を実装。
gws読み取り→Python変換→gws書き込みのパイプラインを完成させた。Pythonの subprocess からgws認証が通らない問題でハマり、ファイルベースI/Fに切り替えて解決。
主な成果:
- TPL_返済予定表(日割り計算、端数処理対応)
repayment_to_mf_journal.shパイプラインcf-lifecycle-journalスキル
詳細: 返済予定表のモジュール化と会計ソフト仕訳生成パイプラインを構築した
3. Chrome拡張バグ修正と繰越処理API調査
会計ソフトA連携のChrome拡張で statusCallback 未渡しバグを4箇所修正。仕訳インポートがHTTP 200で「完了」表示するのにデータが入らない問題を追跡し、レスポンスHTML内の alert-danger / alert-success チェックを追加。
繰越処理API(POST /term/close?cti={cti})をChrome DevToolsで解析し、一括自動化の実装計画を策定。Codexレビューで「ループ内でCTI再取得すべき」という致命的指摘を受けて計画修正。
主な成果:
- statusCallbackバグ修正(4箇所)
- インポートレスポンス検証追加
- 繰越処理一括自動化計画(明日実装予定)
詳細: Chrome拡張 会計ソフト連携 - statusCallback未渡しバグ修正・インポート検証強化・繰越処理API調査
4. コンテンツ制作とBeautiful Mermaid移行
Googlebot 2MB HTML制限の記事を出典付きで作成。CPE研修(会計士倫理規則)の文字起こしをGoogle Docsから読み取り、7テーマに構造化した記事を作成。
記事にインラインSVG図を6つ追加したが、MDXパーサーが text-anchor 属性を消す問題に直面。61箇所を手動修正しても溢れが止まらず、全削除を決断。Beautiful Mermaid(Mermaid定義→SVG事前生成→画像参照)に移行して解決。
主な成果:
- Googlebot 2MB制限の記事
- CPE研修記事(Beautiful Mermaid図6つ付き)
summarize-meetingスキルのプロジェクトコピー
詳細: SVGのtext-anchor問題に61箇所対応して挫折し、Beautiful Mermaidに移行した話
今日の試行錯誤
| # | テーマ | 試したこと | 結果 | 気づき |
|---|---|---|---|---|
| 1 | Google Sheets書式適用 | batchUpdate一括送信 | 失敗 | バッチが大きすぎた。25分割で成功 |
| 2 | gws認証 | Python subprocess経由 | 失敗 | bash -lがHOMEを上書きして認証情報が見つからない |
| 3 | gws認証 | ファイルベースI/F | 成功 | PythonでJSON生成→Bashで直接gws実行が安定 |
| 4 | SVG text-anchor | MDXでインラインSVG | 失敗 | MDXパーサーがtext-anchor属性を消す |
| 5 | SVG修正 | 61箇所のx座標手動計算 | 失敗 | 日本語テキスト幅が予測できずviewBoxを超える |
| 6 | SVG全削除→Mermaid | Beautiful Mermaid | 成功 | SVG事前生成で属性消失問題を根本回避 |
| 7 | add-task JSON | cat <<HEREDOC | 失敗 | Windowsパスの\Uが不正JSONエスケープに |
| 8 | add-task JSON | Python生成方式 | 成功 | Pythonのjson.dumpsで安全にシリアライズ |
| 9 | CF精算表 | v1→v13イテレーション | 成功 | 対話型で13回回して完成度を上げた |
| 10 | Codexレビュー | codex exec直叩き | 失敗 | サンドボックスで日本語パスが読めない |
| 11 | Codexレビュー | codex-review-docスキル | 成功 | スキル経由で安定動作 |
今日の学び
- Google Sheets APIの
batchUpdateは巨大JSONを避けて小分けにする方が安定する - Pythonの
subprocessから外部CLIを叩くとき、認証情報のHOMEパスが書き換わる罠がある - MDXパーサーはSVGの属性を黙って消す。インラインSVGよりファイル参照が安全
- サンクコストに引きずられず「全削除→別方式」に切り替える判断が結果的に速い
- Codexレビューはスキル経由の方がサンドボックス制限を回避できる
明日やること
- 会計ソフトA繰越処理の一括自動化を実装
- CF精算表: 年次推移表から5年分を一括生成
- 営業CF調整項目: 書籍の情報をコンテキストとして追加