次の記事で紹介したとおり、Claude Codeを毎日使っている。
やりたいことやつくりたいものを壁打ちしながら実現できる点が非常に便利である。
最近は、Obsidian × Claude Codeで、デイリーノートへの行動ログ集約やプロジェクト・タスク管理の効率化を検討している。今回は後者のプロジェクト・タスク管理について書く。大枠は形になりつつあるものの、まだ日常運用には落とし込めていないため、本記事では構想段階の内容として紹介する。
従来の課題
昔から様々なツールや手段でタスク管理をしてきた。手帳やノート、Google ToDo リスト、Remember The Milk、Trello、Asana、Todoist etc しかし、どれも長続きせず、途中で挫折してしまった。今振り返ると、理由は次のとおり。
1. 情報が散在している
タスクの発生源は様々である。仕事であれば、会社やチームで使っているツール、メール、Slack、会議中に発生した Next Action などがある。複数のソースで発生したタスクを一つのツールに集約するには、自動連携できるのが理想である。しかし、その仕組みが必ずしも提供されているわけではなく、自前で作るか、手動でタスクを書き起こすしかない。最初は頑張って書き起こそうとするものの、次第に面倒になり、最終的にはツールでの管理自体を諦めてしまう。
2. 最小限のやるべきことが明らかにされていない
例えば、アカウント発行やシステム設定変更のように、手順が決まっていて短時間で完了するタスクであれば、一般的な管理ツールで十分に対応できる。
しかし、実際の仕事の多くはプロジェクト型である。ゴールや進め方が不透明なまま、仮説と検証を繰り返しながら進めなければならないものが多い。タスクが発生しても、ゴールが曖昧で粒度も大きいため、そのままでは処理しきれない。日々の業務時間の中で実行できる単位までブレイクダウンする必要があるが、私はこれが苦手である。無理に飲み込もうとしても消化不良を起こし、完了までにかなり時間がかかってしまう。
経験を積めば細かい粒度に分解しやすくなるが、未経験のプロジェクトもある。長期にわたるプロジェクトでは、いつまでに何をやるかというマイルストーンの設定も必要になるが、そこにも弱さを感じている。私はタスク志向の人間なので、目の前のタスクに落ちてくれば動きやすいが、そこに至るまでに課題がある。
3. コンテキストが失われる
業務でタスクを進める際には、調査や検証を行うことがある。これらの結果を会社の GitHub Issue や Notion にまとめることもあるが、そこまで整理されていない雑多なメモや思考の断片も残しておきたい。Notion の個人ページに書く方法もあるが、進行中のタスクの状態と連動していてほしい。
一方で、タスク管理ツールに詳細なメモを残しても、完了にした途端に情報が見えにくくなる。実際には消えないが、すぐ取り出せない形で埋もれてしまう。Todoist はその典型である。何をやったのか、なぜそれをやるのか、結果どうなったのか、参考 URL や外部リソースは何か、といったコンテキストを残しておきたい。
4. 完璧にやろうとしすぎる
中途半端な完璧主義なので、少しでも運用がうまくいかなかったり面倒に感じたりすると、途端にやらなくなる。完璧なタスク管理システムを作ろうとしすぎて、仕組みを複雑にし、結果として運用しづらくしてしまう。もっと簡単に、よしなに補助してくれる仕組みが必要である。
理想のタスク管理状態
先ほど挙げた課題を解消した状態は、以下のとおりである。
- 複数のソースから一つのツールに集約されている
- プロジェクトを設定すると、適切なマイルストーンとそれに紐づくタスクが提案される
- タスクにコンテキストを残せる
- 実行者(=私)の手間をほとんどかけずにタスク管理が運用できる
タイトルのとおり、これらの課題は Obsidian と Claude Code で解決できるのではないかと考えている。
Claude Code から GitHub、Slack、Google Calendar、Gmail の情報を取得し、Obsidian に書き込めるようにする。
これから進めたい、あるいはすでに進行中のプロジェクトを起票すると、そのゴールをもとにマイルストーンとタスクを提案し、必要なタスクを起票してくれる。
さらに、1タスクにつき1つの Obsidian ノート(Markdown ファイル)を対応させることで、タスクごとのコンテキストを残せる。このアイデアは、songmuさんの「TaskMD Shelf」をベースにしている。
songmu.jp
これら一連の処理を Skill 化し、私はそれを呼び出すだけにする。これであれば運用に乗せられる気がしている。
さらにTodoistを組み合わせる
最初は Obsidian × Claude Code によるタスク管理を考えていたが、以下の問題が出てきた。
1. 雑多なタスクや繰り返しに向かない
コンテキストとして残すほどではない、備忘のためだけのタスクをこの仕組みに載せると、かなり煩雑になる。また、毎週・毎月の定期タスク(請求書処理など)にも向かない。
2. スマホから起票したい
スマホ(Android)から Obsidian アプリで内容を見ることはできるが、すばやく起票するにはかなり手間がかかる。アプリを立ち上げ、フォルダ階層を辿り、ノートを作成し、文字入力または音声入力を行う必要がある。PC であればまだしも、移動中にスマホから起票する用途とは相性が悪い。
3. タスクの状態管理に弱い
Trello のように、カンバン形式でタスクの状態遷移(Todo -> In Progress -> Review -> Done)を変更できるのは非常に便利である。しかし、Obsidian で同じような運用をするのは難しい。Kanbanプラグインはあるものの、ドキュメントを見る限りでは、1つのノートにタスクを列挙する方式のようで、当初想定していた「1タスク、1 Obsidianノート」の方式には合わない。加えて、プラグインの入力形式に合わせなければならない点にも窮屈さを感じた。
これらの課題を解決するために、Todoist も組み合わせることにした。最近使っているのが大きな理由だが、以下の点で使いやすいと感じている。
- スマホとの相性がよく、ウィジェットから一覧確認やタスク追加がしやすい
- リマインダー(有料)、繰り返しに対応している
- プロジェクト管理もできる(有料)
- Google カレンダーと組み合わせて時間管理もできる
- API が提供されている
Todoist には、以下の役割を担わせる。
- タスク起票。タスクの入口は Todoist に統一し、PC では Raycast から起票する
- 雑多なタスクや繰り返しタスクの管理
- プロジェクト型タスクの状態管理。
Todoist を組み合わせるにあたっては、プロジェクト管理用のタスクを Todoist と Obsidian ノートで連動させる必要がある。Todoist でタスクを起票・更新したら Obsidian 側でノートを作成・更新し、Obsidian 側でノートを更新したら Todoist 側にも反映させる。つまり、双方向同期が必要になる。既存ツールでは実現が難しいため、そのためのスクリプトを Claude Code で作っている。現在は試運転中である。
本記事で紹介した「ぼくのかんがえたさいきょうのタスク管理」が形になったら、このブログで改めて紹介する予定。