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連携10分でなくした

0
Last updated at Posted at 2026-07-28

本記事は Zenn で公開した実測記事の Qiita 版です (筆者本人による転載・一部再構成)。

新しいセッションを開くたびに、「このプロジェクトは JWT 認証を採用していて、ミドルウェアの構成が……」と最初から説明していないでしょうか。私もそのうちの一人でした。

上限に達して別の AI に移ったときも同じです。翌日 Claude Code に戻れば、前日そちらで話した内容は引き継がれていません。3 回目の説明になります。

これがあまりに面倒で、たどり着いた発想が 「プロジェクトの状況を外部のファイルに記録しておいて、それを毎回 Claude に参照させればいいのでは」 でした。ただ、最初のやり方はうまくいきませんでした。この記事は、失敗を経て今の形に落ち着くまでの記録です。

Before: 作業が終わったあとに、人間が Notion に書き残す

最初に作った仕組みは単純でした。その日の作業が終わったら、「やったこと・決めたこと・残りのタスク」を自分の手で Notion のページにまとめておく。 翌日はそのページを Claude に読ませてから作業を始める、という運用です。

これは続きませんでした。理由ははっきりしています。「記録をまとめる」が、作業が全部終わったあとの追加作業になっていたからです。 余裕のある日は書けます。しかし実装に追われた日は「疲れたから明日まとめよう」になり、その明日も書かない。記録は、忙しい日 = 一番動きがあった日から順に抜けていきます。

そして止まった記録は、ただ古いだけでは済みませんでした。1 週間前の状態で止まったページを Claude に読ませると、とっくに解決済みのバグを「未解決の課題」として引き継いでしまうのです。その食い違いを口で訂正しているうちに、結局「最初から説明する」のと同じ手間に戻っていました。

つまり弱点は Notion ではなく、「人間が・あとで・手で書く」という 3 点そのものでした。記録先を Obsidian に変えるだけでは、何も解決しません。

After: 作業が一区切りつくたびに、AI が Obsidian に書く

今の形は、この 3 点を全部裏返したものです。書くのは AI・タイミングは作業の直後・人間の手作業はゼロ。

具体的には、Obsidian の vault (ノートを保管しているフォルダ) を WSL 側に繋ぎ、Claude Code に「タスクが一区切りついたら、現況ファイル (プロジェクトの今の状態を 1 枚にまとめたメモ。詳細は後述) を自分で更新すること」というルールを与えます。作業をした本人である Claude Code がその場で書くので、記録は常に最新で、人間があとからまとめ直す工程がそもそも存在しません。

次のセッションは**「現況ファイルを読んで、続きをやって」の一言**で始まります。背景説明は、もう書きません。

設定にかかる時間は 10 分です。前提は Windows 11 + WSL2、Obsidian は Windows 側、Claude Code は WSL 側にインストール済み、という構成になります。

最初の壁: WSL と Windows でファイルシステムが別

やることは「Obsidian の vault を Claude Code から触れるようにする」だけです。ところが、ここに 1 つ壁があります。

Claude Code は WSL 上で動き、Obsidian は Windows 上で動きます。同じ PC なのに、ファイルシステムが別世界です。

最初に試したのはシンボリックリンクでした。

ln -s /mnt/c/Users/<username>/Obsidian/my-vault ~/vault

簡単ですし、これでいけるだろうと思ったのですが、Claude Code がシンボリックリンク越しにファイルを書き込めないケースがありました。読めるけれど書けない。文脈を蓄積させたいのに書けないのでは意味がありません。

たどり着いたのが bind mount です。WSL の fstab で Windows フォルダを直接マウントすると、Claude Code からは普通のローカルファイルと区別がつきません。

  • Claude Code が確実にファイルを読み書きできる
  • パスが安定するので CLAUDE.md に書いて参照できる
  • アクセス時に自動マウントされる (起動コストがかからない)

手順: bind mount で繋ぐ (10 分)

1. マウントポイントを作る

mkdir -p ~/projects/vault

プロジェクトディレクトリと同階層に置くと cd ../vault で行けて便利です。

2. WSL の設定を書く

/etc/wsl.conf に以下を追加します。

[boot]
systemd=true

[automount]
mountFsTab=true
options="metadata,umask=022,fmask=111"

3. fstab に 1 行足す

/etc/fstab に以下を追加します (1 行です)。

/mnt/c/Users/<WinUser>/Obsidian/<VaultName>  /home/<WslUser>/projects/vault  none  noauto,x-systemd.automount,bind,x-systemd.requires-mounts-for=/mnt/c  0  0

パスの読み替えはこうなります。

書き方
Windows のパス C:\Users\taro\Obsidian\my-vault
fstab に書く形 /mnt/c/Users/taro/Obsidian/my-vault
マウント先 (WSL) /home/taro/projects/vault

4. WSL を再起動する

PowerShell で実行します。

wsl --shutdown

5. 動作を確認する

# systemd が有効か → "systemd" と出れば OK
ps -p 1 -o comm=

# マウントされているか
mountpoint ~/projects/vault && echo "OK: 連携完了"

# ファイルが見えるか
ls ~/projects/vault

6. 双方向で書けることを確かめる

# WSL → Windows
echo "# Test from WSL" > ~/projects/vault/_test.md
# → Obsidian 側で _test.md が見えれば OK

# Windows → WSL
# Obsidian で _test2.md を作成してから
ls ~/projects/vault/_test2.md

両方通れば連携完了です。テストファイルは消して構いません。

繋いだ後にやること: 3 つの運用パターン

ここからが本題です。bind mount が繋がったら、次は Claude Code にどう使わせるか

① 現況ファイルを 1 枚置く (いちばん効く)

