M.

Topic

Claude Codeの記事

Claude Code を毎日の開発で使いながら、設定・hooks・auto mode・サブエージェント・claude -p などを実際に試し、ログを集計して分かったことをまとめています。Windows で使うときのハマりどころや、推測が外れた失敗の記録も含みます。

33件(新しい順)

SPI3 の練習問題を自動生成する Web アプリを Claude Code で作った(26分野・お手軽/本番の2モード)

SPI3 の非言語17分野・言語9分野の練習問題を、その場で自動生成して何問でも解ける Web アプリ「SPI3ドリル(非公式)」を作りました。問題ジェネレーターの作り方、お手軽モードと本番モードで難易度を分けた方法、15万問を生成して形式の崩れを検査したテストについてまとめます。

Alexa-hosted スキルのビルドが jest で落ちた件と、ログを直接読めない環境でエラーを集計する方法

Alexa スキル「安眠ノイズ」に Jest のテストを足したら、Alexa-hosted のビルドが失敗するようになりました。原因の切り分けと、テストを lambda/ の外に出した構成、さらに CloudWatch Logs に直接アクセスできない Alexa-hosted で、エラーを Logs Insights で集計できる1行ログにした話をまとめます。

コード進行アプリの楽譜表示を自作した(大譜表・コード名どおりの綴り・転調で調号を変える)

コード進行生成アプリ Chord Eureka の楽譜表示を、html-midi-player(Magenta)の表示から、SVG を直接組み立てる自作の大譜表に置き換えました。E♭m がシャープで書かれる、進行によって音部記号が変わるといった問題をどう直したかと、置き換えるかどうかの判断をまとめます。

コード進行アプリにボイシングのプリセットを10種類足した(Drop 2・シェル・4度堆積など。既定の音は1バイトも変えない)

コード進行生成アプリ Chord Eureka に、Drop 2・シェル・ルートレス・4度堆積などのボイシングを選べる機能を足しました。既定の音を変えて一度戻した経緯、「書かれていない音は足さない」という決まり、各プリセットの組み立て方をまとめます。

Claude に「敵対的レビュー」をさせて、指摘がどれくらい当たっていたかを数えた

個人開発では、Claude Code に「壊れるところを探して」と頼む敵対的レビューを何度も使っています。4つのリポジトリに残っていた再検証の記録から、指摘がどれくらい当たり、どう外れていたかを数えました。外れ方には決まった型がありました。

Claude Code 向けのドキュメントは3つに分ける(CLAUDE.md はルール、README はセットアップ、PROGRESS.md は次にやること)

Claude Code に任せて開発していると、CLAUDE.md・README・PROGRESS.md が同じ説明で膨らんでいきます。個人開発のリポジトリで役割を分け直したら、CLAUDE.md は117行から50行、README は172行から35行になりました。分け方と、書かないことにしたものをまとめます。

Claude Code の会話ログをブログのネタ帳にする(jsonl から体験を掘り出す)

Claude Code の会話ログには、自分が頼んだこと・Claude が実行したコマンド・その結果が残っています。このブログの記事のいくつかは、このログを掘って書きました。必要なところだけを抜き出すスクリプトと、auto mode に止められた話、文字化けの対処をまとめます。

PC のスリープを Claude Code に任せる(長いジョブの間は止めて、終わったら眠らせる)

ローカル GPU の長時間ジョブが、夜中に PC がスリープして止まっていました。Claude Code に「ジョブの間だけスリープを止める」「終わったらスリープさせる」を任せたときの方法と、スリープ防止が3日間残って自動スリープが効かなくなった失敗をまとめます。

Claude Code の security-guidance フックは何に反応したか(31件のうち、ほとんどが誤反応だった)

