mcpField
T
task-management

task-management

github.com/joelhooks生産性6564 回インストール3 日前に更新
リポジトリ

task-management について

Todoistで個人のタスクを管理するエージェント向けスキルです。GTD、Shape Up、Tiny Habitsを組み合わせ、タスクの収集や仕分け、プロジェクトと習慣の管理、todoist-cliの運用手順を定めています。

主な機能

  1. 01GTD、Shape Up、Tiny Habitsの手法
  2. 02具体的な次の行動としてのタスク作成
  3. 03受信箱の仕分けと週次レビュー
  4. 04プロジェクトの期間、優先度、ラベルのルール
  5. 05todoist-cliによるタスク操作

活用シーン

  1. 01依頼された個人タスクの記録と整理
  2. 02受信箱の仕分けとタスクの予定設定
  3. 03プロジェクト作業を具体的な人の行動に分解
  4. 04日課に結び付けた繰り返しタスクの計画

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/joelhooks/joelclaw --skill task-management

インストール後、Claude Code で/task-managementを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yamlassets/small-logo.svg

詳細

タスク管理 — あなたの代わりに考えるシステム

Todoist はタスク管理レイヤーです。エージェントは庭師です。

哲学

3 つのシステムを、1 つの実践にまとめます。

Getting Things Done(David Allen):脳はアイデアを生み出すためのものであり、記憶しておくためのものではありません。すべてをすぐに記録します。次に取る具体的な行動へと整理します。2 分以内でできるなら、すぐに実行します。週次レビューは欠かせません。

Shape Up(Ryan Singer、Basecamp):仕事は、与えられた時間を使い切るまで膨らみます。見積もりではなく、投じる時間(これにどれだけの時間をかける価値があるか?)を決めます。プロジェクトは期間を固定した賭けであり、終わりのないバックログではありません。賭ける価値がないなら、打ち切ります。

Tiny Habits(BJ Fogg):行動の変化 = きっかけとなる瞬間 + 小さな行動 + 祝うこと。「[既存の習慣]のあとに、[新しい習慣を小さくしたもの]をする」と決めます。ばかばかしいほど小さくします。すぐに自分を褒めます。自然に育つのに任せます。

実践ではどうなるか
  • すべてのタスクは、次に取る具体的な行動です。「X を調べる」ではなく、「X のドキュメントを 20 分読む」です。「バグを直す」ではなく、「テストでバグを再現する」です。
  • **受信トレイは記録用のバッファーであり、ToDo リストではありません。**空になるまで処理します。各項目について、実行する(2 分未満)、予定を入れる、委任する、「いつか」に回す、または削除します。
  • プロジェクトには投じる時間があります。「2 週間、小規模なバッチ」または「6 週間、大規模なバッチ」のように決めます。進展がないまま、投じる時間の 3 倍の期間が経過したプロジェクトはゾンビです。打ち切るか、範囲を見直します。
  • 習慣は予定に入れるのではなく、きっかけに結びつけます。「朝のコーヒーのあと → 肩のウォームアップ」であり、「午前 7 時に運動する」ではありません。きっかけがトリガーになります。
  • **少ないほど効果的です。**明確な次の行動が 5 つ載った整理されたリストは、曖昧な意図が 50 個並んだリストより優れています。容赦なく整理します。2 週間触れておらず、予定も入っていないなら、重要ではありません。

個人の行動の境界

Todoist は、Joel が実際に使う GTD スタイルの個人用行動リストです。Brain PARA には、プロジェクトの参考資料、領域、リソース、領収書、アーカイブを保管します。Todoist に PARA のツリーを再現しないでください。

