mcpField
T
todoist-automation

todoist-automation

github.com/sickn33生産性48.8k93 回インストール今日更新
リポジトリ

todoist-automation について

todoist-automationは、ComposioのTodoistツールキットでタスクやプロジェクトの作業を自動化するスキルです。タスク管理、整理、検索、複数タスクの一括作成を扱い、IDの確認と変更の検証も重視します。

主な機能

  1. 01タスクの作成、更新、完了、再開
  2. 02プロジェクトとセクションの整理
  3. 03タスクの検索とフィルタリング
  4. 04タスクの一括作成

活用シーン

  1. 01プロジェクトへの期限付き・繰り返しタスクの追加
  2. 02セクションごとのタスク整理
  3. 03条件やキーワードによるタスク検索
  4. 04プロジェクト用タスクの一括準備

MCP 対応

Rube MCPでツールを検索し、認証済みのTodoist接続を管理します。操作にはComposioのTodoistツールキットを使います。

インストール

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

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill todoist-automation

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

詳細

Rube MCP による Todoist の自動化

Composio の Todoist ツールキットを通じて、タスクの作成と管理、プロジェクトの整理、セクションの管理、フィルタリング、一括タスクのワークフローなど、Todoist の操作を自動化します。

前提条件

  • Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能)
  • ツールキット todoist を指定した RUBE_MANAGE_CONNECTIONS による有効な Todoist 接続
  • 必ず最初に RUBE_SEARCH_TOOLS を呼び出して、現在のツールスキーマを取得すること

セットアップ

既存の承認済み Rube MCP 接続を使用してください。接続がない場合は、ユーザーの依頼範囲内でのみ、ホストがサポートするセットアップと認証フローに従ってください。エンドポイントを追加しただけでは、認証済みの Todoist アクセスは確立されません。

  1. RUBE_SEARCH_TOOLS が応答することを確認し、Rube MCP が利用可能か検証します
  2. ツールキット todoist を指定して RUBE_MANAGE_CONNECTIONS を呼び出します
  3. 接続が ACTIVE でない場合は、返された認証リンクに従って Todoist OAuth を完了します
  4. ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します

以下のツールスラッグとパラメーター例は、過去の参考情報です。検出されたスキーマと認証済みアカウントが正式な情報源です。ID は返されたとおりに正確に取得してください。不透明な識別子を変換したり、エラーを回避するために別の ID 型を試したりしないでください。依頼された操作のみを実行し、変更を加える前に一括処理の対象を確認し、書き込み結果が不確かな場合は、再試行する前に状況を照合してください。

主なワークフロー

1. タスクの作成と管理

使用する場面:ユーザーがタスクの作成、更新、完了、再開、または削除を希望する場合

ツールの順序:

  1. TODOIST_GET_ALL_PROJECTS - プロジェクトを一覧表示し、対象プロジェクト ID を見つけます[前提条件]
  2. TODOIST_GET_ALL_SECTIONS - タスクを配置するプロジェクト内のセクションを一覧表示します[任意]
  3. TODOIST_CREATE_TASK - 内容、期限、優先度、ラベルを指定して単一のタスクを作成します[必須]
  4. TODOIST_BULK_CREATE_TASKS - 1 回のリクエストで複数のタスクを作成します[代替]
  5. TODOIST_UPDATE_TASK - タスクのプロパティ(内容、期限、優先度、ラベル)を変更します[任意]
  6. TODOIST_CLOSE_TASK - タスクを完了済みとしてマークします[任意]
  7. TODOIST_REOPEN_TASK - 以前に完了したタスクを再開します[任意]
  8. TODOIST_DELETE_TASK - タスクを完全に削除します[任意]

CREATE_TASK の主なパラメーター:

  • content:タスクのタイトル(Markdown とハイパーリンクに対応)
  • description:補足メモ(期限をここに記載しないでください)
  • project_id:英数字のプロジェクト ID。省略すると受信トレイに追加されます
  • section_id:プロジェクト内の配置先を示す英数字のセクション ID
  • parent_id:サブタスクを作成するためのタスク ID
  • priority:1(通常)から 4(緊急)まで。注意:Todoist UI では p1 が緊急ですが、API では p4 が緊急です
  • due_string:"tomorrow at 3pm"、"every Friday at 9am" のような自然言語の日付
  • due_date:YYYY-MM-DD 形式の特定の日付
  • due_datetime:RFC3339 形式(YYYY-MM-DDTHH:mm:ssZ)の特定の日付と時刻
  • labels:ラベル名の文字列の配列
  • duration + duration_unit:タスクの所要時間(例:30 + "minute")

