skills/todoist/SKILL.md
Manage Todoist tasks, projects, and labels via official CLI
npx skillsauth add technickai/openclaw-config todoistInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Task and project management via the official Todoist CLI (td from
@doist/todoist-cli). No wrapper script — call td directly.
Before using any commands, ensure td is installed and authenticated.
command -v td
If missing, install it:
npm install -g @doist/todoist-cli
td auth status
If not authenticated, guide the user:
td auth token <THEIR_TOKEN>td auth status should show their email and nameThe token can also be set via TODOIST_API_TOKEN environment variable (useful for
OpenClaw gateway config).
td today # Due today + overdue
td upcoming # Next 7 days
td upcoming 14 # Next 14 days
td inbox # Inbox tasks
td completed # Completed today
td completed --since 2026-04-01 # Completed since date
td stats # Karma, streaks, totals
td task list # All active tasks
td task list --project "Work" # By project name
td task list --label "urgent" # By label
td task list --priority p1 # By priority
td task list --filter "today | overdue" # Todoist filter syntax
td task list --assignee me # Assigned to me
td task list --json # JSON output when needed
td task list --all # All results (no 300 limit)
Filters are powerful — some useful patterns:
today — due todayoverdue — past duetoday | overdue — bothno date — tasks without a due datep1 — priority 1 (urgent)#Work — in project "Work"@urgent — has label "urgent"assigned to: me — assigned to mecreated before: -7 days — created in last weekdue before: tomorrow — due today or earliertd task view id:abc123 # View by ID
td task view "Buy groceries" # View by name
# Structured creation — use this for precise control
td task add "Buy groceries" --due tomorrow --priority p2
td task add "Review PR" --project "Work" --labels "code,urgent"
td task add "Write report" --description "Q1 summary" --due "next friday"
td task add "Team standup" --due "every weekday at 9am"
# Natural language quick-add — use for casual/conversational input
td add "Call dentist tomorrow at 3pm #health p1"
td task update id:xxx --content "New title"
td task update id:xxx --due "next monday" --priority p3
td task update id:xxx --labels "work,urgent"
td task update id:xxx --description "Updated notes"
td task complete id:xxx
td task uncomplete id:xxx # Reopen
td task delete id:xxx --yes # --yes skips confirmation prompt
td task move id:xxx --project "Work"
td task move id:xxx --section "In Progress"
td project list # All projects
td project list --json # JSON output
td project view "Work" # Project details
td project create --name "New Project" --color berry_red
td section list --project "Work"
td section create --project "Work" --name "In Progress"
td label list
td label create --name "urgent" --color red
td comment add id:xxx --content "Progress update"
td comment list id:xxx
td activity # Recent activity log
Plain text by default — readable by humans and LLMs. Add --json to any list command
when you need to extract specific fields programmatically.
Use --quiet to suppress success messages (create commands still print the ID).
td task add for structured creation with flags — not td addtd add is natural language only (like Todoist's quick-add bar)"Work") or explicit IDs (id:xxx)--yes to confirm--due "every monday" or "every weekday at 9am"| Symptom | Fix |
| ----------------------- | -------------------------------------------------- |
| td: command not found | npm install -g @doist/todoist-cli |
| No API token found | td auth token <TOKEN> or set TODOIST_API_TOKEN |
| HTTP 429 | Rate limited — wait a moment and retry |
| HTTP 403 | Token invalid or expired — re-authenticate |
Works with the task-steward workflow for automated task management.
development
A pause before an artifact goes into the world. Reviews external comms, money, calendar, public posts, or send-as-operator actions through a small panel of independent lenses (empathy first) and returns a verdict of pass / edit / hold / block.
development
Route real repo work to Claude Code instead of editing by hand. Triggers on "claude code" or "cc", and on any request to edit, fix, refactor, or open a PR in a repo outside ~/.openclaw/workspace. Claude Code picks up the repo's CLAUDE.md / AGENTS.md, applies its standards, and knows the /ai-coding-config:multi-review and /ai-coding-config:address-pr-comments workflows we want bug bots checking against.
testing
Drive a task all the way to a verified done state — write DoD first, verify each item with evidence, stop only at named stop conditions.
tools
Design, build, and maintain autonomous OpenClaw workflows (stewards). Use when creating new workflow agents, improving existing ones, evaluating automation opportunities, or debugging workflow reliability. Triggers on "build a workflow", "create a steward", "automate this process", "workflow audit", "what should I automate", "create a cron job", "schedule a recurring task", "build a scheduled job".