ルール:

  • デフォルトのタスク保存先は Joel's Tasks です。
  • Questions for Joel は実際の判断事項にのみ使用し、何でも放り込む場所にはしません。
  • 以前の Agent Work プロジェクトはアーカイブされています。マシンの記録、インフラ関連のフォローアップ、以前のメモリレビュー作業、システム関連の作業は Todoist に登録しません。
  • システムバス経由の Todoist 変更は、デフォルトで無効です。TODOIST_AUTOMATION_WRITES_ENABLED=true は緊急時の互換性確保用であり、通常の運用ではありません。
  • Joel から個人タスクの記録、予定設定、移動、完了、削除を依頼された場合、エージェントは明示的な todoist-cli コマンドを使って Todoist を変更できます。
  • エージェントが今すぐ作業できるなら、タスクを登録するのではなく、作業を実行してください。

人が見てわかりやすいタスクの例:

  • 「術後のフォローアップ診察の日程を Kristina に聞く」
  • 「インストラクターとのチャットの進捗を Grzegorz に伝える」
  • 「ローンチ時の価格を A と B のどちらにするか決める」

人が見てもわかりにくいタスクの例:

  • 「ゲートウェイのリトライに関するやり取りを調査する」
  • 「以前のメモリ提案 p-20260306-030 をレビューする」(過去に終了したワークフロー)
  • エージェントがすでに実行できる状況で、「LiveKit 統合用のログクエリツールを作る」

Todoist アダプター

認証情報
# API token from https://app.todoist.com/app/settings/integrations/developer
# Stored in agent-secrets
export TODOIST_API_TOKEN=$(secrets lease todoist_api_token --raw)
読み取り
todoist-cli today                    # What's due today
todoist-cli inbox                    # Needs triage
todoist-cli list                     # All active tasks
todoist-cli list --filter "p1"       # Todoist filter query (priority 1)
todoist-cli list --project ID        # Tasks in a project
todoist-cli list --label review      # Tasks with a label
todoist-cli projects                 # All projects
todoist-cli sections --project ID    # Sections in a project
todoist-cli labels                   # All labels
todoist-cli show ID                  # Task detail + comments
todoist-cli review                   # Daily standup: today, inbox, overdue, project breakdown
書き込み
# Create a task
todoist-cli add "Title" --due today --description "Details" --project ID

# With labels, priority, deadline
todoist-cli add "Ship feature" --due "next monday" --priority 3 --labels urgent --deadline 2026-03-01

# Complete
todoist-cli complete ID

# Update
todoist-cli update ID --content "New title" --due tomorrow --description "Updated notes"

# Move between projects
todoist-cli move ID --project ID

# Delete permanently
todoist-cli delete ID

# Reopen a completed task
todoist-cli reopen ID

# Create a project
todoist-cli add-project "Project Name" --color blue

# Create a section
todoist-cli add-section "Section Name" --project ID
優先度の規則

Todoist 標準の p1〜p4 を使用します。API では値が逆になり、--priority 4 は UI 上で p1(赤)になります。

UIAPI意味エージェントのルール
p1 🔴--priority 4緊急/今日何かを妨げています。すぐに対応するか、エスカレーションします。
p2 🟠--priority 3高/今週次に取り組む項目です。エージェントはまずここから選びます。
p3 🔵--priority 2中/今のサイクル予定された作業です。p1〜p2 が片付いたら実行します。
p4 ⚪--priority 1バックログいつか/場合によって実行する項目です。毎週見直し、古くなっていれば打ち切ります。

**SOP:ADR またはセッション中の作業から、承認された人間向けのアクションを作成するときは、必ず優先度を設定します。**デフォルトは p3 です。他の作業の妨げを解消する場合は p2 に上げます。p1 はまれです。何かが壊れているか、Joel の作業を妨げている場合に限ります。

