360 Secure SkillHub
360 安全技能中心

Todoist Manager

该 Skill 提供 Todoist 命令行封装,基于 REST API v2,通过 TODOIST_API_TOKEN 认证,支持任务/项目/分区/标签/评论的查询、创建、更新、完成与删除,支持筛选语法和自然语言到期时间,输出均为 JSON 便于 jq 处理。需 bash、curl 和 jq。

andreisuslov
andreisuslov
热度 90.10
最近更新 2026-05-11 15:48:53
分类:协作依赖:代码执行 / 第三方 API应用场景:任务管理 / 日程安排 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add todoist-manager
Metadata
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:
    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