0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code × Obsidian 完全連携ガイド|Vaultを自動で育てるAIメモ術

0
Posted at

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 を園芸ロボットとして雇えば、水やり (デイリーノート) / 雑草取り (バックリンク整理) / 収穫 (要約生成) をすべて自動化できます。

今日試せる最初の一歩:

  1. Vault直下に CLAUDE.md を置いて規約を書く
  2. daily-note.sh を登録して毎朝のノートを自動化
  3. clip-url.mjs で Web記事を一発クリップ

この3つだけで、Vault との付き合い方が根本から変わります。


関連記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?