スケジュールの対応付け
TodoistGTD コンテキストCLI フラグ
Inbox(プロジェクトなし)取り込んだが、未処理(デフォルト)
--due today今日やると決めたこと--due today
--due "next week"スケジュール済み--due "next monday"
期限なし次のアクション、期限のプレッシャーなし(--dueを省略)
ラベル:somedayいつか/後で — 毎週確認--labels someday
--due "every day"繰り返す習慣--due "every day"
構成
概念Todoistルール
プロジェクトProject明確な目標と取り組む範囲を持ちます。「完了」状態があります。完了したらアーカイブします。
セクションSectionプロジェクト内のグループです。任意です — 複雑さが必要になるまではフラットに保ちます。
タスクTask次の具体的な行動です。具体的で、動詞から始めます。
習慣繰り返しタスク--due "every day"または"every friday at 5pm"。日課に組み込みます。
コンテキストラベルreview、agent、someday、waitingなどの簡易タグです。
Todoist のフィルター(Pro)

Todoist のフィルター構文は強力です。todoist-cli list --filterで使用します。

todoist-cli list --filter "today | overdue"     # Due today or overdue
todoist-cli list --filter "p1 & !#Inbox"        # Priority 1, not in inbox
todoist-cli list --filter "no date"             # Floating tasks
todoist-cli list --filter "@review"             # Label: review
todoist-cli list --filter "assigned to: me"     # My tasks
todoist-cli list --filter "created before: -14d"  # Stale tasks

エージェントの動作

すぐに記録する

Joel がタスクを示唆することを言った場合 —「〜する必要がある」「〜するようリマインドして」「〜するべき」「〜を忘れないで」など — その内容を記録します。

todoist-cli add "The thing Joel said"

その後、**「記録しました → Inbox:『Joel が言ったこと』」**と確認します。

依頼されたタスクをそのまま記録します。指定された期限やプロジェクトがあれば、その割り当てを行います。指定がない場合は、スケジュールを勝手に作成したり、不要な質問をしたりせず、タスクを Inbox に入れたままにします。

Inbox を処理する(GTD)

レビューを頼まれたとき、または Inbox に項目があるときは、次のようにします。

各項目について、次のいずれか1つを判断します。

  1. 実行する — 2分未満でできるか?その場で実行します。タスクを完了にします。
  2. スケジュールする — todoist-cli update ID --due todayまたは--due "next monday"
  3. 移動する — todoist-cli move ID --project ID
  4. いつか/たぶん — todoist-cli update ID --labels someday
  5. 削除する — 実行する価値がありません。todoist-cli delete ID

まとめて判断を提示します。「Inbox には4件あります。仕分けは次のとおりです……」

作業からタスクを作成する

ほかの活動(文字起こしした写真、カレンダーの予定、プロジェクト計画)から実行可能な項目が出てきた場合は、次のようにします。

  1. 具体的な次のアクションを抽出します(動詞から始め、具体的にします)
  2. まず対象を決めます。人間、判断、または機械
  3. Joel 向けの Todoist ビューに入れるのは、人間または判断に関わる作業だけです
  4. 適切なプロジェクトに割り当てます
  5. 背景情報(ADR の参照、リンク、受け入れ条件)を説明に追加します
  6. 作成した内容を報告します
週次レビュー

Joel から週次レビューを頼まれた場合、または毎週金曜日の繰り返しタスクが実行された場合は、次のようにします。

todoist-cli review

その後、次のようにします。

  1. Inbox を処理して空にします
  2. 停滞しているプロジェクト(2週間以上活動なし)に印を付けます
  3. 期限超過のタスクに印を付け、スケジュールを変更するか削除します
  4. 期限のないタスクに印を付け、まだ関連性があるか確認します
  5. 「来週を成功させるために最も重要なことは何ですか?」と尋ねます
整理しておく
  • **今日が期限の項目は最大7件です。**それを超える場合は、引き受けすぎです。超過分を先送りにします。
  • 処理後の Inbox は空にします。「少なめ」ではなく、ゼロにします。
  • 完了するか、削除します。somedayのラベルが付いていない限り、2週間以上進展のないタスクを放置しません。
  • プロジェクト名は成果を表します。「タスク連携をリリースする」であって、「タスク関連」ではありません。
  • **説明は重要です。**どのタスクにも、前提知識がなくてもすぐに取りかかれるだけの情報を記載します。
