AgentSkillsCN

todoist

通过 todoist CLI 包装器管理 Todoist 任务、项目、标签和评论。当用户要求添加任务、列出待办事项、完成项目、管理项目或与他们的 Todoist 账户交互时使用。

SKILL.md
--- frontmatter
name: todoist
description: Manage Todoist tasks, projects, labels, and comments via the todoist CLI wrapper. Use when a user asks to add tasks, list todos, complete items, manage projects, or interact with their Todoist account.

Todoist CLI

Manage Todoist via the REST API v2.

Setup

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

CLI Location

bash
~/clawd/skills/todoist/scripts/todoist

Quick Reference

Tasks

bash
# 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

bash
# 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

bash
# 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

bash
# List labels
todoist labels

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

# Delete label
todoist delete-label LABEL_ID

Comments

bash
# 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:

FilterDescription
todayDue today
tomorrowDue tomorrow
overduePast due
7 daysDue in next 7 days
no dateNo due date
#ProjectNameIn specific project
@labelHas label
p1, p2, p3, p4Priority level
assigned to: meAssigned to you
created: todayCreated today

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

bash
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

ValueMeaning
1Normal (default)
2Medium
3High
4Urgent

Output

All commands return JSON. Pipe to jq for formatting:

bash
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