背景
Claude Codeを使っているうちに気付いたことをメモしようと思います。
逐次更新予定。
Claude Codeの進化についていけず、機能がなくなっていたりしたらすいません。
メモリ機能
Claude Codeがユーザやプロジェクトに特化した存在となるために必要となる知識を保存する機能。
公式の説明はこちらにまとまってます。
CLAUDE.md
基本的にはプロジェクトのルートに配置するファイルで、プロジェクトの概要などを書いておくと、Claude Codeが都度読み込んでくれます。
あまり大きくはせず、必要に応じて、他のファイルを参照させるような形式にするといいらしいです。(具体的には、.claude/rules/*.mdに分割するのがいいらしい。)
基本的にはプロジェクトメンバー全体で共有して必要となるような情報をここに書いておく。(=>Gitで管理)
/initコマンドを使い、現在のプロジェクトからClaude Codeによって生成することも可能。
これと似たようなものがほかにもいくつかありますが、そのうちの二つを取り上げます。1. ${project_root}/.claude/CLAUD.local.mdと2. ~/.claude/CLAUDE.mdです。
1.のCLAUD.local.mdはプロジェクトメンバーではなく、個人用のCLAUD.mdです。プロジェクトメンバーに共有するようなものではない、個人の好み、指示などをここに書いておいて、.gitignoreで除外する運用になります。
2.の方のCLAUD.mdは個人の全プロジェクトに対してのCLAUD.mdになります。
これらのファイルはユーザが編集でき、Claude Codeのセッションを変えた時にも覚えておいてくれるものになります。Claude Codeがうまく動いてくれなかった、今後改善してほしい、ということがあれば、用途に合わせてこれらのファイルに対して追記するのが基本になります。
コマンド
/compact
セッション(コンテキスト)が大きくなってきたな、というときに昔のやり取りを要約して、以前のことを忘れる機能です。
これをせずに同じセッションでやり取りを続けると自動でこれと同じことをClaude Codeが実行するようです。
作業が一区切りついた時などに打つとよいと思います。
コスト(トークン)の節約にもなるはずですし、無駄なコンテキストが削除できて精度も上がるかも?
いい感じに以前のことを覚えておいてくれるので、私はこのコマンドを使いながら同じセッションを使い続けてしまうのですが、/compactを利用するタイミングくらいでセッションごと切り替える方が良いらしいです。
おそらくCLAUDE.mdなどに必要十分な情報が書けている場合は、それでよいのでしょうね。
/output-style
Claude Codeのモードを変更できる機能です。/output-styleを実行すると、以下の画面に切り替わります。
この中でLearningを使ったので、その使った感覚をお伝えします。
Learningはユーザーの学習を支援してくれる機能で、Claude Codeがユーザーに実装を依頼してくる感じになります。
依頼するときにはコメントで実装してほしい機能や手順などが書いてあり、TODO(human)などのコメントでどこを実装すべきか分かるようになっていました。
Claude Codeを使っているだけではスキルが身につかないなと感じていたのですが、Claude Codeに教師となってもらうことで少し解決できた気がします。
/insights
過去のセッションを参考にClaude Codeとユーザーとの間のやり取りを要約し、改善点などを教えてくれます。
上の画像は例ですが、htmlファイルで出力してくれて、下の方に行くともっと円滑に進めるためにCLAUDE.mdに追加した方がよい記述やカスタムコマンドの提案などをしてくれました。たまに実行するといいのかもしれません。(月1くらい?)
カスタムコマンド
/compactなどのClaude Codeがデフォルトで保有しているコマンドについては、上でも少し触れましたが、自分用のコマンドを作ることもできます。
.claude/commands/ というディレクトリにマークダウンファイルを置くだけで、ファイル名がコマンド名になり、ファイルの内容が実行される指示になるらしいです。例えば、.claude/commands/hello.md というファイルを作れば、/hello というコマンドが使えるようになります。
コードレビューをする用のコマンドを作ってみましたが、以下くらいでも結構便利でした。
# Review instruction
これはコードレビューをする際に参考にしてください。
## 方針
- ユーザに指定されたファイルもしくはgitのコミット前のファイルに対して、コードレビューを実施してください。
- 良い実装についてもコメントをしてください。
## 観点
- シンボル名はわかりやすいか
- コードベースのほかの場所と共通化できないか
- ログ出力に過不足はないか
- セキュリティ上問題ないか
- 関数や変数のスコープや可視性は適切か
- publicなAPIにはコメントがついているか、最新のコードと乖離がないか
- 関数が大きすぎる、処理が複雑すぎないか
- 根本的な改善点はないか
エディタでのプロンプト編集
Claude Codeに対してプロンプトを書いているとき、環境によっては(筆者はVSCodeのターミナル)、改行ができなかったり、編集中の日本語の文章と確定している文章が異なる場所にあったりと、編集しづらいことがあると思います。
これを解消する方法をご紹介します。
方法としてはClaude Codeを開いたターミナル上でctrl+g(筆者の環境ではctrl+alt+gでした)を押すと、エディタでの編集へ変更することができます。
編集が終わったらタブを閉じるなどすると、入力を完了することができます。
TODO
これから触っていきたいなーという機能
MCP
3rd partyのツールなどを利用することができるようになる機能。
現状使いたいMCPが思いつかず。。。
Skills
中身がよくわからず勉強予定。。。



