Published on

Obsidianでタスクを管理する

Authors

Obsidian はノートアプリですが、Obsidian の機能やプラグインを活用することでタスク管理も行うこともできます。 今回は、現時点での筆者のタスク管理方法を紹介します。

要約

現在実践しているタスク管理方法の概要は以下のとおりです。

  • タスクを書く場所を、デイリーノートにする
  • タスクを日次・週次・月次に分類し、それぞれデイリー・ウィークリー・マンスリー用ノートに書く
  • デイリーの未完了タスクは、自動で翌日のデイリーノートに持ち越す
  • タスクの実行漏れがないように、未完了タスクを可視化する
  • 週次・月次で進捗をふりかえるため、日毎のタスク完了数を可視化する

使用するプラグイン

タスク管理に使用するプラグインは次のとおりです。 コミュニティプラグインは「設定 > コミュニティプラグイン」からインストールできます。

  • コアプラグイン
    • Daily Note
  • コミュニティプラグイン
    • Periodic Notes : デイリーノートを拡張し、毎週・毎月のノートを作成可能にする
    • Templater : デイリーノートのテンプレートを作成可能にする
    • Tasks : タスク管理に必要な機能を提供する
    • Rollover Daily Todos : 前日の未完了タスクを今日に移動する

1. Tasks プラグインを使う

Tasks プラグインを使うことで、機能が充実し以下のようなことができるようになります。

  • チェックボックスをクリックして完了(done)に変更できる
  • タスク完了時に ✅ と完了日が自動で追加される
  • グローバルクエリ機能で、タスクを一覧表示できる

2. タスクは日次・週次・月次に分類する

Periodic Notes プラグインでデイリーノートを拡張し、週次・月次のノートを作成します。さらに Templater プラグインで各ノートにテンプレートを適用できます。

日々のタスクをデイリーノート、週次・月次のタスクはウィークリーノート、マンスリーノートに分類して記載します。

繰り返し作業となるタスクはそれぞれのテンプレートに記載しています。

  • Templates/DailyNoteTemplate
  • Templates/WeeklyNoteTemplate
  • Templates/MonthlyNoteTemplate

3. 未完了タスクを自動で翌日に移動する

前日のデイリーノートに未完了タスクがある場合、Rollover Daily Todosプラグインを利用して自動で翌日に繰り越すように設定しています。

デイリーノート内に # TODO セクションを設け、そこにタスクを記載します。

設定サンプル Rollover Daily Todos プラグインの設定画像

※「Delete todos from previous day」機能は、デイリーノートのテンプレートによってタスクが正しく移動されず削除される場合があります。数日間動作を確認してから設定を有効にすることを推奨します。 (参考Issue: Does not work well with the templater plugin · Issue #63 · lumoe/obsidian-rollover-daily-todos)

4. タスクを抽出して集計・一覧表示する

Tasks プラグインのグローバルクエリ機能や Dataview プラグインを活用して、タスクの抽出・集計を行います。

以下に具体的な使い方を2つ紹介します。

4-1. 今月のタスク完了数を日毎に一覧表示する

Dataview プラグインを用いて、月次ノートに日別のタスク完了数を集計表示します。

出力サンプル タスク完了数付きデイリーノート一覧の画像

dataview のサンプル

```dataview
TABLE
  dateformat(file.day, "yyyy-MM-dd (EEE)") AS date,
  length(filter(file.tasks, (t) => t.completed)) AS completed
FROM "Journal"
WHERE file.day >= date("2025-06-01")
AND file.day <= date("2025-06-30")
SORT file.day ASC
```

4-2. Valut内の未完了タスクを一覧表示する

Vault全体から未完了タスクを抽出するには、Tasks プラグインのグローバルクエリを使用します。

グローバルクエリのサンプル

```tasks
not done
path regex matches /^(?!Config/Templates)/
```

※ Config/Templates フォルダ内にあるテンプレートのタスクを除外させています

プラグインのドキュメントにクイックリファレンスが準備されていますので、必要に応じてカスタマイズしてみてください。

まとめ

ここまでタスク管理方法を解説してきましたが、現時点では Obsidian だけで完璧にタスク管理ができるとは感じていません。しかし、タスクと作業ノートを一元管理できる点は大きな利点なので。今後も定期的に環境を見直し改善を続ける予定です。

最後までお読みいただき、ありがとうございました。