返回 Skill 列表
extension
分类: 开发与工程需要 API Key

Todoist Manager

通过 todoist CLI 封装器管理任务、项目、标签和评论。用于添加任务、列出待办、完成事项、管理项目或与 Todoist 账户交互。

person作者: andreisuslovhubclawhub

Todoist CLI

Manage Todoist via the REST API v2.

Setup

  1. Get API token: Todoist → Settings → Integrations → Developer → API token
  2. Set environment variable:
    export TODOIST_API_TOKEN="your_token_here"
    
  3. Make CLI executable:
    chmod +x ~/clawd/skills/todoist/scripts/todoist
    

CLI Location

~/clawd/skills/todoist/scripts/todoist

Quick Reference

Tasks

# List all tasks
todoist tasks

# List with filter
todoist tasks --filter "today"
todoist tasks --filter "overdue"
todoist tasks --filter "#Work"
todoist tasks --project PROJECT_ID

# Quick views
todoist today
todoist overdue
todoist upcoming

# Get single task
todoist task TASK_ID

# Add task
todoist add "Buy groceries"
todoist add "Call mom" --due tomorrow
todoist add "Meeting prep" --due "today 3pm" --priority 4
todoist add "Review PR" --project PROJECT_ID --labels "work,urgent"
todoist add "Write docs" --description "Include examples"

# Update task
todoist update TASK_ID --content "New title"
todoist update TASK_ID --due "next monday"
todoist update TASK_ID --priority 3

# Complete / reopen / delete
todoist complete TASK_ID
todoist reopen TASK_ID
todoist delete-task TASK_ID

Projects

# List projects
todoist projects

# Get project
todoist project PROJECT_ID

# Create project
todoist add-project "Work"
todoist add-project "Personal" --color blue --favorite

# Update project
todoist update-project PROJECT_ID --name "New Name"
todoist update-project PROJECT_ID --color red

# Delete project
todoist delete-project PROJECT_ID

Sections

# List sections
todoist sections
todoist sections PROJECT_ID

# Create section
todoist add-section --name "In Progress" --project PROJECT_ID

# Delete section
todoist delete-section SECTION_ID

Labels

# List labels
todoist labels

# Create label
todoist add-label "urgent"
todoist add-label "blocked" --color red

# Delete label
todoist delete-label LABEL_ID

Comments

# List comments
todoist comments --task TASK_ID
todoist comments --project PROJECT_ID

# Add comment
todoist add-comment "Need more info" --task TASK_ID

# Delete comment
todoist delete-comment COMMENT_ID

Filter Syntax

Todoist supports powerful filter queries:

| Filter | Description | |--------|-------------| | today | Due today | | tomorrow | Due tomorrow | | overdue | Past due | | 7 days | Due in next 7 days | | no date | No due date | | #ProjectName | In specific project | | @label | Has label | | p1, p2, p3, p4 | Priority level | | assigned to: me | Assigned to you | | created: today | Created today |

Combine with & (and) or | (or):

todoist tasks --filter "today & #Work"
todoist tasks --filter "overdue | p1"

Due Date Strings

Natural language due dates:

  • today, tomorrow, yesterday
  • next monday, next week
  • in 3 days
  • every day, every weekday
  • every monday at 9am
  • Jan 15, 2026-01-20
  • today at 3pm

Priority Levels

| Value | Meaning | |-------|---------| | 1 | Normal (default) | | 2 | Medium | | 3 | High | | 4 | Urgent |

Output

All commands return JSON. Pipe to jq for formatting:

todoist tasks | jq '.[] | {id, content, due: .due.string}'
todoist today | jq -r '.[].content'

Notes

  • Requires curl and jq
  • All output is JSON for easy scripting
  • Task IDs are numeric strings (e.g., "8765432109")
  • Project IDs are also numeric strings