todoist-api について
todoist-api は `td` CLI で Todoist を操作するためのスキルです。タスクやプロジェクトなどの管理方法を扱い、破壊的な変更の前に確認を求めるよう定めています。
主な機能
- 01タスクの作成と管理
- 02プロジェクトとセクションの整理
- 03ラベル、コメント、リマインダーの管理
- 04タスクのフィルタリングと JSON 出力
- 05破壊的な操作の前に確認
活用シーン
- 01自然言語の日付指定でタスクを追加
- 02期限超過と近日のタスクを確認
- 03プロジェクトやラベルで作業を整理
- 04完了タスクやアクティビティを確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ intellectronica/ agent-skills --skill todoist-apiインストール後、Claude Code で/todoist-apiを入力して読み込まれたか確認します。
同梱ファイルreferences/completed-tasks.mdreferences/filters.md
詳細
Todoist CLI スキル
このスキルでは、td CLI ツールを使って Todoist を操作するための手順を説明します。
前提条件
td CLI がインストールされ、認証済みである必要があります。次のコマンドで確認します。
td auth status
td がインストールされていない場合、または認証されていない場合:
- 未インストールの場合:
npm install -g @doist/todoist-cliでインストールするようユーザーに案内します。 - 未認証の場合:OAuth で認証するため、
td auth loginを実行するようユーザーに案内します。
エージェント向けの出力形式
機械可読な出力には、次のフラグを使用します。
--json- JSON 配列として出力します--ndjson- 改行区切りの JSON として出力します(1 行につき 1 オブジェクト)--full- JSON 出力にすべてのフィールドを含めます(デフォルトでは必須フィールドのみを表示)
確認要件
破壊的な操作を実行する前に、必ず AskUserQuestion または同様のツールを使ってユーザーに確認してください。 関連する一連の操作については、論理的なまとまりごとに 1 回確認すれば十分です。
破壊的な操作には、次のものが含まれます。
- タスク、プロジェクト、セクション、ラベル、コメントの削除
- タスクの完了
- 既存のリソースの更新
- プロジェクトのアーカイブ
読み取り専用の操作に確認は不要です。
クイックコマンド
| コマンド | 説明 |
|---|---|
td add "text" | 自然言語解析を使ったクイック追加 |
td today | 今日が期限のタスクと期限切れのタスク |
td upcoming [days] | 今後 N 日以内が期限のタスク(デフォルト:7) |
td inbox | Inbox 内のタスク |
td completed | 最近完了したタスク |
クイック追加の例
td add "Buy milk tomorrow p1 #Shopping"
td add "Call dentist every monday @health"
td add "Review PR #Work /Code Review"
クイック追加パーサーは次の項目に対応しています。
- 期限:
tomorrow、next monday、Jan 15 - 優先度:
p1(緊急)からp4(通常)まで - プロジェクト:
#ProjectName - セクション:
/SectionName - ラベル:
@label1 @label2
タスク
タスクの一覧表示
td task list [options]
フィルター:
--project <name>- プロジェクト名または id:xxx で絞り込みます--label <name>- ラベルで絞り込みます(複数の場合はカンマ区切り)--priority <p1-p4>- 優先度で絞り込みます--due <date>- 期限で絞り込みます(today、overdue、または YYYY-MM-DD)--filter <query>- Todoist のフィルタークエリを指定します--assignee <ref>- 担当者で絞り込みます(me または id:xxx)--workspace <name>- ワークスペースで絞り込みます--personal- 個人用プロジェクトのみを対象にします
出力:
td task list --json # JSON array
td task list --project "Work" --json # Filtered JSON
td task list --all --json # All tasks (no limit)
タスクの詳細表示
td task view <ref> # Human-readable
td task view <ref> --json # JSON output
ref には、タスク名、一致する名前の一部、または id:xxx を指定できます。
タスクの作成
クイック追加(自然言語):
td add "Task text with #Project @label tomorrow p2"
明示的なフラグ:
td task add --content "Task text" \
--project "Work" \
--due "tomorrow" \
--priority p2 \
--labels "urgent,review" \
--description "Additional details"
オプション:
--content <text>- タスクの内容(必須)--due <date>- 期限(自然言語または YYYY-MM-DD)--deadline <date>- 締め切り日(YYYY-MM-DD)--priority <p1-p4>- 優先度--project <name>- プロジェクト名または id:xxx--section <id>- セクション ID--labels <a,b>- カンマ区切りのラベル--parent <ref>- サブタスクの親タスク--description <text>- タスクの説明--assignee <ref>- ユーザーを割り当てます(名前、メールアドレス、id:xxx、または "me")--duration <time>- 所要時間(例:30m、1h、2h15m)
タスクの更新
td task update <ref> --content "New content" --due "next week"
オプション:
--content <text>- 新しい内容--due <date>- 新しい期限--deadline <date>- 締め切り日--no-deadline- 締め切りを削除--priority <p1-p4>- 新しい優先度--labels <a,b>- ラベルを置き換えます--description <text>- 新しい説明--assignee <ref>- ユーザーを割り当てます--unassign- 担当者を解除します--duration <time>- 所要時間
タスクの完了
td task complete <ref>
タスクの再開
td task uncomplete id:xxx
注:未完了に戻すには、タスク ID(id:xxx 形式)が必要です。
タスクの削除
td task delete <ref>
タスクの移動
td task move <ref> --project "New Project"
td task move <ref> --section <section-id>
td task move <ref> --parent <task-ref>
ブラウザーで開く
td task browse <ref>
プロジェクト
プロジェクトの一覧表示
td project list # Human-readable tree
td project list --json # JSON array
td project list --personal --json # Personal projects only
プロジェクトの表示
td project view <ref>
td project view <ref> --json
プロジェクトの作成
td project create --name "Project Name" \
--color "blue" \
--parent "Parent Project" \
--view-style board \
--favorite
オプション:
--name <name>- プロジェクト名(必須)--color <color>- 色名--parent <ref>- ネストする親プロジェクト--view-style <style>- "list" または "board"--favorite- お気に入りに設定します
プロジェクトの更新
td project update <ref> --name "New Name" --color "red"
プロジェクトのアーカイブ/アーカイブ解除
td project archive <ref>
td project unarchive <ref>
プロジェクトを削除
td project delete <ref>
注:プロジェクトに未完了のタスクがないことが必要です。
コラボレーターを一覧表示
td project collaborators <ref>
セクション
セクションを一覧表示
td section list <project> # Human-readable
td section list <project> --json # JSON array
セクションを作成
td section create --name "Section Name" --project "Project Name"
セクションを更新
td section update <id> --name "New Name"
セクションを削除
td section delete <id>
ラベル
ラベルを一覧表示
td label list # Human-readable
td label list --json # JSON array
ラベルを作成
td label create --name "label-name" --color "green" --favorite
ラベルを更新
td label update <ref> --name "new-name" --color "blue"
ラベルを削除
td label delete <name>
コメント
コメントを一覧表示
td comment list <task-ref> # Comments on task
td comment list <project-ref> --project # Comments on project
コメントを追加
td comment add <task-ref> --content "Comment text"
td comment add <project-ref> --project --content "Comment text"
コメントを更新
td comment update <id> --content "Updated text"
コメントを削除
td comment delete <id>
リマインダー
リマインダーを一覧表示
td reminder list <task-ref>
リマインダーを追加
td reminder add <task-ref> --due "tomorrow 9am"
リマインダーを削除
td reminder delete <id>
フィルター
保存済みフィルターを一覧表示
td filter list --json
フィルターに一致するタスクを表示
td filter show <filter-ref> --json
フィルターを作成
td filter create --name "My Filter" --query "today & p1"
完了したタスク
td completed # Today's completed tasks
td completed --since 2024-01-01 # Since specific date
td completed --project "Work" --json # Filtered JSON output
td completed --all --json # All completed (no limit)
オプション:
--since <date>- 開始日(YYYY-MM-DD)、デフォルト:今日--until <date>- 終了日(YYYY-MM-DD)、デフォルト:明日--project <name>- プロジェクトで絞り込み
アクティビティと統計
td activity # Recent activity
td stats # Productivity stats and karma
ページネーション
大量の結果を取得するには、--all を使用してすべて取得するか、カーソルを使ってページネーションを処理してください。
# First page
result=$(td task list --json --limit 50)
# If there's a next_cursor in the response, continue
cursor=$(echo "$result" | jq -r '.[-1].id // empty')
td task list --json --limit 50 --cursor "$cursor"
参照の解決
コマンドの <ref> パラメーターには、次の値を指定できます。
- タスク/プロジェクト/ラベル名(一部一致に対応)
- 完全一致する ID を指定する
id:xxx - 数値 ID(
id:xxxとして解釈されます)
参考情報
特定のトピックの詳細については、次を参照してください。
references/completed-tasks.md- API を使った完了タスク履歴の別の取得方法references/filters.md---filterフラグで使用する Todoist フィルタークエリの構文
ワークフローの概要
- 認証を確認する -
td auth status - 読み取り操作 - 確認を求めずに直接実行する
- 書き込み操作 - 実行前に確認を求める
- JSON 出力を使用する - 機械可読データを取得するには
--jsonフラグを追加する - 大規模なデータセットを処理する -
--allまたは--cursorを使ったページネーションを使用する