Obsidianで作る、エンジニアの「第二の脳」── 個人ナレッジベース構築のすべて
2026-05-20
azblob://2026/05/19/eyecatch/2026-05-12-new-note-introduction-obsidian-000.jpg

はじめに

日々の業務で「あの仕様、どこかに書いたはずなのに見つからない」「先週の会議で決まったこと、なんだったっけ」という体験をしたことはありませんか。

私は社内プロジェクトに携わりながら、日次の作業記録、会議メモを並行して管理する必要がありました。情報が増えるほど検索性が下がり、ファイル間のつながりが見えにくくなる問題に悩んでいました。

そこで導入したのが Obsidian です。導入から数ヶ月で、日常業務の情報管理が劇的に改善しました。本記事では、実際に構築したVaultの設計と自動化のしくみを紹介します。

※実際に使用しているObsidianのディレクトリ構造・skills・MCPを利用してAIが記述しています。

Obsidianとは

Obsidianは、Markdownファイルをローカルで管理するナレッジベースアプリです。主な特徴は次のとおりです。

  • ローカルファースト:データはすべてローカルの .md ファイルとして保存。クラウド依存なし
  • 双方向リンク(バックリンク)[[ノート名]] 記法でノート同士を結び、「どこから参照されているか」を逆引きできる
  • グラフビュー:リンク関係をネットワーク図で可視化。知識のつながりが一目でわかる
  • 豊富なプラグインエコシステム:テンプレート、カンバン、Local REST APIなど非常に多くのコミュニティプラグインが存在

Vault設計:フォルダ構造と運用ルール

Vaultのフォルダ構成は以下のように整理しました。

フォルダ用途
docs/daily/日次作業ログ(YYYY-MM-DD.md)
docs/meetings/会議・1on1メモ
docs/work/プロジェクト別作業メモ
knowledge/恒久的なナレッジベース
tasks/カンバンボードとタスクノート
templates/ノートテンプレート
config/自動化スクリプト(TypeScript)
linter

全ノート共通のナビゲーションルール

すべてのノートの冒頭に次の1行を必ず記載しています。

関連: [[<そのフォルダ>/index]] | [[00-Index]]

これにより、どのノートからでもワンクリックでフォルダMOC(Map of Contents)とVault全体の目次に飛べます。深い階層のノートを開いていても迷子になりません。

MOC(Map of Contents)パターン

各フォルダに index.md を置き、そのフォルダ配下のノートへのリンクを一覧化しています。Obsidianのバックリンク機能と組み合わせることで、「このフォルダに何があるか」が常に把握できます。

ナレッジベースの構造化

knowledge/ フォルダはプロジェクトの恒久的な知識を蓄積する場所です。サブフォルダで領域を分け、各ノートは以下の形式に統一しています。

---
title: タイトル
date: YYYY-MM-DD
tags: [architecture, cdk, ...]
---

# タイトル

## 概要
## 目的
## 内容
## 参考リンク

---
最終更新: YYYY-MM-DD
ステータス: Draft / Active / Archived

ステータスフィールドを設けることで、古い情報(Archived)と現役の情報(Active)を一目で区別できます。

タスク管理:カンバンとナレッジの連携

tasks/board.md にKanbanプラグインでボードを作成し、タスクを管理しています。タスクにはハッシュタグで領域を紐づけています。

- [ ] [[タスクノート名]] #TechBlog

タスクノートに実作業の内容が蓄積されたら、knowledge/ に昇格させるワークフローを設けています。「タスクが完了したら知識として残す」というサイクルが、Vaultを育てる原動力になります。

タグ知識の移管先
#taskknowledge/activities/
#architectureknowledge/architecture/
#technicalknowledge/technical/
#troubleshootingknowledge/troubleshooting/

自動化:TypeScriptでリンクを維持する

Vaultが成長するにつれ、MOCの手動更新が面倒になります。そこで config/scripts/ にTypeScriptで自動化スクリプトを実装しました。

# フォルダMOCと関連リンクセクションを自動更新
npm run auto-link

# Markdownのリント
npm run lint:md

auto_linker.ts は各フォルダをスキャンし、index.md のリンクリストと各ノートの ## 関連リンク セクションを最新状態に保ちます。ノートを追加・削除しても、次回実行時にMOCが自動的に同期されます。

Markdownのリント:書き方を統一する

Vaultのノートが増えると「このファイルはリスト記号が * で、あのファイルは - だ」という表記ゆれが生まれます。これを防ぐために markdownlint を導入し、.markdownlint.jsonc でルールを管理しています。

ルール設計の考え方

markdownlint はデフォルトですべてのルールを有効にしたうえで、Obsidianのノート運用と相性が悪いルールだけを無効化しています。

有効にしているルール(抜粋)

ルール内容
MD004順序なしリストのマーカーを - に統一
MD007リストのインデント幅をスペース2つに統一

無効にしているルール(抜粋)

ルール無効にした理由
MD001見出しレベルの飛ばしを許可。h2→h4など自由な構成が多い
MD022見出し前後の空行を不要に。密度の高いノートに合わせるため
MD0251ファイルに複数のh1を許可。日次ログなどで複数タイトルが発生するため
MD036**太字** を見出し代わりに使うことを許可。注記・ラベルとして多用するため

「厳格なルールをベースにしつつ、ノートテイキング特有の書き方を例外として許可する」設計にすることで、チェックの精度を保ちながら運用のストレスを最小化できます。

テンプレートで記録コストを下げる

templates/note-template.md を用意し、ホットキー Ctrl+Alt+T で即座に展開できるようにしています。frontmatterの titledatetags が自動入力されるため、「書き始めるまでの摩擦」を最小化できます。

Obsidian MCP Server:AIエージェントとVaultをつなぐ

Local REST APIプラグインを導入すると、ObsidianがHTTP APIを公開し、外部ツールからノートの読み書きが可能になります。これをMCP(Model Context Protocol)サーバーとして構成することで、Claude CodeなどのAIエージェントがVaultを直接参照・編集できるようになります。

具体的には次のような操作をAIに委任できます。

  • タスクノートの内容を読み込んで要約・整形
  • ナレッジベースへの新規ノート作成・既存ノートの更新
  • ブログ下書きの内容をMOCのリンクと照合して補完

「AIに作業を依頼する → VaultのMarkdownが更新される → Obsidianで確認・修正する」というサイクルが実現し、知識の蓄積スピードが大幅に上がります。

導入してよかった点・注意点

よかった点

  • バックリンクで「あのノートからも参照している」関係が自然に見えてくる
  • ローカルファイルなので全文検索が高速
  • エディタ・プラグインのカスタマイズ自由度が高い
  • インターネット接続不要で動作するため、社内ネットワーク制限の影響を受けない

注意点

  • プラグインを入れすぎると起動が重くなる(必要最低限に絞る)
  • Vaultの設計(フォルダ構成・命名規則)を最初に決めておかないと後で整理が大変
  • チームでの共同編集はGit運用の工夫が必要(個人利用がメインの想定)

まとめ

Obsidianは「書いて終わり」ではなく、ノート同士をリンクさせて知識のネットワークを育てるツールです。MOCパターン・タグ・自動化スクリプト・リントを組み合わせることで、個人の情報管理を「検索できるが見つからない」状態から「必要なときに必要な情報に辿り着ける」状態に変えられます。

まずは小さなVaultから始めて、自分の思考パターンに合った構造を育てていくのがおすすめです。