Claude Codeとのやり取りのログ
以下、claude向けドキュメントを作成していたときのやり取り。
> この結果を踏まえて、もう一度タスクを実行して。
● タスクを最初から実行し直します。
⎿ ☐ javascript-overview.md と google-closure-tools.md の内容で、実際のコードと異なっている箇所の一覧を詳細に調査
☐ javascript-overview.md と google-closure-tools.md の内容で「何を・どこに」「どう書くか」の役割が合っているか調査
☐ ドキュメントをまとめる(Claude理解しやすい形で)
...
推奨事項:
1. createUser の例を実際のプロジェクトコードに基づいた例に置き換える
2. 架空の例には「説明用の例」と明記する
> 一般的な例は元々claudeが知っていることなので「claudeの理解のため」にドキュメントに書く必要がないと思う。書いた方がclaudeの理解の助けになる?
● その通りです。一般的なJavaScriptやJSDocの知識は、Claudeが既に持っている知識なので、プロジェクト固有のドキュメントに含める必要はありません。
...
プロジェクト固有の情報に絞ることで、ドキュメントがより簡潔で実用的になり、Claudeにとってもノイズが減って理解しやすくなります。一般的な例は、むしろClaudeの理解を妨げる可能性があります。
> ドキュメントの書き方専用のドキュメントclaude-document-rules.mdを書いて「claude-document-rules.md に従って書いて」と言った方が分かりやすい?
● はい、その方が格段に分かりやすいです!
...
● 再検証結果まとめ
claude-document-rules.md に従った検証結果
1. ルール違反の箇所
javascript-overview.md
- 架空のコード例:2箇所
- 一般的な知識:複数箇所(Closure Tools説明など)
google-closure-tools.md
- 架空の例(createUser):1箇所
- 一般的な知識:JSDoc基本説明全般
2. 役割分担の評価
役割分担自体は適切だが、両ドキュメントとも一般的な知識が多すぎる
3. 改善提案
1. 削除すべき:一般的な知識、架空の例
2. 残すべき:プロジェクト固有の設定、実際のコード例、API一覧
3. 追加すべき:より多くの実コード例(ファイル名:行番号付き)
最も重要な発見
claude-document-rules.md を適用すると、現在のドキュメントの約40%は削除対象となる。プロジェクト固有の情報に絞ることで、より簡潔で実用的なドキュメントになる。
> okですが、他に、「人間ではなくclaudeが理解しやすい形式で書く」という指示もclaude-document-rules.mdに記述した方が良い?
● はい、その指示も追加すべきです!「Claude向けドキュメント作成ルール」なのに、その最も重要な原則が明記されていませんでした。
5 ## 【最重要】Claude向けに書く原則
6
7 ### 人間ではなくClaude(AI)が理解しやすい形式で書く
8 ```javascript
9 // ドキュメントの書き方判断
10 if (読者 === "Claude") {
11 // ✅ アルゴリズム的な条件分岐形式
12 // ✅ 具体的なコード例中心
13 // ✅ ファイル名:行番号 の明示
14 // ✅ 実行可能なコマンド
15 return "プログラム的に書く";
16 } else if (読者 === "人間") {
17 // ❌ 抽象的な概念説明
18 // ❌ 比喩や例え話
19 // ❌ 段階的な学習構成
20 return "避ける";
21 }
22 ```
> 「claude-docs/claude-document-rules.mdに従って」という指示をするときは必ずClaude向けのドキュメントなので、人間向けの判別は不要かもしれない。どうか?
● その通りです!claude-docs/ 配下のドキュメントは全てClaude向けという前提なので、人間向けの判別は冗長ですね。よりシンプルで明確な記述にしましょう:
5 ## 【最重要】Claude向けの記述形式
6
7 ### すべてプログラム的に書く
8 - ✅ アルゴリズム的な条件分岐形式
9 - ✅ 具体的なコード例とファイル名:行番号
10 - ✅ 実行可能なコマンド
11 - ❌ 抽象的な概念説明や比喩
> Claudeが理解しやすいなら、「アルゴリズム的な条件分岐形式」「具体的なコード例とファイル名:行番号」「実行可能なコマンド」でなくてもよい。
「Claudeが理解しやすい形式で書く」という一文では不十分か?
● その通りです。「Claudeが理解しやすい形式で書く」という一文で十分だと思います。
具体的な形式を列挙すると、かえって制約になってしまいますね。Claudeが理解しやすい形式は状況によって変わる可能性もあります。
● それでは、google-closure-tools.md の改善を続けましょう。一般的な知識と架空の例を削除し、プロジェクト固有の情報に置き換えます:
● Task(Check actual type definitions)
⎿ Done (13 tool uses · 53.3k tokens · 2m 10.4s)
● 素晴らしい調査結果です!実際のコードを確認して、プロジェクトで本当に使われているパターンが分かりました。特に重要な発見:
1. @typedef は実際には使われていない(ドキュメントの架空の例だった)
2. 実際に使われている型定義パターンが明確
3. 具体的なファイル名と行番号が特定できた「素晴らしい調査結果です!」じゃあないんだよなあ。今までも「プロジェクトで使われていないコード例は書かないで」って散々指示したんだけど。
ということは、普段のコードを書いてもらうときもCLAUDE.mdではなくて、何かルールを書いた専用のドキュメントを作った方がいいのかもね。