SkillHub

todoist-td

v0.1.1

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

Sourced from ClawHub, Authored by mattjefferson

Installation

Please help me install the skill `todoist-td` from SkillHub official store. npx skills add mattjefferson/todoist-td

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:

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