Claude Code × Obsidian 完全連携ガイド|Vaultを自動で育てるAIメモ術
Obsidianユーザーなら一度は思ったはず。「このVault、もっと自動で整理してくれないかな」と。Claude Code は Obsidian の最良のパートナー です。Obsidian Vault は結局のところ Markdownファイルのフォルダ、Claude Code はファイルツリーの読み書きが得意中の得意。相性は抜群です。
この記事では、Claude Code と Obsidian を組み合わせて Vault を自動で育てる仕組み を、動くコード付きで徹底解説します。
なぜ Obsidian × Claude Code なのか
Obsidian の強み:
- ローカルファースト — すべて自分のマシン内のMarkdown
- プレーンテキスト — ベンダーロックインなし
-
リンク主導 —
[[ノート名]]で縦横に繋がる
これが Claude Code と噛み合います:
- ファイルツリーをそのまま操作 (
Read/Edit/Write/Glob) - Markdown を一級市民として扱える
- CLAUDE.md で Vault 規約を教え込める
基本セットアップ: Vault に CLAUDE.md を置く
Vault 直下に CLAUDE.md を配置。Vault 内で claude を起動すると自動ロードされます。
# My Obsidian Vault 規約
## ディレクトリ構造
- `daily/YYYY-MM-DD.md` — デイリーノート
- `zettel/` — 永続ノート (1ノート1アイデア)
- `literature/` — Web記事クリップ、読書メモ
- `project/` — 進行中プロジェクト
## 記法ルール
- ノート間リンクは `[[...]]`
- タグは frontmatter に記載
- デイリーは `## Today / ## Learned / ## Questions` 見出し固定
## 禁則事項
- 既存ノートのリネーム時は必ず確認 (バックリンクが切れるため)
- `_archive/` 配下は変更しない
実装例1: デイリーノート自動生成
毎朝の作業開始時、昨日の内容を引き継いで今日のテンプレを作成。
#!/bin/bash
# ~/vault/scripts/daily-note.sh
TODAY=$(date +%Y-%m-%d)
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
VAULT=~/vault
claude -p "
1. $VAULT/daily/$YESTERDAY.md を読む
2. 昨日の 'Today' から未完了タスクを抽出
3. 昨日の 'Learned' から振り返りポイント3つを抽出
4. $VAULT/daily/$TODAY.md を以下テンプレートで作成:
---
date: $TODAY
tags: [daily]
---
## Today
- (未完了タスクをここに)
## Learned
_空欄_
## Review
- (昨日の振り返り3つ)
## Links
[[$YESTERDAY]] ← → [[$(date -d tomorrow +%Y-%m-%d)]]
5. 完了報告のみ
"
cron や Windows Task Scheduler に登録。朝起きたらもう今日のノートが用意されています。
実装例2: Web記事を Vault にクリップ
// scripts/clip-url.mjs
import Anthropic from "@anthropic-ai/sdk";
import { writeFileSync } from "fs";
const url = process.argv[2];
const client = new Anthropic();
const res = await client.messages.create({
model: "claude-opus-4-6",
max_tokens: 4096,
tools: [{ type: "web_search_20250101", name: "web_search" }],
messages: [{
role: "user",
content: `${url} の記事を取得しObsidianノート生成:
---
title: (記事タイトル)
source: ${url}
tags: [literature, (主題タグ2-3個)]
clipped: ${new Date().toISOString().slice(0, 10)}
---
# (タイトル)
## TL;DR
(3行要約)
## Key Points
- (重要ポイント5つ)
## My Take
_あとで追記_
`,
}],
});
const body = res.content[0].text;
const slug = body.match(/title: "(.+?)"/)?.[1]?.replace(/[\/:]/g, "-") ?? "untitled";
writeFileSync(`${process.env.VAULT}/literature/${slug}.md`, body);
console.log(`Clipped: literature/${slug}.md`);
使い方: node clip-url.mjs https://example.com/article
実装例3: バックリンク自動補完
[[ノート名]] のリンク貼り忘れを一括発見・提案。
claude -p "
$VAULT/zettel/ 内の全Markdownを読み:
1. 各ノートから重要な概念・人物名を抽出
2. それらが他のノートタイトルに存在するか確認
3. 存在するのにリンクされていない箇所を [[...]] で括る
4. 関連ノートをノート末尾 '## Related' に2-3件追加
変更前に diff を表示し、承認を求めてから適用
"
ポイント: 承認フロー必須。自動書き換えは便利ですが、誤リンクで Vault の信頼性が崩れます。
実装例4: 議事録を構造化ノートに変換
claude -p "
$VAULT/inbox/raw-meeting-2026-04-16.txt を読み、
$VAULT/literature/meeting-2026-04-16.md に以下構造で保存:
---
title: '(会議タイトル推測)'
date: 2026-04-16
type: meeting
tags: [meeting, (議題タグ)]
attendees: [(参加者名抽出)]
---
## 決定事項
## アクションアイテム (担当者と期限付き)
## 議論内容 (トピック別に整理)
## 次回までの宿題
人物言及箇所を [[人物名]] にリンク化。
終わったら inbox/ から _archive/ に移動。
"
実装例5: Obsidian プラグイン開発を Claude Code で
Obsidian プラグインは TypeScript。Claude Code と相性抜群です。
cd ~/my-obsidian-plugin
claude
# Claude Code 内で:
> main.ts を読んでこのプラグインの機能を3行で説明
> 「選択テキストを Claude API で要約して挿入」機能を追加
> manifest.json も更新、npm run build が通ることを確認
Obsidian 固有記法との付き合い方
| 記法 | 意味 |
|---|---|
[[ノート名]] |
Wikilink (内部リンク) |
[[ノート名#見出し]] |
特定見出しへのリンク |
[[ノート名|表示文字]] |
エイリアス付きリンク |
![[ノート名]] |
ノート全体を埋め込み表示 |
%%コメント%% |
公開時に非表示のコメント |
CLAUDE.md でこれらの扱いを明示しておくと、Claude Code が自然に使い分けます。
落とし穴5選
1. 同期競合 (Obsidian Sync / iCloud / Dropbox)
Claude Code のファイル書き換え中にモバイル同期が走ると競合発生。実行中は同期を一時停止。
2. ファイル名に使えない文字
コロン : やスラッシュ / を含むタイトルはOSレベルで失敗。CLAUDE.md に「ファイル名はアルファベット・数字・ハイフン・日本語のみ」と明記。
3. バックリンクの大量書き換え
リネーム自動化はバックリンク更新漏れでリンク切れ発生。リネームは Obsidian UI から、ファイル移動のみClaude Codeに。
4. プラグイン依存を前提に書いてしまう
Dataview や Templater 依存の記法を生成すると、プラグイン未導入環境で壊れる。標準Markdown + Wikilinkの範囲 で書くようCLAUDE.mdで制約。
5. 大きすぎるVaultへの一括実行
5,000ノートVaultで Glob **/*.md + 全読み込みは爆発。サブエージェントに範囲限定で委譲。
運用例: 1日の流れ
07:00 daily-note.sh 自動起動
09:00 Obsidian 起動 → Today 書き込み
12:00 Web記事を clip-url.mjs で保存
15:00 会議、議事録を inbox/ に投げ込み
17:00 claude で議事録を literature/ に整形
22:00 その日の学びを zettel/ に永続化
深夜 週次で backlink-suggest.sh
「書くこと」は自分、「整えること」はClaude Code という役割分担がハマります。
まとめ
Obsidian のVaultは「育てる庭」。Claude Code を園芸ロボットとして雇えば、水やり (デイリーノート) / 雑草取り (バックリンク整理) / 収穫 (要約生成) をすべて自動化できます。
今日試せる最初の一歩:
- Vault直下に
CLAUDE.mdを置いて規約を書く -
daily-note.shを登録して毎朝のノートを自動化 -
clip-url.mjsで Web記事を一発クリップ
この3つだけで、Vault との付き合い方が根本から変わります。
関連記事