スキップしてメイン コンテンツに移動

ObsidianとClaude Codeを連携させる:claude-obsidian-taskの開発

研究やプロジェクト管理にObsidianを使っている方は多いでしょう。私もその一人です。Obsidianに指示書やタスクをまとめておき、それをAIに実行させたい——そんな発想からclaude-obsidian-taskを開発しました。

課題:AIへのタスク指示の煩雑さ

Claude Codeは強力なAIコーディングアシスタントですが、複雑なタスクを依頼する際には課題があります。

コンテキストの断片化

プロジェクトの背景、過去の調査結果、関連ドキュメント——これらを毎回コピー&ペーストするのは非効率です。Obsidianにはすべての情報が整理されているのに、それをAIに伝えるために手動で転記する必要がありました。

作業記録の散逸

AIとの対話結果をどこに保存するか?チャット履歴は流れてしまい、後から参照しづらい。作業結果をObsidianに戻す作業も手動で行う必要がありました。

claude-obsidian-taskの特徴

このツールは、ObsidianとClaude Codeをシームレスに接続します。

Obsidian Vaultからの直接読み込み

/obsidian-task project/01

このコマンド一つで、Obsidian Vault内の指示書を自動的に探し出し、読み込みます。部分一致で検索するため、project/01と入力すればproject/01_task-nameディレクトリを見つけ出します。

レビュー付きワークフロー

デフォルトでは、タスク実行前に「実行仕様書」を作成し、ユーザーの承認を求めます。

/obsidian-task project/01              # レビュー後に実行
/obsidian-task project/01 --skip-review # レビューをスキップ
/obsidian-task project/01 --review-only # 仕様書作成のみ

これにより、AIが意図しない方向に進むことを防ぎ、計画を事前に確認できます。

結果の自動保存

作業完了後、結果は同じディレクトリに自動保存されます。

すべての記録がObsidian内に残るため、後から参照・検索が容易です。

サブエージェント連携

プロジェクトのCLAUDE.mdにサブエージェントが定義されている場合、それらを自動的に活用します。

  • project-manager: 計画立案
  • architecture-specialist: 設計タスク
  • python-specialist: Python実装
  • test-runner: テスト実行

ワークフロー全体像

以下の図は、コマンド実行から完了までの流れを示しています。

インストール方法

git clone https://github.com/manabelab/claude-obsidian-task.git
cd claude-obsidian-task
./setup.sh

セットアップスクリプトがObsidian Vaultのパスを聞き、自動的に設定を行います。

使用例

例えば、新機能の実装タスクがあるとします。

  1. Obsidianにproject/feature-auth/01_instructions.mdを作成
  2. 指示内容を記述(要件、制約、参考資料へのリンクなど)
  3. Claude Codeで/obsidian-task project/feature-authを実行
  4. 実行仕様書をレビューし、承認
  5. タスク完了後、結果報告書が自動保存される

このワークフローにより、タスク管理とAI活用が一体化し、作業の透明性と再現性が向上します。

まとめ

claude-obsidian-taskは、ObsidianユーザーがClaude Codeをより効果的に活用するためのツールです。指示書の読み込みから結果の保存まで、一貫したワークフローを提供します。

ぜひお試しください。フィードバックやコントリビューションも歓迎します。

コメント

このブログの人気の投稿

Sourcetreeを使って、特定のブランチやタグをローカルに再現する方法 - フェッチ(fetch)を使おう -

