# CLAUDE.md — research vault 研究ノートの Obsidian vault。**既存ノートを温存する一次レイヤー**(`papers/` `research/` `structures/` `notes/` ほか)と、`claude-obsidian` の **LLM wiki レイヤー**(`wiki/`)を、新規ソースのみ・独立共存方針で運用する。 ## まず読む - このファイルを Claude Code と Codex の共通指示として扱う。 - Codex 向けの [`AGENTS.md`](AGENTS.md) は、このファイルへ誘導するための薄い入口として残す。 - **`wiki/` を操作する前に必ず**: [`wiki/CLAUDE.md`](wiki/CLAUDE.md)(wiki レイヤー運用ガイド)、[`wiki/meta/conventions.md`](wiki/meta/conventions.md)(ページ細則)、[`wiki/meta/token-discipline.md`](wiki/meta/token-discipline.md)(カタログを読まない)。`wiki/hot.md` と `wiki/index.md` の全文は読まない。 ## 共通作業原則 - 応答は日本語で行う。 - 適切な層に文書化する。Code は How、Tests は What、Commits は Why、Comments は Why not を担う。 - コード変更に合わせて文書を更新する。 - 安易な解より単純な解を優先する。 - 設定を追い回すより、体系的な問題解決を優先する。 - 小から中規模で自己完結した作業にはサブエージェントを使う。 - 作業を委譲するときは、手順と目標を明示する。 - 終わりが開いている作業はメイン文脈に残す。 - 独立した作業だけを並列化する。 ## プロジェクト構造とノート配置 - 中核ノート: `notes/`。ドメインページ: `pages/`。研究入力: `papers/`。ハイライト: `Clippings/`。書籍: `books/`。 - 取り込み口: 粗いアイデアは `00_inbox/` に置き、後で適切な場所へ移す。 - 定期ノート: `z95_periodic-notes/`。日誌: `journals/`。 - テンプレート: `z98_templates/`。図: `Excalidraw/`。 - 添付ファイル: 画像と PDF は `Attachments/` に置く。埋め込みは `![[file.png]]` または `![](/Attachments/file.png)` を使う。 ## 作業コマンド - 検索: `rg -n "keyword" notes/ papers/` - 作成・移動: `git mv 00_inbox/idea.md notes/topic/idea.md` - 同期: `git add -A && git commit -m "notes: add X" && git push` - Publish を使う場合のスタイルとスクリプト: `publish.css`、`publish.js` ## Markdown と命名 - メタデータが役立つ場合は YAML frontmatter を使う。 ```yaml --- title: Short Title tags: [topic, project] --- ``` - 見出しは 1 ファイルにつき 1 つの `#` タイトルから始め、節は `##` を使う。 - 内部リンクは `[[Note Title]]` を優先し、外部リンクは完全な URL を使う。 - 日付つきエントリは `YYYY-MM-DD-title.md`、恒久ノートは `kebab-case.md` を使う。 ## テンプレートと再利用 - 新規ノートは `z98_templates/` のテンプレートから始める。例: `research-note.md`、`paper-summary.md`。 - 共有する再利用可能な断片やプロンプトは `copilot-custom-prompts/` に置く。 ## 鉄則(レイヤーをまたぐ事故防止) - **既存ノートを wiki ツールで書き換えない**。`papers/` `research/` `structures/` `notes/` は温存。wiki からは**一方向参照**でのみつなぐ。MOC への逆リンク追記は人間承認時のみ 1 件単位。 - **wiki 化のスコープは新規ソースのみ**。既存ノートは ingest 対象外。新規素材だけを `.raw/` に投入して wiki 化する。 - `.raw/` 配下の原本は**不変**(`.manifest.json` のみ wiki-ingest が更新)。`wiki/log.md` は**先頭に追記**し過去エントリは編集しない。 ## 日本語の文章スタイル(整文) vault 全体のノート(`wiki/`・`research/`・`notes/`・`papers/` ほか)を**新規作成・更新するたびに最初からこの方針で書く**(後追いの整文を不要にする)。 - 常体(だ・である調)。和文中に英単語が素のまま混ざる**コードスイッチングを避ける**。英語表現は「原語のまま残す/カタカナにする/漢語に訳す」のいずれかに寄せる。 - 既定は**カタカナ**(agent→エージェント, telemetry→テレメトリ, overhead→オーバーヘッド 等)。fault→障害, localization→箇所特定, detection→検知, mitigation→緩和 など**定着した漢語は漢語**。**略語・固有名詞・数式・コード・wikilink は原語のまま**。初出の専門用語は「和訳(原語)」併記が望ましい。 - 詳細な keep/変換ポリシーと用語集は [`wiki/meta/japanese-style.md`](wiki/meta/japanese-style.md) を参照。 ## Maps of Content (MOC) - **概念**: MOC は他のノートを整理するリンクベースの索引であり、成長するノート群を柔軟に編成する。 - **参照**: [Obsidian Rocks: Maps of Content](https://obsidian.rocks/maps-of-content-effortless-organization-for-notes/) に基づく。 - **Project MOC**: この vault の中心入口は [`structures/000 Index.md`](structures/000%20Index.md)。 ## 素材 → skill のルーティング - **論文** → `wiki-ingest-paper`(`.raw/papers/*.pdf` + `wiki/{sources,entities,concepts}/`)。`create-paper-note` は使わない。 - **博士論文・長編サーベイ(30 ページ超・章構造)** → `wiki-ingest-thesis`(`.raw/theses/<slug>/` + 章ごとの source ページ + ハブ entity) - **書籍(PDF/章別ウェブ)** → `wiki-ingest-book`(`.raw/books/<slug>/` + 章ごとの source ページ + book entity) - **会議トーク** → `create-conference-note`(`research/conferences/`) - **技術記事** → `create-tech-note`(`notes/`) - **論文以外の複数ソース横断** → `wiki-ingest` / `autoresearch`(`wiki/{sources,entities,concepts}/`) - wiki への質問 → `wiki-query` / 健全性チェック → `wiki-lint` - **既に ingest 済みの 1 論文への軽い確認・深掘り質問** → `wiki-ask-source`(`wiki/asks/` に 1 source = 1 ノートで日付ごとに蓄積。source の frontmatter と `asks:` で相互リンク) - **既に ingest 済みの 1 論文の配布用紹介文(Slack 等)** → `wiki-brief-source`(`wiki/briefs/` に 1 source = 1 ノート。source の frontmatter と `brief:` で相互リンク。旧名 `summarize-paper-note`) - **1 つの命題の判定(「〜は本当か」「〜と言えるか」、concept の未解決の問いを閉じる)** → `wiki-thesis`(`wiki/questions/` に `type: thesis`。根拠表 + 判定 + 反証条件。source が 2 本未満なら insufficient で `autoresearch` / `wiki-ingest-*` へ差し戻す) - **ギャップや閉じなかった命題からの研究着想(1 本)と新規性の照合** → `wiki-ideate`(承認後に `research/ideas/` へ新規ノート 1 枚。wiki(retrieve)と arXiv / DBLP で近い仕事を照合。実験・執筆はしない) - **蓄積済み wiki からの長編編纂(教科書・サーベイ・文献横断調査)** → `wiki-survey`(`wiki/surveys/`)。完成ページの外部公開用清書 → `wiki-publish`(`notes/<domain>/`) - `wiki-query` と `wiki-survey` の分岐は**設問が何を求めているかで決める。出力の行数や文献本数では決めない**。設計空間の体系・文献母集団の地図・対象の像の横断構築を求めるなら `wiki-survey`、単発の問い・単一ソースの解説・2 対象の差分なら `wiki-query`。母集団が薄いときは `wiki-survey` が `autoresearch` / `wiki-ingest-*` へ差し戻す。 > 詳細な判断基準と典型フローは [`wiki/CLAUDE.md`](wiki/CLAUDE.md) を参照。 ## セキュリティと設定 - 機微な内容は `z99_private/` に置き、公開ブランチに秘密情報を含めない。 - 大きなバイナリは `Attachments/` に置く。サイズが増える場合は Git LFS を検討する。 - Obsidian のプラグインと設定は `.obsidian/` を参照し、複数環境で一貫させる。 ## コミット - メッセージは `<area>: <imperative>` とする。例: `notes: add reactive systems summary`。 - area は `notes|papers|books|Clippings|pages|structures|z95|wiki` などを使う。 - PR には短い説明、主要リンク(`[[refs]]` または URL)、視覚変更がある場合は前後のスクリーンショットを含める。 - plugin 同梱の auto-commit hook は**無効**(`wiki/` 配下では `.vault-meta/auto-commit.disabled` を配置)。ツール呼び出しごとの機械的コミットは使わない。 - **Claude は意味のある作業区切りでは、ユーザーの明示指示を待たずに自動コミットしてよい**(1 コミット = 1 まとまり。例: ノート追加 1 件分、ingest 1 ソース分、lint 修正一式)。`Claude Code: ... (auto)` 形式の自動文言は使わない。 - force push・履歴改変・リモート push などの破壊的/外向き操作は引き続き明示確認する。 ## エージェント別の補足 - Claude Code と Codex は、どちらもこのファイルを実質的な共通指示として扱う。 - Codex は `AGENTS.md` を入口として読み、このファイルへ従う。 - Claude Code 固有の自動化や hook に関する注意は Claude Code にのみ適用する。 - wiki 操作では、インストール済みの `claude-obsidian` 系 Agent Skills を優先する。既存ノート層(`papers/`、`research/`、`structures/`、`notes/` など)を wiki tooling で書き換えない。