注意点:

  • 同時に指定できる due_* フィールドは 1 つだけです(due_lang はどのフィールドとも併用できます)
  • content や description に期限を含めないでください。due_string フィールドを使用してください
  • "for 30 minutes" のような所要時間を表す表現を due_string に含めないでください。duration + duration_unit を使用してください
  • API の priority:1 は通常、4 は緊急です(p1 が緊急となる Todoist UI の表示とは逆です)
  • タスク ID は数値または英数字の場合があります。API が返した形式を使用してください
  • CLOSE_TASK はタスクを完了済みにします。DELETE_TASK はタスクを完全に削除します。この 2 つは異なる操作です
2. プロジェクトの管理

使用するタイミング:ユーザーがプロジェクトの一覧表示、作成、更新、または確認を希望している場合

ツールの順序:

  1. TODOIST_GET_ALL_PROJECTS - メタデータ付きですべてのプロジェクトを一覧表示します[必須]
  2. TODOIST_GET_PROJECT - IDを指定して特定のプロジェクトの詳細を取得します[任意]
  3. TODOIST_CREATE_PROJECT - 名前、色、表示スタイルを指定して新しいプロジェクトを作成します[任意]
  4. TODOIST_UPDATE_PROJECT - プロジェクトのプロパティを変更します[任意]

主なパラメーター:

  • name:プロジェクト名(作成時に必須)
  • color:Todoist のパレットカラー(例:"blue"、"red"、"green"、"charcoal")
  • view_style:"list" または "board" のレイアウト
  • parent_id:サブプロジェクトを作成する際の親プロジェクト ID
  • is_favorite / favorite:お気に入りとしてマークするためのブール値
  • project_id:更新および取得操作で必須

注意点:

  • 名前が似ているプロジェクトがあると、誤った project_id を選択する可能性があるため、必ず確認してください
  • CREATE_PROJECT では favorite を使用し、UPDATE_PROJECT では is_favorite を使用します。フィールド名が異なります
  • 後続の操作では、v2_id ではなく API が返したプロジェクトの id を使用してください
  • HTTP 400 が発生した場合は、現在のツールスキーマと対象を確認してください。返された不透明な ID を、推測した数値 ID に置き換えないでください
3. セクションの管理

使用するタイミング:ユーザーがセクションを使ってプロジェクト内のタスクを整理したい場合

ツールの順序:

  1. TODOIST_GET_ALL_PROJECTS - 対象プロジェクト ID を確認します[前提条件]
  2. TODOIST_GET_ALL_SECTIONS - 重複を避けるため、既存のセクションを一覧表示します[前提条件]
  3. TODOIST_CREATE_SECTION - プロジェクトに新しいセクションを作成します[必須]
  4. TODOIST_UPDATE_SECTION - 既存のセクション名を変更します[任意]
  5. TODOIST_DELETE_SECTION - セクションを完全に削除します[任意]

主なパラメーター:

  • project_id:必須 — セクションを作成するプロジェクト
  • name:セクション名(作成時に必須)
  • order:プロジェクト内での位置を示す整数(値が小さいほど先に表示されます)
  • section_id:更新および削除操作で必須

注意点:

  • CREATE_SECTION には project_id と name が必要です。project_id を省略すると 400 エラーが発生します
  • 無効なプロジェクト ID が指定された場合は、現在の API を使用して対象を再特定し、返された ID をそのまま保持してください
  • セクションを削除すると、予想外の形でタスクが移動または再グループ化される場合があります
  • 応答には id と v2_id の両方が含まれる場合があります。正しい識別子を一貫して保存し、再利用してください
  • 重複したセクションを作成しないよう、必ず最初に既存のセクションを確認してください
4. タスクの検索とフィルタリング

使用する場面:条件に合うタスクを探す、今日のタスクを確認する、または完了したタスクの履歴を取得する場合

