Awesome-openclaw-skills todoist-3
Use the td (Todoist CLI) to read and manage Todoist todos/to-dos/tasks from the terminal. Trigger when the user asks about their todos/tasks/agenda/checklist (today/upcoming/overdue), wants to list inbox/tasks/projects/labels, add a task/todo with natural language, or update/complete/delete/move tasks (e.g., add a phone number to a task description, change due dates, priorities, labels).
git clone https://github.com/sundial-org/awesome-openclaw-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/todoist-3" ~/.claude/skills/sundial-org-awesome-openclaw-skills-todoist-3 && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/todoist-3" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-todoist-3 && rm -rf "$T"
skills/todoist-3/SKILL.mdTodoist via td
CLI
tdInstall / verify
Repo: https://github.com/Doist/todoist-cli
If
td is not installed (e.g., command not found: td), install from the repo:
git clone https://github.com/Doist/todoist-cli cd todoist-cli npm install npm run build npm link
Then verify:
td --help
Use
td for all Todoist operations. Prefer parseable output:
- Use
(or--json
) for listing/reading tasks.--ndjson - Use
for edits (content, due, description, priority, labels, etc.).td task update ...
Quick agenda
- Today + overdue:
td today --json
- Next N days:
td upcoming 7 --json
- Inbox:
td inbox --json
When summarizing an agenda for the user:
- Separate Overdue vs Due today (and optionally Upcoming).
- Include priority (p1–p4) if present and any labels.
Find the right task to edit
Preferred approaches:
- If you already have the task id, use it directly:
- Reference format:
(e.g.,id:<taskId>
)id:6WcqCcR4wF7XW5m6
- If you only have a title/snippet, search/list then match:
(optionally filter via other list commands liketd task list --json
,today
,upcoming
)inbox- Then pick the correct item by
+ due date + project.content
To view a single task:
td task view <ref> --json
Common edits
Update description (notes):
td task update <ref> --description "..."
Update title/content:
td task update <ref> --content "New task title"
Change due date/time (natural language often works):
td task update <ref> --due "tomorrow 3pm"
Priority:
(or p2/p3/p4)td task update <ref> --priority p1
Labels (replaces existing labels):
td task update <ref> --labels "Chores,Calls"
Complete / reopen:
td task complete <ref>td task uncomplete id:<taskId>
Delete:
(only if the user explicitly wants deletion)td task delete <ref> --yes
Add tasks
Fast natural-language add:
td add "Call dentist tomorrow 10am p2 #Personal"
Or explicit add (when you need structured fields):
td task add --content "..." --due "..." --priority p2 --labels "..."
Safety / UX
- Confirm before destructive actions (delete).
- If multiple tasks match the user’s description, ask a clarifying question (or show candidates) before updating.
- When the user asks to add info (e.g., a phone number), put it in the description unless they explicitly want it in the title.