claude-mdlisted
Install: claude install-skill tanuuuuuuu/dotfiles
# CLAUDE.md 作成・改善スキル
CLAUDE.md は Claude Code がセッション開始時に自動で読み込む指示ファイル。プロジェクトの文脈や作業ルールなど、コードからは読み取れない情報を Claude に伝える役割を持つ。
CLAUDE.md の品質はセッション全体の出力品質に直結するため、一行一行を慎重に検討する。
## 核心原則: 書くべきものと書くべきでないもの
CLAUDE.md に書く内容を判断するリトマス試験:
> **「この行を削除したら、Claude がミスをするか?」**
> → No なら削除する。CLAUDE.md が長いほど、本当に重要な指示が埋もれる。
| 書くべきもの | 書くべきでないもの |
|---|---|
| Claude が推測できない Bash コマンド | コードを読めばわかること |
| デフォルトと異なるコードスタイル規約 | 言語の標準的な慣習 |
| テスト方法とテストランナーの指定 | 詳細な API ドキュメント(リンクで参照) |
| ブランチ命名やPR規約などのリポジトリルール | 頻繁に変わる情報 |
| プロジェクト固有のアーキテクチャ決定 | 長い説明やチュートリアル |
| 環境変数や開発環境の特殊事情 | ファイルごとのコードベース説明 |
| 非自明な落とし穴やゴッチャ | 「きれいなコードを書け」等の自明な指示 |
## ワークフロー
### 新規作成
1. **プロジェクトの調査**
- ディレクトリ構造を確認(ls、ファイルツリー)
- README.md、package.json、pyproject.toml、Cargo.toml 等の設定ファイルを読む
- 既存の linter/formatter 設定を確認(.eslintrc、ruff.toml、biome.json 等)
- テストの実行方法を確認
- 既存の CLAUDE.md や CLAUDE.local.md がないか確認
2. **技術スタックと作業パターンの特定**
- 言語、フレームワーク、主要ライブラリ
- ビルド・テスト・lint のコマンド
- linter/formatter で既にカバーされている規約を把握(CLAUDE.md に重複記載しない)
3. **CLAUDE.md を WHAT → HOW の構成で作成**
- WHAT: プロジェクトの技術スタック、構造、目的
- HOW: ビルド/テスト方法、コード規約、注意点
- 各項目が「リトマス試験」をパスするか確認
4. **ユーザーに確認して調整**
### 既存ファイルの改善
1. **現在の CLAUDE.md を読む**
2. **[references/best-practices.md](references/best-practices.md) のチェックリストで評価する**
3. **プロジェクトの実態と照合する** — CLAUDE.md に書かれていることがコードの実態と一致しているか確認
4. **改善点を根拠とともに提案する** — 何を変えるか、なぜ変えるかを明確に
5. **ユーザー承認後に修正する**
改善でよくある作業:
- 冗長な説明の削除(linter がカバーしている規約、コードから明らかなこと)
- 古くなった情報の更新
- `@import` を使った分割(300行を超えている場