コンソールで作ったエージェントは、ant apply では引き取れませんでした
ant apply はファイルからエージェントや環境を作り直します。拒んでくれる場面と、黙って二つ目を作る場面の境目、そして claude-lock.json をコミットする理由を手順つきで整理しました。
ログのタイムゾーンを表示で寄せるか、記録で固定するか
AdMob とストアのレポートと手元のログで一日の切れ目がずれていました。表示側に寄せる方法と記録側を固定する方法を、実際に往復して選び直した判断の記録です。
無音で半分になっていた定期実行と、欠落を捕まえる突き合わせ
1日2回動いているはずのバッチが、実際には1回しか起動していませんでした。エラーは1件も出ていません。期待起動回数と実行記録を突き合わせて、無音の欠落を検出する仕組みを作ります。
使うモデルだけを /model に並べる modelPicker の設定と、置き換えで消える行
Claude Code v2.1.242 で入った modelPicker で、/model のピッカーに自分の行を並べる方法をまとめました。追加と置き換えの違い、プロジェクト設定では読まれない理由、availableModels と重ねたときに選択肢が狭まる境目までを扱います。
空白ひとつで、80件の検査が0件になる — 一括処理を任せる前に置くガード
空白を含むフォルダ名の下で走らせた検査ループが、80件のうち1件も開いていませんでした。断片が実在パスに化ける仕組みを実測で切り分け、削除を伴うバッチに置く件数アサーションまで書き残します。
フォルダを AI に渡す前に鍵を数えたら、ファイル名で見つかるのは18件中5件でした
連携フォルダの中身を、ファイル名と中身の両方から数えた記録です。名前で出た24件のうち本物は5件、中身で出た18件のうち13件は名前に手がかりがありませんでした。値を出力しない検査スクリプトと実行結果、数えた後に決めた運用ルールまで残しています。
同じスキルを二か所に置いていたら、片方だけ中身が痩せていました
同名のスキルが二つのスコープに存在していました。SKILL.md は sha256 まで一致しているのに、片方には本文が名指ししているファイルが入っていません。66本を走査して欠落2件に絞るまでに検出器を三度書き直した記録です。
長い処理を別セッションに任せて待つ — 通知が届かなかったときのための完了マーカー
Claude Code の notify_when_idle で別セッションの完了通知を受け取る手順と、通知が落ちても待ち続けないための完了マーカーの最小実装。3つの状態切り分けを実行結果つきで解説します。
ツール出力10万文字の境界で消える一行 — 実測から組み立てた出力封筒の設計
エージェントのツール出力が10万文字を超えると全文はファイルへ退避され、モデルには先頭を切り取ったプレビューだけが渡ります。手元のリポジトリで実測した生存率と、判断材料を先頭へ押し出す出力封筒の実装をまとめました。
auto モードの設定が、いつの間にか自分でも思い出せなくなっていた — 既定へ戻す claude auto-mode reset の使いどころ
夜間の自動運用を続けるうちに、auto モードの設定を少しずつ触り足していました。ある朝の違和感で、自分が何を変えたのか思い出せないことに気づきます。既定へ戻す claude auto-mode reset を基点にして設定を組み直した、個人開発の片付けの記録です。
空の変数と rm -rf の夜 — Claude Code auto モードの事前確認に助けられた片付けの記録
空になった変数のせいで rm -rf が広範囲に化けかけた夜の記録です。set -u が空文字を素通りさせる理由を手元のシェルで検証し、ドライランを既定にした掃除スクリプトの実行結果まで残しました。
新モデルが増えてもコスト集計をズラさない Claude API 単価レジストリと fail-closed 設計
Opus 4.8 と Haiku 4.5 が Messages API に加わったとき、コード中に散らばった単価がコスト集計を静かに狂わせます。単価を1か所に集約し、未知モデルを fail-closed で弾く実装を、実コード付きで紹介します。