現況ファイルとは、「このプロジェクトが今どこまで進んでいるか」を 1 枚にまとめた Markdown ファイルです。 進捗・残タスク・意思決定の 3 つを書き、作業のたびに更新しながら使い回します。仕様書ではなく、自分あての引き継ぎメモだと思ってください。

プロジェクトごとに 1 つ作り、「この情報はここを見れば分かる」という置き場所を 1 か所に決めます。

これがあるかないかで、セッションの始まり方がこう変わります。

現況ファイルなし 現況ファイルあり
セッションの最初に打つこと 「認証は JWT で、ミドルウェアの構成は……」と背景を 10 行 「現況.md を読んで、続きをやって」の 1 行
前回なぜその技術を選んだか 人間の記憶の中だけ。1 か月後には消えている 意思決定ログとして残り、AI も読める
残タスクの把握 チャットを遡って探す ファイルの上から 3 行目にある

中身はこれくらいで足ります。凝ったフォーマットは必要ありません。

# MyProject 現況ステータス

## Phase 進捗
| Phase | 状態 | 完了日 |
|-------|------|-------|
| 認証基盤 | ✅ 完了 | 03-01 |
| ダッシュボード | 🔧 作業中 | — |

## 直近の残タスク
- [x] JWT 認証の実装
- [ ] ダッシュボード UI → 今ここ
- [ ] E2E テスト追加

## 意思決定ログ
| 日付 | 決定 | 理由 |
|------|------|------|
| 03-01 | JWT 採用 | セッション管理不要の API 設計に合致 |
| 03-01 | Tailwind 採用 | コンポーネント単位のスタイリングに適合 |

セッションの開始時に、こう頼みます。

「~/projects/vault/Projects/MyProject/現況.md を読んで、続きをやって」

これだけで前回の文脈が戻ります。チャット履歴が消えても、知識の方は残るという状態です。

ポイントは 2 つあります。AI に読ませるためのファイルが、人間にとっても読める引き継ぎメモになっていること。 そして次のパターン ② と組み合わせると、更新するのが AI 側になるので、人間が転記を続ける必要がなくなることです。冒頭で書いた「Notion が続かなかった」問題が、ここで解消されます。

② CLAUDE.md にパスを書いて、自律的に更新させる

Claude Code の CLAUDE.md に、Obsidian 側のパスと更新ルールを定義しておきます。

# CLAUDE.md

## 知識ベース
- 現況ファイル: ~/projects/vault/Projects/MyProject/現況.md
- 技術メモ: ~/projects/vault/Notes/
- 意思決定ログ: 現況ファイル内の「意思決定ログ」セクション

## ルール
- タスクが一区切りついたら、現況ファイルを更新すること
- 重要な意思決定は意思決定ログに追記すること

こうしておくと、こちらが指示しなくても Claude Code の側から現況ファイルを更新するようになります。「あとでまとめよう」を人間の意志力に頼らないのがポイントです。

③ git ログを日誌に自動追記する

#!/bin/bash
# 今日の git コミット履歴を Obsidian に記録
DATE=$(date +%Y-%m-%d)
LOG="$HOME/projects/vault/Journal/${DATE}.md"

echo "## 開発ログ - $(date '+%H:%M')" >> "$LOG"
git log --since="today" --pretty=format:"- %s" >> "$LOG"
echo "" >> "$LOG"

これを Claude Code に「毎日実行して」と頼めば、開発ログが自動で溜まっていきます。

詰まったときの 4 パターン

起動時に「Processing /etc/fstab failed」と出る

fstab のパスやオプションにタイポがある可能性が高いです。手動マウントで詳細なエラーを確認します。

sudo mount -a -v

vault フォルダが空のまま

automount は最初のアクセス時にマウントされる仕組みです。ls で触れば発動します。

ls ~/projects/vault

Claude Code がファイルに書き込めない

シンボリックリンクのままになっていないか確認します。

mountpoint ~/projects/vault
# → "is a mountpoint" と表示されれば bind mount になっている

シンボリックリンクだった場合は手順 3 からやり直しです。

Windows 側の編集が WSL に反映されない

再マウントで解決します。

sudo umount ~/projects/vault
ls ~/projects/vault  # 自動マウントが再発動する

まとめ

Notion で失敗したときとの違いは、記録を書く担当が人間から AI に移ったことだけです。仕組みとしては、bind mount で繋いで、CLAUDE.md に「タスクが一区切りついたら、現況ファイルを更新すること」と書いた。それだけで、続かなかったものが続くようになりました。

副次的な効果もありました。記録先が Obsidian のファイルなので、過去に何を決めたかを全文検索で辿れます。 「どのチャットで話したっけ」が無くなりました。

10 分の設定で、Claude Code との会話が「揮発する情報」から「蓄積する資産」に変わります。私自身、プロダクト開発と記事執筆の両方をこの構成で回しています。


同じ「情報を 1 か所に集めて AI に読ませる」構造を、開発ではなく業務の案件管理に広げた記録 (50 案件の進捗確認を Claude に任せた話) は、note の実践パッケージ にまとめています。

参考リンク

🔍 moname_ai — Claude を本業で使い倒した実測記録を書いています。続きは Bluesky (@moname-ai.bsky.social) で。


📢 8/29(土) にオンライン勉強会をやります

記事で書いている「AI に任せる仕組み」の実物を、40 分でお見せします。50 案件の進捗催促を Slack・スプレッドシート・cron で自動化した構成とデモ、うまくいかなかった部分も含めて話します。オンライン・無料・定員 20 名です。

50案件の催促をAIに任せたら「進捗どう?」がほぼ消えた — 実測勉強会 #1 (connpass)

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?