Back to Skills

todoist-api

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.

281stars25forksUpdated 8/5/2026

Security Assessment

Safe(93/100)
Security Score93/100

About todoist-api

This skill provides procedural guidance for reading and managing Todoist data through the `td` command-line tool. It solves the problem of turning natural-language task-management requests into precise CLI invocations, covering full CRUD operations across tasks, projects, sections, labels, and comments. The skill emphasizes machine-readable output for agents (`--json`, `--ndjson`, `--full` flags) so results can be parsed and acted on programmatically.

The documentation walks through quick-add natural-language parsing (due dates, priorities, projects, sections, labels), listing and filtering tasks, viewing task details, creating tasks with explicit flags, and updating, completing, or reopening tasks. A dedicated reference file documents Todoist's filter query language, including date, priority, label, project, section, and assignment filters plus logical operators for combining them. A companion reference covers completed-task retrieval. A key safety feature is the explicit confirmation requirement: before any destructive action (deleting, completing, updating, or archiving), the skill instructs the agent to ask the user for confirmation, while read-only operations proceed freely.

The target users are people who manage their to-do lists in Todoist and want an AI assistant to query, add, or reorganize tasks conversationally. Typical use cases include adding tasks from natural language, surfacing overdue or high-priority work, filtering tasks by project or label, and bulk-reviewing or completing items. It assumes the `td` CLI is installed via npm and authenticated over OAuth.

FAQ

What do I need installed to use this skill?

The `td` CLI (`@doist/todoist-cli`) must be installed globally via npm and authenticated. You verify status with `td auth status`, install with `npm install -g @doist/todoist-cli`, and authenticate over OAuth with `td auth login`.

Will it delete or complete tasks without asking?

No. The skill requires confirmation before any destructive action, including deleting tasks/projects/sections/labels/comments, completing tasks, updating existing resources, and archiving projects. Read-only operations do not require confirmation.

Can I get machine-readable output?

Yes. Use `--json` for a JSON array, `--ndjson` for newline-delimited JSON, and `--full` to include all fields rather than the essential-fields default.

How do I write advanced task filters?

The `--filter` flag on `td task list` accepts Todoist's filter query language, supporting date, priority, label, project, section, and assignment filters combined with `&` (AND), `|` (OR), `!` (NOT), and parentheses for grouping. Some complex filters may require Premium/Business plans.

Does it support natural-language task creation?

Yes. `td add "text"` parses due dates, priority (p1-p4), project (#Project), section (/Section), and labels (@label) directly from the text.

All Files

3 files
references/filters.md2.8 KB
View
SKILL.md9.0 KB
View
references/completed-tasks.md2.1 KB
View

Install todoist-api

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill