Todoist Manager
v1.0.0Manage 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.
Security Scan
OpenClaw
Suspicious
high confidencePurpose & Capability
The described purpose (manage Todoist via a CLI wrapper) legitimately requires a Todoist API token and tools like curl/jq or a shipped CLI. However the registry metadata lists no required environment variables, no required binaries, and there are no code files. That omission is inconsistent — a Todoist CLI skill should declare TODOIST_API_TOKEN and required binaries or include an install spec or script.
Instruction Scope
SKILL.md explicitly instructs the user/agent to set TODOIST_API_TOKEN, run chmod on ~/clawd/skills/todoist/scripts/todoist and invoke that CLI. It also states it requires curl and jq. These instructions reference a local script path that is not present in the skill bundle and access an env var not declared in metadata. The instructions are otherwise scoped to Todoist API actions (no unexpected external endpoints), but they direct filesystem changes (chmod) and execution of a local script whose provenance is unknown.
Install Mechanism
There is no install specification and no shipped code files, yet the instructions assume a CLI exists at ~/clawd/skills/todoist/scripts/todoist. This mismatch is concerning: either the skill omitted its install step or it expects the user to create or copy an executable. Without an explicit, verifiable install source, executing or chmod-ing a script at that path is risky.
Credentials
The SKILL.md requires TODOIST_API_TOKEN (reasonable for Todoist access). But the skill metadata declares no primary credential and no required env vars — an inconsistency. Requesting a single Todoist API token is proportionate to the stated purpose, but the metadata should declare it so users know what secrets are needed before install.
Persistence & Privilege
always is false and the skill doesn't request elevated system privileges. However, the instructions tell the agent to change permissions (chmod) on a file under ~/clawd/skills — this modifies the filesystem but appears limited to the skill's own path. Still verify the script's contents before making it executable. No other persistence or cross-skill configuration changes are requested.
What to consider before installing
Do not install or run this skill as-is. Key inconsistencies need resolution: the SKILL.md requires a TODOIST_API_TOKEN and a local CLI at ~/clawd/skills/todoist/scripts/todoist (and mentions curl/jq), yet the registry metadata lists no env vars, no binaries, and the skill bundle contains no script or install instructions. Before proceeding, ask the publisher for: (1) the CLI source or an explicit, verifiable install step (preferably an official release or GitHub repo), (2) the exact env vars the skill needs (TODOIST_API_TOKEN should be declared), and (3) the content of the referenced script so you can review it. If you must test, do so in a sandbox or VM, verify the script contents before running chmod/execution, and limit the API token scope / rotate it afterward. Prefer skills that declare their requirements in metadata and include a trusted install mechanism or published source code/homepage.Like a lobster shell, security has layers — review code before you run it.
latest
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 |
|---|---|
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,yesterdaynext monday,next weekin 3 daysevery day,every weekdayevery monday at 9amJan 15,2026-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
curlandjq - All output is JSON for easy scripting
- Task IDs are numeric strings (e.g., "8765432109")
- Project IDs are also numeric strings
Comments
Loading comments...