ツールの順序:

  1. TODOIST_GET_ALL_TASKS - 任意のフィルタークエリを指定して未完了のタスクを取得します[必須]
  2. TODOIST_GET_TASK - IDを指定して特定のタスクの詳細を取得します[任意]
  3. TODOIST_GET_COMPLETED_TASKS_BY_COMPLETION_DATE - 日付範囲内に完了したタスクを取得します[任意]
  4. TODOIST_LIST_FILTERS - ユーザーが保存したカスタムフィルターを一覧表示します[任意]

GET_ALL_TASKS の主なパラメーター:

  • filter:Todoist のフィルター構文文字列
    • キーワード:today、tomorrow、overdue、no date、recurring、subtask
    • 優先度:p1(緊急)、p2、p3、p4(通常)
    • プロジェクト:#ProjectName(アカウントに存在する必要があります)
    • ラベル:@LabelName(アカウントに存在する必要があります)
    • 日付範囲:7 days、-7 days、due before: YYYY-MM-DD、due after: YYYY-MM-DD
    • 検索:内容のテキスト検索には search: keyword を使用します
    • 演算子:&(AND)、|(OR)、!(NOT)
  • ids:取得する特定のタスク ID のリスト

GET_COMPLETED_TASKS_BY_COMPLETION_DATE の主なパラメーター:

  • since:開始日(RFC3339 形式。例:2024-01-01T00:00:00Z)
  • until:終了日(RFC3339 形式)
  • project_id、section_id、parent_id:任意のフィルター
  • cursor:前回のレスポンスから取得したページネーションカーソル
  • limit:1 ページあたりの最大結果数(デフォルトは 50)

注意点:

  • GET_ALL_TASKS が返すのは未完了のタスクのみです。完了したタスクには GET_COMPLETED_TASKS_BY_COMPLETION_DATE を使用してください
  • フィルターの語句は実際に存在するエンティティを参照する必要があります。任意のテキストを指定すると HTTP 400 エラーになります
  • GET_ALL_TASKS のフィルターでは completed、!completed、completed after を使用しないでください。400 エラーになります
  • GET_COMPLETED_TASKS_BY_COMPLETION_DATE では、since と until の日付範囲が約 3 か月に制限されます
  • 検索には独立したパラメーターではなく、フィルター内で search: keyword 構文を使用します
5. タスクの一括作成

使用する場面:複数のタスクを一度に作成してプロジェクトの骨組みを作る場合

ツールの順序:

  1. TODOIST_GET_ALL_PROJECTS - 対象プロジェクトの ID を確認します[前提条件]
  2. TODOIST_GET_ALL_SECTIONS - タスクを配置するセクション ID を確認します[任意]
  3. TODOIST_BULK_CREATE_TASKS - 1 回のリクエストで複数のタスクを作成します[必須]

主なパラメーター:

  • tasks:タスクオブジェクトの配列。各タスクには最低限 content が必要です
  • 各タスクオブジェクトで使用できる項目:content、description、project_id、section_id、parent_id、priority、labels、due(string、date、または datetime を含むオブジェクト)、duration、order

注意点:

  • 配列内の各タスクには、少なくとも content フィールドが必要です
  • 一括作成の due フィールドは、ネストされたフィールド(string、date、datetime、lang)を持つオブジェクトです。CREATE_TASK のフラットなフィールドとは構造が異なります
  • 同じバッチ内で、タスクごとに異なるプロジェクトやセクションを指定できます

よく使われるパターン

ID の解決

操作の前に、人が読みやすい名前を必ず ID に解決してください:

  • プロジェクト名 -> プロジェクト ID:TODOIST_GET_ALL_PROJECTS を使用し、name フィールドで一致するものを探します
  • セクション名 -> セクション ID:project_id を指定して TODOIST_GET_ALL_SECTIONS を使用します
  • タスクの内容 -> タスク ID:filter または search: keyword を指定して TODOIST_GET_ALL_TASKS を使用します
ページネーション
  • TODOIST_GET_ALL_TASKS:レスポンスのページネーションを確認し、完全な一覧を取得したと判断する前に、現在のスキーマのカーソルを最後までたどってください
  • TODOIST_GET_COMPLETED_TASKS_BY_COMPLETION_DATE:カーソルベースのページネーションを使用します。結果がなくなるまで、レスポンスの cursor をたどってください
  • TODOIST_GET_ALL_PROJECTS と TODOIST_GET_ALL_SECTIONS:これらのカーソルも確認してください。現在の Todoist API では、コネクターがページを集約する場合でも、タスク、プロジェクト、セクションがページネーションされます
