Agent skill · software engineering · sundial-org

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).

Why this skill is useful

Adds executable commands for managing Todoist tasks via the CLI that the AI cannot generate on its own.

What it needs

Requires git, npm installed locally. About 2k tokens when loaded. Last updated 2026-03-07. 639 stars on the source repository.

What this skill does

Todoist via td CLI Install / verify Repo: https://github.com/Doist/todoist-cli If td is not installed (e.g., command not found: td), install from the repo: Then verify: Use td for all Todoist operations. Prefer parseable output: Use --json (or --ndjson) for listing/reading tasks. Use td task update ... for edits (content, due, description, priority, labels, etc.). 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: 1) If you already have the task id, use it directly: Reference format: id:<taskId> (e.g., id:6WcqCcR4wF7XW5m6) 2) If you only have a title/snippet, search/list then match: td task list --json (optionally filter via other list commands like today, upcoming, inbox) Then pick the correct item by content + due date + project. 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: td task update <ref> --priority p1 (or p2/p3/p4) Labels (replaces existing labels): td task update <ref> --labels "Chores,Calls" Complete / reopen: td task complete <ref> td task uncomplete id:<taskId> Delete: td task delete <ref> --yes (only if the user explicitly wants deletion) 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. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills sundial-org/todoist-3

View the source on GitHub

Browse the @skills marketplace