# 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]]` または `` を使う。
## 作業コマンド
- 検索: `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 で書き換えない。