今や、プログラミング開発に欠かせない存在となったGit。上司や同僚から「修正版をブランチ"devlop"にプッシュしたから、それを反映させてね」「安定版はタグ”v1.2”だから、よろしくね」と言われることもあるでしょう。その時に「どうやってブランチやタグって変えたらいいかわからない」「そもそも言われたブランチやタグが見当たらないんだけど…」となったら、とても困ってしまいます。そんなときにどうしたらいいか、本記事では Sourcetree を使用している環境を想定して、おすすめの手順を紹介します。環境によって具体的な操作は異なるものの、手順自体は一緒です。基本的には、 フェッチ(fetch)をしてリモートリポジトリをちゃんと確認 すればよいのです。 1. コミットしていないファイルをなくそう まず、Sourcetreeのコミット一覧に「コミットされていない変更があります」とあるかどうか確認します(下記図赤下線参照)。「コミット」の箇所に青マークでコミットされてないファイル数も表示されます(下記図赤枠参照)。その変更をコミットするか、破棄するかを行い、コミットされていない変更がない、きれいな状態にしましょう。そうしないと、後の作業中にエラー等が発生して進まなくなってしまいます。 2. フェッチしよう フェッチとは、 リモートリポジトリの最新の履歴の取得だけを行う 操作です。これによって、自分から見えていなかったブランチ・タグが見えるようになります。ブランチへのマージが伴うプッシュやプルと異なり、単に履歴を取得するだけなので、意図しないコミットが発生しません。安心して実施しましょう。Sourcetreeでは下記図赤枠部分をクリックすれば、フェッチを行うことができます。 その際出てくるポップアップで「すべてのリモートからフェッチ」「全てのタグを取得」をチェックしてください(下図赤下線参照)。 3. 目的のブランチ・タグを見つけよう 目的のブランチ・タグを見つけるのに便利なのが、Sourcetreeの左側領域にある「ブランチ」「タグ」「リモート」「スタッシュ」です。目的のブランチを探したい場合は「リモート」をクリックして現れる「origin」をさらにクリックしましょう。これでリモート上にあるブランチの一覧を見ることができます。タグの場合は「タグ」をクリック...

SourcetreeでGitHubのプライベートリポジトリをクローンする

Sourcetree は、初心者でも操作しやすいgitのGUIツールです。基本無料のソフトなので、あらゆる人が導入・利用しやすいという利点を持ちます。ですが、GitHubで非公開、つまりプライベートのリポジトリを取り扱う場合には、初期設定に一工夫が必要です。 本記事で紹介する設定の流れは以下の通りです。前提として、1)GitHubのアカウントとプライベートリポジトリを既に所有しているが、2)Sourcetreeを自身のPCにまだインストールしていない状態を想定しています。 GitHubのPersonal access tokenを作成する Sourcetreeを自身のPCにインストールする SourcetreeにGitHubのアカウントを登録する プライベートリポジトリをクローンする 今回はPersonal access tokenという手法を用います。秘密鍵や公開鍵が必要なSSH接続とは異なり、アカウント名とパスワードのみで認証できます。そのため、アカウント管理がより重要となりますので、 2段階認証 でより強力なアカウント保護をおこなうことをお勧めします。また、本記事で紹介するのはWindowsでの利用です。Macでもほぼ同じ流れになるかと思いますが、試してはいませんのでご了承ください。 1. GitHubのPersonal access tokenを作成する GitHubのPersonal access tokenとは、GitHub API またはコマンドラインを使用するときに GitHub への認証でパスワードの代わりに使用できる機能です。このトークンを自身のGitHubアカウントで作成することで、Sourcetreeからプライベートリポジトリにアクセスすることができるようになります。具体的な作り方は下記のGitHub公式ページををご参考ください。 Personal access tokenの作成方法: https://docs.github.com/ja/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token ポイントは手順8に書かれているS ...

GitHubのプライベートリポジトリからクローンできてもプッシュできないときの対処法 - Write権限の有無を確認しよう -

 以前、 SourceTreeを使って、GitHubのプライベートリポジトリにアクセスする方法 を記事にしました。その際、プライベートリポジトリからクローンできても、プッシュできない!という現象に遭遇するときがあります。下記のように、”そんなリポジトリは存在しないよ”というエラーが表示されます。 remote: Repository not found. もし、そのリポジトリがOrganaizationに属するものならば、 あなたのアカウントの権限が”Read”のみで、”Write”になっていない 可能性があります。権限に関してOrganaizationの管理者に確認してもらいましょう。 管理者がどういうルールで権限を決定しているのかによって、対応が変わるかと思います。一番手っ取り早い対応は、全てのメンバーのデフォルト権限を”Write”に変えてしまえばよいでしょう。Organaizationのページの右上にある「Settings」をクリックし、左に表示されるメニューから「Member privileges」を選択します。すると、左下のような画面が表示されますので、赤枠で囲っている「Base permissions」のプルダウン部分を"Write"に変更してください。 その他に、リポジトリ毎にアクセスできるメンバーを管理したい場合もあるかと思います。その際にはリポジトリの「Settings」→「Manage access」を選択し、設定等を変更してください。