「エージェントがこれを実行できるのでは?」

タスクを作成する前に、**今すぐ joelclaw が実行できるか?**と確認します。できるなら実行します。整理できた気になるためだけに、Joel のタスクリストへ機械向けの雑務を追加しないでください。タスクは人間のためのものです。エージェントは実行します。

  • エージェントが実行する:コードの変更、調査、ファイル操作、API 呼び出し、カレンダーの更新
  • エージェントが下書きを作成し、Joel が確認する:Joel の口調での文章作成、デザイン上の判断
  • Joel のみが実行する:身体を動かす行為(買い物、運動)、電話、編集上の判断
  • 機械向けの記録作業は Joel 向けの画面に出さない:メモリーのレビュー、インフラの見守り、再試行の整理、エージェントのバックログ

フォールバック:Vault のチェックリスト

Todoist の認証に失敗した場合は、Vault の Markdown チェックリストを使用します。

- [ ] Task description
- [x] Completed task

gog 経由の Google Tasks は、セカンダリアダプターとして利用できます。

SOP:ADR → タスク

承認済みの ADR からタスクへの一括処理では、Todoist には具体的な人間の次のアクションのみを登録します。提案段階の ADR は、実装の承認にはなりません。エージェントの実行、プロジェクト作業、検証の記録は、担当するイシュー、Brain、またはランタイムに残します。

ADR の一括処理、またはアクションアイテムが発生したセッションの後に、次の作業を行います。

  1. ADR の検証チェックリストを確認し、未完了の項目を探します
  2. 人間が担当する具体的なアクションのみタスクにします。機械のみで行うチェックは除外し、既存の作業との重複を避けます。
  3. レバレッジに基づいて優先度を設定します。他の ADR のブロックを解除する場合は p2。単独の場合は p3。調査の場合は p3。
  4. 実際に担当する人にラベルを付けます。自律的な作業は、その実行システムに残します。システム作業の場合は joelclaw を追加します。
  5. 説明には ADR への参照と、しばらく離れていた人でもすぐに作業に着手できるだけのコンテキストを含めます
  6. 相互参照を行います。タスクによって ADR の最後の項目が完了した場合は、ADR を implemented に更新します

一連の流れ: ADR の一括処理 → タスクを作成 → エージェント/Joel がタスクに取り組む → タスクが完了 → ADR のステータスを更新 → 次の一括処理で未処理項目がないことを確認。

次の項目はタスクにしないでください。

  • エージェントが今すぐできること(5 分未満)— タスクにせず、そのまま実行します
  • 延期された ADR — 延期が解除された時点でタスクにします
  • 曖昧な調査 — まず時間を区切ります(「X を 30 分調べる」であり、「X を調査する」ではありません)
  • Todoist 内の機械のみで行う事務処理 — 代わりに Brain の記録、イシュー、またはランタイムの状態に残します

アンチパターン

  • 曖昧なタスクを作成しないでください — 「X を調べる」は次のアクションではありません。「X のドキュメントを 15 分読む」なら次のアクションです。
  • 受信トレイに項目を溜め込まないでください — 10 項目を超えたら、追加する前にトリアージします
  • 整理しすぎないでください — ラベルやセクションは摩擦を増やします。複雑さが求めるまでは、フラットな状態を保ちます。
  • 重複させないでください — 作成前に既存のタスクを確認します。検索には todoist-cli list --filter を使用します。
  • タスクのタイトルにエージェントのコンテキストを入れないでください — タイトルは人が読みやすいものにします。ADR への参照や技術的な詳細は説明に記載します。
  • Joel 向けのビューを機械的な雑多情報で汚さないでください — Joel が見る必要のない情報は、そこに含めません。

クレジット

  • David Allen — Getting Things Done
  • Ryan Singer — Shape Up(Basecamp)
  • BJ Fogg — Tiny Habits
  • Todoist/Doist — 公式 API と SDK

コメント