Obsidianのデイリーノートを「Claude Codeの記憶」に変える毎日の運用術
Obsidianに書いた決定事項・ハマり・規約を、毎朝Claude CodeのCLAUDE.mdへ流す日々のワークフロー。何をメモし、どう抜き出し、いつ棚卸しするかを実例で解説。
月曜の朝、Claude Codeを開いて、また同じ説明を打ち込んでいました。「このプロジェクトはpnpm、テストはnpm run test:unit、migrationsフォルダは触らないで」。金曜にも書いた。先週も書いた。
そのとき気づいたんです。僕はObsidianに毎日メモを取っている。決めたこと、ハマったこと、チームで合意したルール。全部そこにある。なのにClaude Codeには、毎朝ゼロから口頭で説明し直している。記憶は隣のアプリに眠っているのに、AIには毎回「はじめまして」をやっていたわけです。
この記事は、その隙間を埋める「毎日の運用」の話です。Obsidianのデイリーノートに溜まる雑多なメモを、どう選んで、どうClaude CodeのCLAUDE.mdに流すか。連携の仕組みやセットアップそのものは姉妹記事に譲って、ここでは「書いたメモを、明日のAIの文脈に変える日課」だけに絞ります。
連携の土台づくり(ノートをCLAUDE.mdへ移す手順そのもの)は Obsidianから CLAUDE.md への橋渡し に、CLAUDE.mdの粒度や「何を書かないか」は CLAUDE.mdは「何を書かないか」で決まる にまとめています。この記事を読む前か後に、合わせてどうぞ。
この記事の要点
- Obsidianには全部書いていい。Claude Codeに渡すのは「決定事項・ハマり・規約」の3種だけに絞る。
- デイリーノートには専用の見出し(例:
## → CLAUDE.md)を1つ置き、その日Claudeに教えたいことだけそこに書く。 - 毎朝の抽出は5分。**「今日のAIが知らないと事故ること」**を基準に選ぶ。
- CLAUDE.mdには「毎回守る安定ルール」、handoff(引き継ぎメモ)には「今だけの一時状態」を分けて置く。
- 週に一度の棚卸しで、古い判断を消す。CLAUDE.mdは200行以内を目安に軽く保つ(公式ドキュメントも長いと指示が守られにくいと明言)。
なぜ「デイリーノート起点」がうまくいくのか
最初に僕がやって失敗したのは、Obsidianのプロジェクトフォルダ丸ごとをClaude Codeに読ませることでした。「全部知ってるなら賢く動くだろう」と思ったんです。
結果は逆でした。半年前に却下した設計案と、今週採用したばかりの方針が、同じ重みで混ざる。Claudeは古い判断を真に受けて、とっくにやめたパターンでコードを書き始めました。情報が多いほど賢くなるわけじゃない。今この瞬間に効く判断だけを、短く渡すのが効くんです。
デイリーノートが起点として優秀なのは、構造を作らなくても自然に「時系列のログ」になるからです。今日考えたこと、今日詰まったこと、今日決めたこと。後から「いつの判断か」が一目でわかる。そして毎日開く場所だから、抽出を日課に組み込みやすい。わざわざ専用の管理ノートを作って三日坊主になるより、すでにある日記に乗っかるほうが続きます。
公式ドキュメントも、CLAUDE.mdに足すべきタイミングを「同じ訂正を二度打ち込んだとき」「コードレビューで同じ指摘を受けたとき」と説明しています。これはまさに、デイリーノートに書き残したくなる瞬間そのものです。
メモする3種類:決定・ハマり・規約
何でもかんでもCLAUDE.md候補にすると、結局ノイズに埋もれます。僕がClaudeに渡すのは、次の3種類だけに割り切っています。
| 種類 | 例 | CLAUDE.mdに残す? |
|---|---|---|
| 決定事項(Decision) | 「認証は自前実装をやめてAuth.jsに統一」 | 残す(安定ルール化) |
| ハマり(Gotcha) | 「prisma generateを忘れると型が古いまま落ちる」 | 残す(再発防止) |
| 規約(Convention) | 「APIハンドラはsrc/api/handlers/に置く」 | 残す(毎回守らせる) |
| 思考の途中・却下案 | 「Bパターンも検討したが見送り」 | 残さない(Obsidian止まり) |
| 一時的な状態 | 「いまPR #42のレビュー待ち」 | handoffへ(一時メモ) |
ポイントは、「途中の思考」と「確定した判断」を分けて書くことです。Obsidianには却下案も悩みも全部書いていい。むしろそれは後で「なぜこう決めたか」を思い出すための財産です。でもClaudeに渡すのは確定した結論だけ。「Bパターンも検討したが」みたいな枕詞は、AIにとってはただの迷いの種になります。
規約を書くときのコツは、検証できる具体性です。「コードをきれいに」ではなく「インデントはスペース2つ」。「テストして」ではなく「コミット前にnpm run test:unit」。公式ドキュメントも同じことを強調していて、曖昧な指示ほどClaudeは守りません。デイリーノートの段階から具体的に書いておくと、抽出してそのまま貼れます。
デイリーノートに「抽出口」を1つ作る
仕組みはシンプルです。デイリーノートのテンプレートに、Claude行きの見出しを1つ足すだけ。
## 2026-06-07
今日やったこと、考えたこと、雑多なメモはここに自由に書く。
PrismaのN+1で2時間溶かした。つらい。Bパターンの設計も少し考えた。
## → CLAUDE.md
- [decision] 決済後のCTAは無料PDFの後ろに置く(コンバージョン優先)
- [gotcha] `npm run build`前に`prisma generate`しないと型が古いまま通る
- [convention] 新しいAPIは`src/api/handlers/`配下に置く
上の自由欄には何を書いてもいい。落書きでも愚痴でもOKです。## → CLAUDE.mdの下にだけ、「明日のClaudeが知らないと困ること」を箇条書きで足す。[decision] [gotcha] [convention]のタグを頭に付けておくと、後で抽出スクリプトが拾いやすくなります。
僕はObsidianのDaily Notesプラグインのテンプレートにこの見出しを最初から入れています。毎朝新しいノートが## → CLAUDE.md付きで生成されるので、「今日Claudeに教えること、あったかな」と一日の終わりに見返す癖がつきました。これだけで、口頭で毎朝説明する手間が消えます。
毎朝5分の抽出ルーティン
溜めたメモを、実際にCLAUDE.mdへ流す手順です。完全自動化もできますが、最初は半手動で「自分の目で選ぶ」のがいいと思います。何を残し何を捨てるかの感覚は、手でやって身につくからです。
- 昨日までのデイリーノートの
## → CLAUDE.mdを開く - 各行を「今日のAIが知らないと事故るか?」で判定する
- YESなら、決定・規約はCLAUDE.mdへ。今だけの状態はhandoffへ
- CLAUDE.mdに足したら、デイリーノート側には
✓を付けて反映済みにする - 反映済みの古い行は、週末の棚卸しでまとめて消す
判定の基準は一つだけ。**「これを知らないClaudeは、今日の作業で間違った方向に進むか?」**です。YESなら渡す。「知ってたら便利かも」程度ならObsidianに置いておく。便利情報を全部渡すと、肝心のルールが埋もれて結局守られません。
下に、デイリーノートから## → CLAUDE.mdセクションのタグ付き行を抜き出して、CLAUDE.md用のブロックに整形する最小スクリプトを置きます。Node.jsだけで動きます。
// extract-to-claudemd.mjs
// デイリーノートから「→ CLAUDE.md」セクションのタグ付き行を抜き出して整形する
import { readFile } from "node:fs/promises";
const file = process.argv[2];
if (!file) {
console.error("使い方: node extract-to-claudemd.mjs <デイリーノート.md>");
process.exit(1);
}
const text = await readFile(file, "utf8");
// 「## → CLAUDE.md」見出しから次の見出し(##)までを切り出す
const section = text.split(/^##\s*→\s*CLAUDE\.md\s*$/m)[1] ?? "";
const body = section.split(/^##\s/m)[0];
// [decision] [gotcha] [convention] が付いた行だけを拾い、種類ごとに仕分け
const buckets = { decision: [], gotcha: [], convention: [] };
for (const line of body.split("\n")) {
const m = line.match(/^- \[(decision|gotcha|convention)\]\s*(.+?)\s*✓?\s*$/);
if (m) buckets[m[1]].push(m[2].trim());
}
const labels = {
decision: "## 採用中の決定(守る)",
gotcha: "## ハマりやすい点(事前に回避)",
convention: "## コード配置・命名のルール",
};
const out = [];
for (const key of ["convention", "decision", "gotcha"]) {
if (buckets[key].length === 0) continue;
out.push(labels[key]);
for (const item of buckets[key]) out.push(`- ${item}`);
out.push("");
}
console.log(out.join("\n").trim() || "(→ CLAUDE.md セクションに対象行がありません)");
実行は次の通りです。出力をそのままCLAUDE.mdの該当セクションに貼り付けます。
node extract-to-claudemd.mjs ~/Obsidian/Daily/2026-06-07.md
このスクリプトをわざと小さく保っているのには理由があります。整形は機械に任せていいけれど、「どの行を残すか」の判断は人が握るべきだからです。自動で全行を流し込むと、また古い判断が混ざり始めます。タグを付けた行だけ拾う、という一段の関門が、ノイズの侵入を防いでくれます。
CLAUDE.mdとhandoffを分ける
抽出した情報には、寿命の違う2種類があります。これを同じ場所に置くと、すぐ破綻します。
CLAUDE.md(安定ルール)には、来週も来月も守ってほしいことを置きます。コード配置の規約、採用中の技術判断、再発するハマりの回避策。公式ドキュメントの言う「always do X」型のルールです。置き場所は./CLAUDE.mdか./.claude/CLAUDE.md。チームで共有するならGit管理下のこの2つに入れます。自分専用のメモはCLAUDE.local.mdに分けて.gitignoreしておくと、チームに見せずに済みます。
handoff(引き継ぎメモ)には、今だけの一時状態を置きます。「いまPR #42のレビュー待ち」「この機能はまだ作りかけ」「次はログイン画面のテストから」。明日には変わる情報です。これをCLAUDE.mdに書くと、来週には嘘になります。
両者を物理的に分けるために、CLAUDE.mdから一時メモを@記法で読み込む手もあります。公式のimport機能で、別ファイルを文脈に取り込めます。
# プロジェクト規約
## コード配置のルール
- APIハンドラは src/api/handlers/ に置く
- パッケージマネージャは pnpm を使う
## 現在の状態(一時メモ)
@.claude/handoff.md
こうしておくと、安定ルールはCLAUDE.md本体に、流動的な状態はhandoff.mdに分かれます。棚卸しのとき、handoff.mdだけ気軽に書き換えられるのが効きます。CLAUDE.md本体は滅多に変えない、handoffは毎日変える。この温度差を作るのがコツです。
週に一度の棚卸し
ここが一番サボりがちで、一番効きます。CLAUDE.mdは放っておくと太ります。太ると、Claudeが指示を守らなくなる。公式ドキュメントもCLAUDE.mdは200行以内を目安に、と明言しています。長いファイルはそれだけで文脈を食い、守られにくくなるからです。
僕は金曜の終わりに5分だけ、/memoryコマンドでClaude Codeに読み込まれているファイル一覧を開いて、上から眺めます。見るのは3点だけ。
- もう守っていないルールはないか(古い決定は即削除)
- 矛盾する行はないか(2つのルールが食い違うと、Claudeはどちらかを勝手に選ぶ)
- handoffに「完了済み」が残っていないか(終わったタスクは消す)
削除をためらわないのがコツです。「いつか使うかも」で残した行が、半年後にClaudeを古い方向へ引っ張ります。消した判断の記録はObsidian側に残っているので、本当に必要になったら掘り返せばいい。CLAUDE.mdは図書館ではなく、今日使う付箋だと思って軽く保ちます。
棚卸しのとき、デイリーノートの## → CLAUDE.mdで✓が付いた古い行も一緒に消します。反映済みの行が溜まると、毎朝の抽出で「これ、もう入れたっけ?」と迷うからです。
よくある質問
Q. Obsidianのメモを丸ごとClaude Codeに読ませるのはダメですか? A. 動きはしますが、古い判断と今の判断が同じ重みで混ざり、Claudeが却下済みの方針で動くことがあります。渡すのは「決定・ハマり・規約」の確定情報だけに絞るのが安定します。
Q. 抽出は完全自動にできますか? A. 技術的には可能です。ただ最初は半手動で「どの行を残すか」を自分で選ぶといいです。残す・捨てるの感覚が手でやると身につき、それが固まってから自動化すると精度が上がります。
Q. CLAUDE.mdとhandoffを分ける意味は?
A. 寿命が違うからです。CLAUDE.mdは来月も守るルール、handoffは明日には変わる状態。混ぜるとhandoffの古い情報がルールとして扱われ、Claudeが間違えます。@記法でhandoffを読み込む形にすると、温度差を保てます。
Q. デイリーノートを使っていない場合は?
A. 専用の「運用メモ」ノートを1枚作り、そこに## → CLAUDE.md見出しを置けば同じ運用ができます。ただ毎日開く場所のほうが続くので、すでにある日記やタスクノートに乗せるのが楽です。
Q. CLAUDE.mdはどこに置くのが正解ですか?
A. チーム共有ならGit管理下の./CLAUDE.mdか./.claude/CLAUDE.md。自分専用のメモはCLAUDE.local.mdに分けて.gitignoreします。詳しい置き場所と粒度はCLAUDE.mdは「何を書かないか」で決まるに書きました。
次のステップへの導線
この運用に必要な連携の土台(ノートをCLAUDE.mdへ移す手順そのもの)は Obsidianから CLAUDE.md への橋渡し にまとめています。Obsidian自体をAIで“育てる”話に興味があれば ObsidianのメモがAIで勝手に育つ仕組み もどうぞ。
手元にコマンドや設定の早見表を置いておきたい人は 無料チートシート から始めるのが楽です。CLAUDE.mdや権限まわりをチームで整える設計まで相談したくなったら 導入相談 に進むのが自然です。教材を比較したい場合は products も見られます。
実際に試した結果
この日課を3週間続けてみて、いちばん変わったのは「毎朝の説明」が消えたことでした。月曜にClaude Codeを開いて、いきなり本題に入れる。先週合意した規約を、AIが最初から知っている状態でスタートできる。
意外な副産物もありました。## → CLAUDE.mdに「これは明日のAIに伝える価値があるか?」と書く癖がついたことで、自分の判断が言語化されるようになったんです。曖昧なまま進めていた決定が、「decisionとして残すなら、理由まで一文で書けるか」と問われて、はっきりする。Claudeのためのメモが、結果として自分の頭の整理にもなっていました。
完璧な自動化は今も目指していません。抽出は手で選び、棚卸しは金曜に手で消す。地味です。でもこの地味な5分が、AIに「うちのプロジェクトの今」を毎日アップデートし続ける一番確実な方法だ、というのが今の実感です。
無料PDF: Claude Code はじめてのチートシート
まずは無料PDFで基本コマンドと最初の使い方をまとめて確認してください。登録後はそのままテンプレート集や導入相談にも進めます。
スパムは送りません。登録情報は厳重に管理します。
Claude Codeを仕事で使える形にしませんか?
まず無料PDFで基本を固め、繰り返し使う作業はGumroad教材へ、チーム導入や権限設計は導入相談へ進めます。
この記事を書いた人
Masa
Claude Codeの実務活用、導入設計、収益導線改善を検証しているエンジニア。10言語の技術メディアを運営中。
関連書籍・参考図書
この記事のテーマに関連する書籍を楽天ブックスで探せます。
※ 当サイトは楽天市場のアフィリエイトプログラムに参加しています。上記リンクから商品をご購入いただくと、運営者に紹介料が支払われる場合があります。
関連記事
制作会社がClaude Codeに触らせる前に決める権限チェックリスト
クライアントサイトを壊さずにAI編集を使うための、制作会社向け権限と確認の型です。
SaaSサポートのバグ報告をClaude Codeで再現手順に変える実務フロー
問い合わせ文をそのまま開発へ投げず、再現手順、証拠、次の一手に整えるサポート向け手順です。
Obsidianの古いメモをClaude Codeの指示書に変える10分ルーチン
Obsidianに溜めたメモが毎回ゴミになる人へ。事実・決定・未確認に仕分けして、Claude Codeがそのまま動ける指示書に変える朝の10分の型を紹介します。