Todoist Skill — Natural Language Task Management
Manage your Todoist tasks conversationally. No need to remember CLI syntax — just talk naturally about your tasks.
Natural Language Examples
This skill understands conversational requests:
List tasks:
- - "What tasks do I have today?"
- "Show me my Todoist list for this week"
- "What do I have overdue?"
- "Show priority 1 tasks"
Add tasks:
- - "Add 'buy milk' to my todo list"
- "Create a task to call the dentist tomorrow"
- "I need to review the Q4 report by Friday"
- "Add 'weekly standup' due every Monday"
Complete tasks:
- - "Complete my task about the dentist"
- "Mark the milk task as done"
- "I finished the report"
Manage projects:
- - "What projects do I have in Todoist?"
- "Show tasks from my Work project"
Prerequisites
- -
TODOIST_API_KEY environment variable must be set with your Todoist API token - Get your token at: https://todoist.com/app/settings/integrations/developer
Technical Usage
If you prefer CLI commands or need to script operations, use the Python script directly:
CODEBLOCK0
Filter Syntax
When filtering tasks (via natural language or CLI):
- -
today — tasks due today - INLINECODE2 — overdue tasks
- INLINECODE3 — tasks due tomorrow
- INLINECODE4 ,
p2, p3, p4 — priority filters - INLINECODE8 — tasks due in next 7 days
- INLINECODE9 — tasks with specific label
- INLINECODE10 — tasks in project
- Combine with
& (and) and | (or): INLINECODE13
Priority Levels
- -
1 — Urgent (red) - INLINECODE15 — High (orange)
- INLINECODE16 — Medium (blue)
- INLINECODE17 — Low (white/gray, default)
Features
- - ✅ Natural language task management
- ✅ Timezone-aware "today" filtering
- ✅ Smart filtering (excludes completed tasks)
- ✅ Recurring task support
- ✅ Full Todoist API v1 coverage
Response Format
The script outputs JSON for programmatic use. See references/api.md for full API documentation.
Notes
- - The skill automatically filters out completed tasks
- "Today" uses your local timezone (set
TZ environment variable if needed) - Natural language dates ("tomorrow", "next Friday") use Todoist's built-in parsing
Todoist 技能 — 自然语言任务管理
以对话方式管理你的 Todoist 任务。无需记忆 CLI 语法——只需自然地谈论你的任务。
自然语言示例
本技能可理解对话式请求:
列出任务:
- - 我今天有哪些任务?
- 显示我这周的 Todoist 列表
- 我有哪些逾期任务?
- 显示优先级为 1 的任务
添加任务:
- - 将买牛奶添加到我的待办列表
- 创建一个明天给牙医打电话的任务
- 我需要在周五前审阅第四季度报告
- 添加每周站会,每周一截止
完成任务:
- - 完成我关于牙医的任务
- 将牛奶任务标记为已完成
- 我完成了报告
管理项目:
- - 我在 Todoist 中有哪些项目?
- 显示我工作项目中的任务
前提条件
- - 必须设置 TODOISTAPIKEY 环境变量,包含你的 Todoist API 令牌
- 在此获取你的令牌:https://todoist.com/app/settings/integrations/developer
技术用法
如果你偏好 CLI 命令或需要编写脚本操作,可直接使用 Python 脚本:
bash
列出今天的任务
python3 todoist/scripts/todoist.py list --filter today
添加任务
python3 todoist/scripts/todoist.py add 买牛奶 --due tomorrow --priority 2
按 ID 完成任务
python3 todoist/scripts/todoist.py complete TASK_ID
列出所有项目
python3 todoist/scripts/todoist.py projects
筛选语法
筛选任务时(通过自然语言或 CLI):
- - today — 今天截止的任务
- overdue — 逾期任务
- tomorrow — 明天截止的任务
- p1、p2、p3、p4 — 优先级筛选
- 7 days — 未来 7 天内截止的任务
- @label — 带有特定标签的任务
- #project — 项目中的任务
- 使用 &(与)和 |(或)组合:today & p1
优先级级别
- - 1 — 紧急(红色)
- 2 — 高(橙色)
- 3 — 中(蓝色)
- 4 — 低(白色/灰色,默认)
功能特性
- - ✅ 自然语言任务管理
- ✅ 时区感知的今天筛选
- ✅ 智能筛选(排除已完成任务)
- ✅ 支持重复任务
- ✅ 完整覆盖 Todoist API v1
响应格式
脚本输出 JSON 格式供程序使用。完整 API 文档请参见 references/api.md。
备注
- - 技能会自动过滤掉已完成的任务
- 今天使用你的本地时区(如需设置,请配置 TZ 环境变量)
- 自然语言日期(明天、下周五)使用 Todoist 内置解析功能