Claude CodeのプロンプトをOpus 5.5前提で棚卸しした日。フックの30秒タイムアウトとPCの空き容量も調べた
Claude CodeのプロンプトをOpus 5.5前提で棚卸しした日。フックの30秒タイムアウトとPCの空き容量も調べた
この日は、朝の6時台に3つ、午後に2つのセッションを開いた。 どれも小さな相談から始まったが、一番大きく動いたのは Claude Code に読ませているプロンプトの棚卸しだった。 止めたはずの学習ゲートについて「実行を促せ」と指示する文が、まだ5ファイルに残っていた。
Rust を使うと、Vue 中心のコードは何が変わるのか
海外の著名な開発者が、Rust についてこう書いていた。
"I love Rust! Rust is amazing ...if you never, ever, EVER have to look at it yourself."
自分で一度も見なくて済むなら最高だ、という一言である。 私も Rust は使ってみたい。 そこで、Vue.js を中心に書いている今のコードと何が違うのかを Claude Code に聞いた。
Vue をやめる必要はない、というのが答えだった。 画面(Vue/Nuxt)はそのまま残し、重い計算部分やスクリプトだけを Rust で書くのが現実的だという。 書き方で一番変わるのは、型とメモリの扱いが厳しくなる点だそうだ。
クラウド会計2社の値上げを記事にした経緯
前の日に、会計ソフトAから料金が上がるらしいメールが届いていた。 会計ソフトAも会計ソフトBも、ここ3年でかなり値上げしている。 プランごとに値上げ率を比べられないか、Claude Code に調べてもらった。
Claude Code は、会計ソフトAの公式発表を4回分、会計ソフトBの公式発表を3回分集めてきた。 届いたメールは、会計ソフトAが2026年9月24日に発表した改定の案内だった。 結果を読んで、記事にまとめてもらうことにした。
草稿は lint を通ったが、dev で表示すると粗が出た。 図の縦のゼロ線が、会計ソフトBのグループ見出しを突き抜けていた。 これはグループごとに線を分けて直した。
途中で、構成そのものも組み直した。 個人向けと法人向けで図と節を分け、2021〜2022年の改定までさかのぼって5年分を並べる形にした。 3年のつもりで頼んだ調べものが、5年分の記事になった。
図の手直しはまだ続いた。
図1では、まず右端の値ラベルが窮屈で、横軸の右の余白を広げた。
次に、上段近くの値ラベルがパネル見出しに重なり、縦軸の上限を上げた。
図2では、金額の低いプランの年額ラベルが横軸に掛かり、グラフの高さを広げた。
最後にスマホ幅でのはみ出しも確かめてもらい、master にコミットした(9df40a09)。
入れたのは4ファイルだけで、ほかの未コミットの変更には触れていない。
push もしていない。
値上げの中身は、クラウド会計2社の料金改定を5年分たどった記事に書いてある。
Claude Code のプロンプトを Opus 5.5 前提で棚卸しする
/claude-api prompt-audit を実行し、スキルやコマンド、CLAUDE.md といったプロンプト面の全体を Claude Code に監査させた。
差分付きの指摘が12件、差分なしの記録(flag)が7件出た。
一番大きい指摘は、学習ゲート(/learn)の扱いだった。
止めてあるゲートについて「実行を促せ」「LEARN_SKIP=1 を付けろ」と指示する文が、5ファイルに残っていた。
この段階の修正は patch として出てきただけで、リポジトリのプロンプトファイルには手を付けていない。
学習ゲートは一旦止めたまま、最近は使っていない。 その前提で直してもらうことにした。 Chrome の起動手順が食い違っているという指摘も、あわせて直してほしい。 ただ、この中に自分の判断が要る箇所があるのかどうかが分からなかった。 それをそのまま聞いた。
判断が要るのは1点だけ、というのが Claude Code の返事だった。 学習ゲートと Chrome の2件は迷うところがないので、そのまま直すという。 学習ゲートの記述は「停止中」と書き換えるのではなく、記述ごと削除した。 ここまでで8ファイル、13行追加、45行削除である。
残る判断はモデルの表記だった。 いまのメインは Opus 5.5 なので、基本は 5.5 に揃えることにした。 古い記述も直してかまわないと伝え、残りを全部やってもらった。
洗い出しの途中で、Claude Code は Sonnet 5 の記述を残すと判断した。
Sonnet の最新世代で、コストの都合で意図的に選んでいる箇所だからだ。
書き換えたのは、Opus の古い世代番号だけである。
止めてある review-yesterday-tweets の手順1〜5は、本体から参照ファイルへ移した。
作業の途中では、小さなつまずきが2つあった。
一つは、変数でパスを指定した rm -rf が、削除を止めるガードに弾かれたことだ。
対象のディレクトリは新しいものだったので、削除を飛ばして作るだけにした。
もう一つは改行コードで、差分を当てたときに CRLF が崩れないよう、切り出し処理を作り直してもらった。
ビフォーアフターは、非公開の記録記事に書いてもらった。 その記事に「本体は103行減った」とあったが、実際には100行を消して3行を足していた。 数字を直し、dev で表示を確かめると、3つ目の表だけが横にはみ出していた。 「場所」の列を短くし、ファイル一覧を表の下へ出して収めた。 変更は18ファイル(既存17本の修正と、新しい参照ファイル1本)になった。
コミットを頼むついでに、make-diary もメインを含めて Sonnet 5 ではなく Opus 5.5 でいいと伝えた。
コミットは一度、締めゲートで止まった。
止まったら Claude Code が自分で /wrap-up を回す決まりになっている。
そのとおりに回して、1本目が通った(fc884c69、23ファイル)。
記事には Codex の指摘で直した分を書き足し、2本目としてコミットした。
最後に、このセッションでやり残しはないかと聞いた。
決めるのは1つだけだった。
memo/ に、監査レポートと patch がコミットされないまま残っている。
patch は修正前の状態から作ったものなので、もう使えない。
勧められたとおり、レポートはコミットして patch は削除し、push まで頼んだ。
dev サーバーは自分で画面を見ていたので、止めずに残してもらった。
最初に何のコマンドを打ったのかは、もう思い出せなかった。
記事にも入れてほしくて聞くと、/claude-api prompt-audit だった。
記事の冒頭と監査レポートの表題には、すでに書いてあった。
「両方を行う企業は世界に1社」はどこか
午後は、ある投稿の一文を Claude Code に貼った。
「まだ個人エージェントのCPUとメモリ需要は価格に反映されていない。」
投稿は、それら両方を行う企業は世界に1社しかない、と続いていた。 その1社がどこなのかを聞いた。
最初の答えは Samsung だった。 CPU(スマホ向けの Exynos)とメモリ(DRAM、HBM、NAND)の両方を自社で設計して製造しているのは、世界で同社だけだという。
続けて、6項目の一覧を送った。 2nm ロジック製造、DRAM、HBM、NAND、HBM ベースダイ、先端パッケージングである。 答えは Samsung のままだったが、「両方」の意味が変わった。 CPU の製品ではなく、先端ロジックの製造とメモリの製造を一社で持っている、という意味だったのだ。 Claude Code も、前の回答は「CPU 製品」と読んでいてずれていた、と認めた。
UserPromptSubmit フックが30秒でタイムアウトする理由
メッセージを送ったところ、フックのタイムアウトを知らせる通知が出た。
UserPromptSubmit hook [bash "${CLAUDE_PLUGIN_ROOT}/hooks/sg-python.sh" "${CLAUDE_PLUGIN_ROOT}/hooks/security_reminder_hook.py"] timed out after 30s — output discarded. Raise the hook's "timeout" to allow more time.
止まったのは、メッセージを送るたびに動くセキュリティ用のフック(security_reminder_hook.py)だった。
制限時間の30秒を超えたので、その出力が捨てられたという。
捨てられたのは注意書きの出力だけで、セッションはそのまま使える。
このエラーが何なのかを聞くと、Claude Code は同じフックを手元で動かして再現した。
120秒たっても終わらない。
原因は、固まっていた Store 版の python3.exe(ダミー)だった。
Claude Code がそれを強制終了した時点でやっと先に進み、そこから最後まで通った。
全体で約4分かかっている。
つまりこのダミーは、止めない限り待ち続ける。 固まった回はフックが毎回30秒の制限時間まで待たされ、タイムアウトになる。 固まらない回は何事もなく通るので、エラーは毎回ではなく、ときどき出る。
そのあと「ソースネクストをオフにして」と頼んだ。 しかし、PC のアプリ実行エイリアスを全部確かめても、それらしい項目は一つもなかった。 音声入力で「ストア版の Python を」あたりが「ソースネクスト」と聞き取られたのではないか、と聞き返された。 オフにする対象は、この時点ではまだ決まっていない。
PC Manager とディスク分析ツールの整理
Microsoft PC Manager が良いと聞いたので、この PC に入っているかを確かめてもらった。 入っていなかった。 Microsoft Store からは入手できる。 ただ、空き容量を調べる用途なら、すでに入っている WizTree のほうが向いているという。
ディスク分析のツールは2本あって、片方が速く、片方が遅かった覚えがある。 使っている方だけを残し、もう片方は削除して、残す方は更新してほしいと頼んだ。 音声入力では2本とも「Wrangler」になっていた。 Claude Code は、これを WizTree と WinDirStat のことだと解釈する、と先に書いた。 そのうえで、速い WizTree を残して更新し、遅い WinDirStat を削除する段取りで動いた。
WinDirStat の削除は1回試したが、アンインストーラーがエラー(1603)で失敗した。 WinDirStat 2.1.1 はまだ残っている。 削除は自分で引き取ることにした。
PC Manager も、入れて試してみることにした。 画面にはディープクリーンアップと、「ブースト」というボタンがあった。 ディープクリーンアップで何 GB 消せるのか、ブーストとは何なのかを聞いた。
Claude Code はディープクリーンアップの画面をクリックできない。 代わりに、一時ファイルや Windows Update の残り、ごみ箱など、同じ対象の容量を PowerShell で直接測ってもらった。 削除はせず、見るだけである。
消せるのは約21GBだった。 C ドライブは930GB中786GBを使っていて、空きが約144GBある。 急いで消す必要はない、という見立てだった。 ブーストは、メモリと一時ファイルを空ける即効性のボタンで、効果はすぐ元に戻るという。
測ったときのメモリ使用率は92%と高かった。
このあと、メモリ不足で dev サーバーが1つ Claude Code に止められた。
ログのパスを見ると、起動したのはこのセッションではなく、別のセッション(04bd2517…)だった。
アイドル中にメモリの空きがほとんど無くなったために止められたもので、サーバー自体の不具合ではない。
学び
- 監査の指摘を先に patch で出させると、どこに自分の判断が要るかを聞いてから直せる。一方で、patch は修正前の状態から作るので、直したあとは使えなくなる。
- 音声入力で固有名を言うと、別の語に化けることがある。この日は「Wrangler」がディスク分析ツール2本のことで、「ソースネクスト」に当たる項目は PC に無かった。