todoist-automation について
todoist-automationは、ComposioのTodoistツールキットでタスクやプロジェクトの作業を自動化するスキルです。タスク管理、整理、検索、複数タスクの一括作成を扱い、IDの確認と変更の検証も重視します。
主な機能
- 01タスクの作成、更新、完了、再開
- 02プロジェクトとセクションの整理
- 03タスクの検索とフィルタリング
- 04タスクの一括作成
活用シーン
- 01プロジェクトへの期限付き・繰り返しタスクの追加
- 02セクションごとのタスク整理
- 03条件やキーワードによるタスク検索
- 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 アクセスは確立されません。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能か検証します- ツールキット
todoistを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って Todoist OAuth を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します
以下のツールスラッグとパラメーター例は、過去の参考情報です。検出されたスキーマと認証済みアカウントが正式な情報源です。ID は返されたとおりに正確に取得してください。不透明な識別子を変換したり、エラーを回避するために別の ID 型を試したりしないでください。依頼された操作のみを実行し、変更を加える前に一括処理の対象を確認し、書き込み結果が不確かな場合は、再試行する前に状況を照合してください。
主なワークフロー
1. タスクの作成と管理
使用する場面:ユーザーがタスクの作成、更新、完了、再開、または削除を希望する場合
ツールの順序:
TODOIST_GET_ALL_PROJECTS- プロジェクトを一覧表示し、対象プロジェクト ID を見つけます[前提条件]TODOIST_GET_ALL_SECTIONS- タスクを配置するプロジェクト内のセクションを一覧表示します[任意]TODOIST_CREATE_TASK- 内容、期限、優先度、ラベルを指定して単一のタスクを作成します[必須]TODOIST_BULK_CREATE_TASKS- 1 回のリクエストで複数のタスクを作成します[代替]TODOIST_UPDATE_TASK- タスクのプロパティ(内容、期限、優先度、ラベル)を変更します[任意]TODOIST_CLOSE_TASK- タスクを完了済みとしてマークします[任意]TODOIST_REOPEN_TASK- 以前に完了したタスクを再開します[任意]TODOIST_DELETE_TASK- タスクを完全に削除します[任意]
CREATE_TASK の主なパラメーター:
content:タスクのタイトル(Markdown とハイパーリンクに対応)description:補足メモ(期限をここに記載しないでください)project_id:英数字のプロジェクト ID。省略すると受信トレイに追加されますsection_id:プロジェクト内の配置先を示す英数字のセクション IDparent_id:サブタスクを作成するためのタスク IDpriority: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. プロジェクトの管理
使用するタイミング:ユーザーがプロジェクトの一覧表示、作成、更新、または確認を希望している場合
ツールの順序:
TODOIST_GET_ALL_PROJECTS- メタデータ付きですべてのプロジェクトを一覧表示します[必須]TODOIST_GET_PROJECT- IDを指定して特定のプロジェクトの詳細を取得します[任意]TODOIST_CREATE_PROJECT- 名前、色、表示スタイルを指定して新しいプロジェクトを作成します[任意]TODOIST_UPDATE_PROJECT- プロジェクトのプロパティを変更します[任意]
主なパラメーター:
name:プロジェクト名(作成時に必須)color:Todoist のパレットカラー(例:"blue"、"red"、"green"、"charcoal")view_style:"list"または"board"のレイアウトparent_id:サブプロジェクトを作成する際の親プロジェクト IDis_favorite/favorite:お気に入りとしてマークするためのブール値project_id:更新および取得操作で必須
注意点:
- 名前が似ているプロジェクトがあると、誤った project_id を選択する可能性があるため、必ず確認してください
CREATE_PROJECTではfavoriteを使用し、UPDATE_PROJECTではis_favoriteを使用します。フィールド名が異なります- 後続の操作では、
v2_idではなく API が返したプロジェクトのidを使用してください - HTTP 400 が発生した場合は、現在のツールスキーマと対象を確認してください。返された不透明な ID を、推測した数値 ID に置き換えないでください
3. セクションの管理
使用するタイミング:ユーザーがセクションを使ってプロジェクト内のタスクを整理したい場合
ツールの順序:
TODOIST_GET_ALL_PROJECTS- 対象プロジェクト ID を確認します[前提条件]TODOIST_GET_ALL_SECTIONS- 重複を避けるため、既存のセクションを一覧表示します[前提条件]TODOIST_CREATE_SECTION- プロジェクトに新しいセクションを作成します[必須]TODOIST_UPDATE_SECTION- 既存のセクション名を変更します[任意]TODOIST_DELETE_SECTION- セクションを完全に削除します[任意]
主なパラメーター:
project_id:必須 — セクションを作成するプロジェクトname:セクション名(作成時に必須)order:プロジェクト内での位置を示す整数(値が小さいほど先に表示されます)section_id:更新および削除操作で必須
注意点:
CREATE_SECTIONにはproject_idとnameが必要です。project_id を省略すると 400 エラーが発生します- 無効なプロジェクト ID が指定された場合は、現在の API を使用して対象を再特定し、返された ID をそのまま保持してください
- セクションを削除すると、予想外の形でタスクが移動または再グループ化される場合があります
- 応答には
idとv2_idの両方が含まれる場合があります。正しい識別子を一貫して保存し、再利用してください - 重複したセクションを作成しないよう、必ず最初に既存のセクションを確認してください
4. タスクの検索とフィルタリング
使用する場面:条件に合うタスクを探す、今日のタスクを確認する、または完了したタスクの履歴を取得する場合
ツールの順序:
TODOIST_GET_ALL_TASKS- 任意のフィルタークエリを指定して未完了のタスクを取得します[必須]TODOIST_GET_TASK- IDを指定して特定のタスクの詳細を取得します[任意]TODOIST_GET_COMPLETED_TASKS_BY_COMPLETION_DATE- 日付範囲内に完了したタスクを取得します[任意]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. タスクの一括作成
使用する場面:複数のタスクを一度に作成してプロジェクトの骨組みを作る場合
ツールの順序:
TODOIST_GET_ALL_PROJECTS- 対象プロジェクトの ID を確認します[前提条件]TODOIST_GET_ALL_SECTIONS- タスクを配置するセクション ID を確認します[任意]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_PROJECT | project_id |
| プロジェクトを作成 | TODOIST_CREATE_PROJECT | name、color、view_style |
| プロジェクトを更新 | TODOIST_UPDATE_PROJECT | project_id、name、color |
| セクションを一覧表示 | TODOIST_GET_ALL_SECTIONS | project_id |
| セクションを作成 | TODOIST_CREATE_SECTION | project_id、name、order |
| セクションを更新 | TODOIST_UPDATE_SECTION | section_id、name |
| セクションを削除 | TODOIST_DELETE_SECTION | section_id |
| すべてのタスクを取得 | TODOIST_GET_ALL_TASKS | filter、ids |
| タスクを取得 | TODOIST_GET_TASK | task_id |
| タスクを作成 | TODOIST_CREATE_TASK | content、project_id、due_string、priority |
| タスクを一括作成 | TODOIST_BULK_CREATE_TASKS | tasks(配列) |
| タスクを更新 | TODOIST_UPDATE_TASK | task_id、content、due_string |
| タスクを完了 | TODOIST_CLOSE_TASK | task_id |
| タスクを再開 | TODOIST_REOPEN_TASK | task_id |
| タスクを削除 | TODOIST_DELETE_TASK | task_id |
| 完了したタスク | TODOIST_GET_COMPLETED_TASKS_BY_COMPLETION_DATE | since、until |
| フィルターを一覧表示 | TODOIST_LIST_FILTERS | sync_token |
使用する場面
このスキルは、概要に記載されたワークフローやアクションを実行する場合に適用できます。
例
ユーザーのリクエスト:
Rube MCP(Composio)を介して、Todoist のタスク管理、プロジェクト、セクション、フィルタリング、一括操作を自動化する。
制限事項
- このスキルは、タスクが上記の説明の範囲に明確に該当する場合にのみ使用してください。
- 出力を、環境固有の検証、テスト、専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を止めて確認してください。