期限の処理
  • 自然言語:due_string を使用します(例:"tomorrow at 3pm"、"every Monday")
  • 特定の日付:YYYY-MM-DD 形式の due_date を使用します
  • 特定の日時:RFC3339 形式(YYYY-MM-DDTHH:mm:ssZ)の due_datetime を使用します
  • 一度に使用する期限フィールドは1つだけです(due_lang はどのフィールドと併用してもかまいません)
  • 繰り返しタスク:due_string に自然言語を指定します(例:"every Friday at 9am")

既知の注意点

ID の形式
  • タスク ID は数値("2995104339")または英数字("6X4Vw2Hfmg73Q2XR")です
  • プロジェクト ID も同様に形式が異なるため、API から返された形式を優先してください
  • ID エラーが発生した場合は、API とツールのバージョン互換性を確認してください。不透明な ID は変換しないでください
  • レスポンスオブジェクトには id と v2_id の両方が含まれる場合があります。API 操作には id を使用してください
優先度の逆転
  • API の優先度:1 = 通常、4 = 緊急
  • Todoist UI の表示:p1 = 緊急、p4 = 通常
  • 対応関係が逆になっているため、どちらの基準を意味しているのか、必ずユーザーに確認してください
フィルター構文
  • フィルター用語は、ユーザーのアカウントに実在するエンティティを参照する必要があります
  • #NonExistentProject や @NonExistentLabel を指定すると HTTP 400 エラーが発生します
  • テキスト検索では、キーワードだけでなく search: keyword を使用してください
  • &(AND)、|(OR)、!(NOT)で組み合わせます
  • completed フィルターは GET_ALL_TASKS エンドポイントでは機能しません
レート制限
  • Todoist API にはレート制限があります。可能な場合は、一括操作に BULK_CREATE_TASKS を使用してください
  • スロットリングを避けるため、連続したリクエストの間隔を空けてください

クイックリファレンス

タスクツールスラッグ主なパラメーター
すべてのプロジェクトを一覧表示TODOIST_GET_ALL_PROJECTS(なし)
プロジェクトを取得TODOIST_GET_PROJECTproject_id
プロジェクトを作成TODOIST_CREATE_PROJECTname、color、view_style
プロジェクトを更新TODOIST_UPDATE_PROJECTproject_id、name、color
セクションを一覧表示TODOIST_GET_ALL_SECTIONSproject_id
セクションを作成TODOIST_CREATE_SECTIONproject_id、name、order
セクションを更新TODOIST_UPDATE_SECTIONsection_id、name
セクションを削除TODOIST_DELETE_SECTIONsection_id
すべてのタスクを取得TODOIST_GET_ALL_TASKSfilter、ids
タスクを取得TODOIST_GET_TASKtask_id
タスクを作成TODOIST_CREATE_TASKcontent、project_id、due_string、priority
タスクを一括作成TODOIST_BULK_CREATE_TASKStasks(配列)
タスクを更新TODOIST_UPDATE_TASKtask_id、content、due_string
タスクを完了TODOIST_CLOSE_TASKtask_id
タスクを再開TODOIST_REOPEN_TASKtask_id
タスクを削除TODOIST_DELETE_TASKtask_id
完了したタスクTODOIST_GET_COMPLETED_TASKS_BY_COMPLETION_DATEsince、until
フィルターを一覧表示TODOIST_LIST_FILTERSsync_token

使用する場面

このスキルは、概要に記載されたワークフローやアクションを実行する場合に適用できます。

例

ユーザーのリクエスト:

Rube MCP(Composio)を介して、Todoist のタスク管理、プロジェクト、セクション、フィルタリング、一括操作を自動化する。

制限事項

  • このスキルは、タスクが上記の説明の範囲に明確に該当する場合にのみ使用してください。
  • 出力を、環境固有の検証、テスト、専門家によるレビューの代わりとして扱わないでください。
  • 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を止めて確認してください。

コメント