Loading...
Loading...
This skill provides instructions for interacting with Todoist using the td CLI tool. It covers CRUD operations for tasks/projects/sections/labels/comments, and requires confirmation before destructive actions. Use this skill when the user wants to read, create, update, or delete Todoist data.
npx skill4agent add intellectronica/agent-skills todoist-apitdtdtd auth statusnpm install -g @doist/todoist-clitd auth login--json--ndjson--full| Command | Description |
|---|---|
| Quick add with natural language parsing |
| Tasks due today and overdue |
| Tasks due in next N days (default: 7) |
| Tasks in Inbox |
| Recently completed tasks |
td add "Buy milk tomorrow p1 #Shopping"
td add "Call dentist every monday @health"
td add "Review PR #Work /Code Review"tomorrownext mondayJan 15p1p4#ProjectName/SectionName@label1 @label2td task list [options]--project <name>--label <name>--priority <p1-p4>--due <date>--filter <query>--assignee <ref>--workspace <name>--personaltd task list --json # JSON array
td task list --project "Work" --json # Filtered JSON
td task list --all --json # All tasks (no limit)td task view <ref> # Human-readable
td task view <ref> --json # JSON outputid:xxxtd add "Task text with #Project @label tomorrow p2"td task add --content "Task text" \
--project "Work" \
--due "tomorrow" \
--priority p2 \
--labels "urgent,review" \
--description "Additional details"--content <text>--due <date>--deadline <date>--priority <p1-p4>--project <name>--section <id>--labels <a,b>--parent <ref>--description <text>--assignee <ref>--duration <time>td task update <ref> --content "New content" --due "next week"--content <text>--due <date>--deadline <date>--no-deadline--priority <p1-p4>--labels <a,b>--description <text>--assignee <ref>--unassign--duration <time>td task complete <ref>td task uncomplete id:xxxtd task delete <ref>td task move <ref> --project "New Project"
td task move <ref> --section <section-id>
td task move <ref> --parent <task-ref>td task browse <ref>td project list # Human-readable tree
td project list --json # JSON array
td project list --personal --json # Personal projects onlytd project view <ref>
td project view <ref> --jsontd project create --name "Project Name" \
--color "blue" \
--parent "Parent Project" \
--view-style board \
--favorite--name <name>--color <color>--parent <ref>--view-style <style>--favoritetd project update <ref> --name "New Name" --color "red"td project archive <ref>
td project unarchive <ref>td project delete <ref>td project collaborators <ref>td section list <project> # Human-readable
td section list <project> --json # JSON arraytd section create --name "Section Name" --project "Project Name"td section update <id> --name "New Name"td section delete <id>td label list # Human-readable
td label list --json # JSON arraytd label create --name "label-name" --color "green" --favoritetd label update <ref> --name "new-name" --color "blue"td label delete <name>td comment list <task-ref> # Comments on task
td comment list <project-ref> --project # Comments on projecttd comment add <task-ref> --content "Comment text"
td comment add <project-ref> --project --content "Comment text"td comment update <id> --content "Updated text"td comment delete <id>td reminder list <task-ref>td reminder add <task-ref> --due "tomorrow 9am"td reminder delete <id>td filter list --jsontd filter show <filter-ref> --jsontd filter create --name "My Filter" --query "today & p1"td completed # Today's completed tasks
td completed --since 2024-01-01 # Since specific date
td completed --project "Work" --json # Filtered JSON output
td completed --all --json # All completed (no limit)--since <date>--until <date>--project <name>td activity # Recent activity
td stats # Productivity stats and karma--all# First page
result=$(td task list --json --limit 50)
# If there's a next_cursor in the response, continue
cursor=$(echo "$result" | jq -r '.[-1].id // empty')
td task list --json --limit 50 --cursor "$cursor"<ref>id:xxxreferences/completed-tasks.mdreferences/filters.md--filtertd auth status--json--all--cursor