CLAUDE.md 作成
プロジェクトの CLAUDE.md を作成・登録するスキル。スタックに合った同梱テンプレートを選ぶか、
どのテンプレートにも当てはまらない場合はプロジェクトに合わせた推奨 CLAUDE.md をその場で生成する。
テンプレートはこのスキルディレクトリの templates/ に同梱されている。
同梱テンプレート
| テンプレート | ファイル | 用途 |
|--------------|----------|------|
| Python (uv) | templates/CLAUDE_PYTHON.md | uv でパッケージ管理する Python プロジェクト全般 |
| React + FastAPI | templates/CLAUDE_REACT_FASTAPI.md | フロント (React/npm) + バックエンド (FastAPI/uv) のフルスタック |
| Streamlit | templates/CLAUDE_STREAMLIT.md | Streamlit アプリケーション |
| (該当なし) | ― | その場でプロジェクトに合わせた推奨 CLAUDE.md を生成する |
基本姿勢
- 出力・対話はすべて 日本語 で行う
- テンプレートは「そのままコピーして各プロジェクトで編集して使う」前提。symlink ではなくコピーする
- 書き出す前に、登録予定の CLAUDE.md の内容を必ずその場で表示してユーザーに確認する
- 既存の
./CLAUDE.mdを勝手に上書きしない。必ず確認する
実行ステップ
ステップ1: 既存 CLAUDE.md の確認
まずカレントディレクトリのルートに ./CLAUDE.md が既に存在するか確認する。
- 存在する場合: 内容を読み、
AskUserQuestionで「上書き」「末尾に追記」「中止」を確認する。 ユーザーが明示しない限り上書きしない。 - 存在しない場合: ステップ2へ進む。
ステップ2: スタックの推定とテンプレート選択
プロジェクトのファイルを調べてスタックを推定する。判定の手がかり:
streamlit_app.py/import streamlit→ Streamlitpackage.jsonかつpyproject.toml(またはmain.pyに FastAPI)→ React + FastAPIpyproject.toml/*.pyのみ → Python (uv)
AskUserQuestion を使い、推定した候補を先頭(末尾に「(推奨)」)に置く。選択肢には必ず
「該当なし(その場で生成)」 も加え、同梱3テンプレートのいずれにも当てはまらない場合に
選べるようにする。推定できない場合は 3 テンプレート + 「該当なし(その場で生成)」を等しく提示する。
- テンプレートが選ばれた場合 → ステップ3A
- 「該当なし(その場で生成)」が選ばれた場合 → ステップ3B
ステップ3A: テンプレートの内容確認
選択されたテンプレートを templates/ から読み込み、その内容をその場でユーザーに表示する
(登録前のプレビュー)。そのうえで「この内容で登録してよいか」を確認する。
- 大きい場合は要点(見出し構成と主要ルール)を示しつつ、全体像がわかるように提示する。
- ユーザーが修正を希望したら反映し、再度内容を提示してから登録する。
ステップ3B: 推奨 CLAUDE.md のその場生成
同梱テンプレートに当てはまらないプロジェクトの場合、プロジェクトを調査したうえで 推奨 CLAUDE.md の全文をその場で生成し、ユーザーに表示する。生成の指針:
- グローバル
~/.claude/CLAUDE.md(このリポジトリのsrc/.claude/CLAUDE.md)の基本姿勢 (Quality First / Ask, Don't Assume / 日本語対話 / Plan-Then-Execute / Conventional Commits 等) を土台とし、それと矛盾しない範囲でプロジェクト固有の情報を足す。 - プロジェクトを調査して、以下を可能な範囲で盛り込む:
- プロジェクトの概要・目的
- ディレクトリ構成の要点
- 主要コマンド(ビルド / テスト / Lint / 実行など、実在するものだけ)
- スタック・言語・依存管理ツール
- プロジェクト固有の規約・注意点
- 推測でコマンドやファイルをでっち上げない。実在が確認できたものだけ記載する。
- 全文を提示し、
AskUserQuestion等で「この内容で登録してよいか」を確認する。 修正希望があれば反映し、再度全文を提示してから登録する。
ステップ4: 登録
確認が取れた内容を ./CLAUDE.md として書き出す。
- テンプレート由来の場合はコピー、その場生成の場合は生成内容を書き出す。
- 追記が選ばれた場合は、既存
./CLAUDE.mdの末尾に区切り(\n\n---\n\n)を入れて連結する。
ステップ5: プロジェクト固有情報のカスタマイズ(テンプレート由来の場合)
テンプレートをコピーした場合、プレースホルダや汎用記述のうち、プロジェクト名・ ディレクトリ構成・主要コマンドなど明らかにこのプロジェクト固有に書き換えるべき箇所があれば、 ユーザーに確認しつつ最小限だけ調整する提案を行う。過剰な編集はせず、テンプレートの構造は保つ。
ステップ6: 完了報告
登録した内容(テンプレート名、または「その場生成」)と ./CLAUDE.md のパスを報告し、
「必要に応じてプロジェクトに合わせて編集してください」と伝える。