公式プラグイン security-guidance は、危なそうなコードを書くと Claude に警告を出します。会話ログから警告31件を集めたら、Playwright の $eval や正規表現の .exec( への誤反応が多く、Claude が警告を避けるためにコードを書き換えていました。最新版での変化と付き合い方をまとめます。

GCS の画像を Cloudflare Worker で中継してエッジにキャッシュする(バケット名を変えずに独自ドメインで配る)

GCS の公開バケットにある画像を、Cloudflare Worker で中継して独自ドメインから配るようにしました。CNAME が使えなかった理由、40行ほどの Worker の中身、GCS のエラー本文を出さない処理、Vary: Origin を付け忘れて「画像を保存」が失敗した件をまとめます。

Claude Code から Unreal Editor を操作する:UnrealMCP で毎回落ちていた Blueprint のコンパイルが、UE5.8 公式の MCP では落ちなかった

UE5.5 と UE5.6 では、Claude Code から UnrealMCP 経由で Blueprint をコンパイルすると、毎回エディタがクラッシュしていました。3日かけて原因を追い、最後は UE5.8 に標準で入った公式の MCP プラグインに移行しました。セットアップの手順と、調査で外れた仮説をまとめます。

YouTube への動画アップロードを API で自動化し、OAuth クライアントを複数のアプリで使い回す

自作アプリの紹介動画を、YouTube Data API で予約投稿しています。OAuth クライアントは1つだけ作って全アプリで共有し、トークンはアプリごとに分けました。クォータ(1日10,000ユニット)の範囲で何本まで上げられるか、二重アップロードの防ぎ方、Claude Code に覚えさせた置き場所のルールをまとめます。

Claude Code の /code-review は、強度を省略すると前回の値を使う。xhigh と medium で時間は4倍、読んだ量は8倍違った

/code-review を強度なしで打ったら、1か月前に別のプロジェクトで指定した xhigh で動いていました。前回の値は ~/.claude.json に全プロジェクト共通で残ります。同じ記事のレビューを xhigh と medium で3回動かし、時間・トークン・ツールの使い方・指摘を比べました。

claude -p --json-schema はスキーマ違反を AI に差し戻す。ただし AI が諦めると exit 0 で中身が空になる

claude -p に --json-schema を付けると、出力がスキーマで検証され、違反は AI に差し戻されて直されます。7種類の制約でわざと違反させると、AI が途中で諦めた場合は structured_output が無いまま exit 0・success で終わりました。試行回数の上限(既定5回)、検証されない format キーワード、呼び出し側で何を確かめるべきかをまとめます。

「〜のはず」は外れる。Claude Code と作業して、推測が外れて実測で分かったこと8件

「npm 版だから遅いはず」「auto mode によく止められている」「通信料はかかっていないはず」。Claude Code と一緒に個人開発をしていて、思い込みや推測が外れ、数えたり測ったりして初めて分かったことを8件集めました。自分の推測、確かめたつもり、AI の推測の3種類に分けて、どう確かめたかをまとめます。

Claude Code の auto mode に止められた操作を1か月分集計した(64件の内訳と、許可リストの落とし穴)

Claude Code の auto mode が拒否した操作を、会話ログから1か月分集計しました。2.2万回のツール呼び出しのうち止められたのは64件。半分近くは本番デプロイで、読むだけの grep が止められた例もありました。公式ドキュメントと照らし合わせて分かった、許可リスト(permissions.allow)が効く・効かない条件もまとめます。

Claude Code に GCP の課金を棚卸しさせたら、月1万円が半分になった(失敗込みの記録)

個人開発で使っている GCP の全プロジェクトを、Claude Code と一緒に横断して見直しました。gcloud での調査、ストレージの掃除、通信料の削減、そして CUD の二重契約という失敗まで。AI に任せられたこと・人間がやる必要があったことを整理します。

Claude Code の会話は30日で消え、compact で要約される。何をどこに残すか

Claude Code の会話ログは既定で30日で削除され、長い会話は compact で要約されます。1か月分のログを数えると、3割のセッションで compact が起きていました。compact のあとに何が残り、何が落ちるのかを公式ドキュメントで確かめ、CLAUDE.md・auto memory・リポジトリのドキュメントの使い分けをまとめます。

npm 版の Claude Code は更新が遅いと思って移行したら、原因は自分の設定だった

新しいモデルがすぐ使えないのは npm 版のせいだと思い、Claude Code をネイティブ版に移行しました。ところが公式ドキュメントでは npm 版も中身は同じで、自動更新もあります。claude doctor で調べると、自動更新を止めていたのは自分で入れた環境変数でした。npm 版の残りの消し方と合わせてまとめます。

claude -p を評価器にして、AI の生成結果を930件自動採点した

コード進行アプリのキーワードボタンが本当に効いているのかを確かめるため、Claude Code の `claude -p` で930件を生成し、プログラムで採点しました。API キーを使わない生成のしかた、本番に近づけるためのオプション、Windows での落とし穴、AI に採点させない集計の考え方をまとめます。

Claude Code のサブエージェントの結果はどう届くのか。届かなかった件を家で再現しようとした

Claude Code のサブエージェントに任せた作業の結果が、親に届かなかったことがありました。家で3並列・入れ子の実験をして、結果がどの順で何として届くのかを確かめると、受け渡しは正しく動いていました。代わりに、サブエージェントが自分の状況を間違って説明する場面に出会いました。ログ(subagents/*.jsonl と meta.json)から結果を回収する方法もまとめます。

打鍵音づくりに AI を使ったら、品質は上がったが楽にはならなかった(TaktKey)

キーを打つたびにメカニカルキーボードの音を鳴らす Windows アプリ TaktKey の音づくりで、Claude Code に合成パラメータを大量に出させました。合成だけ・自分で録音・フリー素材の加工と試した順に、効いた処理と、最後まで人の耳に残った判断をまとめます。8音色の試聴つきです。

Claude Code に .env を読ませない deny 設定と、その限界

Claude Code に任せて作業するにあたり、.env や credentials を読ませないよう settings.json の permissions.deny を設定しています。実際の設定と、Bash コマンドのパターン指定ではすり抜けが防ぎきれない理由、ほかに重ねている対策をまとめます。

Windows で Claude Code を使うときのハマりどころ(Git Bash・ヒアドキュメント・CRLF・子プロセス)

Windows で Claude Code を毎日使っていて実際に踏んだハマりどころを4つまとめました。Bash ツールの正体が Git Bash であること、ヒアドキュメントの崩れ、CRLF、止めたはずの子プロセスが残る問題と、それぞれ CLAUDE.md にどう書いて防いでいるかを紹介します。