同じスキルを二か所に置いていたら、片方だけ中身が痩せていました
同名のスキルが二つのスコープに存在していました。SKILL.md は sha256 まで一致しているのに、片方には本文が名指ししているファイルが入っていません。66本を走査して欠落2件に絞るまでに検出器を三度書き直した記録です。
長い処理を別セッションに任せて待つ — 通知が届かなかったときのための完了マーカー
Claude Code の notify_when_idle で別セッションの完了通知を受け取る手順と、通知が落ちても待ち続けないための完了マーカーの最小実装。3つの状態切り分けを実行結果つきで解説します。
Claude Code の headersHelper に移したら、プロジェクト配下のカタログだけ認証が通らなくなりました
自前のプラグインカタログを headersHelper へ移す途中で、ユーザースコープでは動くヘルパーがプロジェクト配下だけ落ちました。原因は認証情報の非継承です。動くヘルパー2種と実測した実行コスト、無人実行での注意点をまとめました。
ANTHROPIC_MODEL を消さないまま ANTHROPIC_DEFAULT_MODEL を足しても、始まるモデルは変わりません
v2.1.236 で追加された ANTHROPIC_DEFAULT_MODEL は ANTHROPIC_MODEL の後継ではありません。二つの効き方の違いと、モデル指定の散らばりを一覧する Python スクリプトをまとめました。
Claude Code の read deny が許可フォルダの内側まで届いていなかった話
秘密ファイルとソースが同じツリーに同居する個人開発環境で、permissions.deny の Read ルールが実際にどのファイルまで届いているかを数え直した記録です。棚卸し用のスクリプトつき。
Claude Code で「今後確認しない」を押した範囲を棚卸しする
確認ダイアログで「今後確認しない」を選んだあと、自分が何を許可したのかを説明できるでしょうか。手元の設定を数えるスクリプトと、最小から足していく権限の組み立て方をまとめました。
起動しただけで1万トークン消えるスキルを、大きさではなく到達率で切り分ける
自分用の運用スキルが、呼び出しただけで約1万トークンを消費していました。節ごとにトークンを測り、最大の節ほど切り出してはいけない理由と、到達率で分けたときの実測値を、監査スクリプトつきでまとめます。
サーバーレスに置いた MCP サーバーで、listen ストリームが張り直され続けていました
エラーは何も出ていないのに、MCP サーバーへの接続だけが増え続ける。固定タイムアウトで切られるストリームと再購読が噛み合ったときの挙動を、最小の再現コードで確かめました。
一度キャッシュに載った500ページは、直しても消えません
修正をデプロイしたのに壊れたページが出続けたことがあります。原因はコードではなくエッジキャッシュでした。ステータスコードだけを見る保存判定が、200で返る壊れたHTMLを通していたのです。本文の完全性で保存可否を決めるガードの実装と、運用で調整した誤検知の線引きを、実際に踏んだ経緯とともに書きました。
調べ物タスクの WebFetch キャッシュ TTL を、自分の使い方に合わせて選ぶ
Claude Code の WebFetch には URL キャッシュの TTL 設定があります。同じページを何度も取りに行く調べ物タスクで、取得回数と情報の鮮度がどう入れ替わるのかを、観測用の小さなサーバと計算スクリプトで確かめながら決めていきます。
フォーク既定のサブエージェントで、レビュー役だけは名前で呼ぶという線引き
サブエージェントのフォークが既定になり、親の会話をそのまま引き継ぐようになりました。作業は継承させ、判定は継承させない。その境界をリポジトリに宣言し、ずれを機械的に見つけるまでの設計です。
ビルドがメモリを食い尽くしたときの止まり方は、cgroup と ulimit で別物でした
Claude Code v2.1.233 で Bash ツールに memory cgroup 対応が入りました。上限を仮想アドレス空間に置く ulimit -v と、実メモリに置く cgroup では、止まり方も、そもそも止められるかどうかも変わります。Linux 上で実際に確かめた記録です。