Skills todoist
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.
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/andreisuslov/todoist-manager" ~/.claude/skills/openclaw-skills-todoist-441f82 && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/andreisuslov/todoist-manager" ~/.openclaw/skills/openclaw-skills-todoist-441f82 && rm -rf "$T"
manifest:
skills/andreisuslov/todoist-manager/SKILL.mdsource content
Todoist CLI
Manage Todoist via the REST API v2.
Setup
- Get API token: Todoist → Settings → Integrations → Developer → API token
- Set environment variable:
export TODOIST_API_TOKEN="your_token_here" - 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 |
|---|---|
| Due today |
| Due tomorrow |
| Past due |
| Due in next 7 days |
| No due date |
| In specific project |
| Has label |
, , , | Priority level |
| Assigned to you |
| 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
,tomorrowyesterday
,next mondaynext weekin 3 days
,every dayevery weekdayevery monday at 9am
,Jan 152026-01-20today 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
andcurljq - All output is JSON for easy scripting
- Task IDs are numeric strings (e.g., "8765432109")
- Project IDs are also numeric strings