todoist

Manage Todoist tasks via API v1 with project filtering, pagination, and priority mapping.

60|11|Updated Jun 15, 2026
One-click install
npx skills add https://github.com/matyasstoch/david-skills --skill todoist-matyasstoch
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: todoist
Source: https://github.com/matyasstoch/david-skills/tree/main/skills/todoist
Command: npx skills add https://github.com/matyasstoch/david-skills --skill todoist-matyasstoch

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires todoist-api-python, and includes references (resource) components.

What problem does it solve? Managing Todoist tasks through the API involves non-obvious pitfalls: inverted priority values, stale task IDs, unreliable date filters, and token-redaction issues. This Skill encodes David's specific Todoist setup and hard-won operational rules so task operations succeed on the first attempt. ## Core Features & Use Cases - Full Task CRUD: Read, create, update, move, complete, and delete tasks through the Todoist API v1, with cursor pagination and client-side date filtering. - David's Project Scope: Restricts all fetches to five defined projects (Inbox, Personal, Business, Wisdom, David) and defaults to today + overdue tasks, with a special no-date-filter rule for the Inbox brain dump. - Bulk Operation Safety: Enforces re-fetching fresh IDs before writes, batch confirmation, and post-operation verification to avoid silent failures from stale IDs. - Use Case: Ask to show today's P1 tasks, deprioritize everything by one level, or move non-actionable Inbox items to notes — the Skill handles pagination, priority inversion (API 4 = UI P1), and recurring-task quirks automatically. ## Quick Start Show me all my Todoist tasks due today or overdue across my projects, grouped by priority.

Frequently Asked Questions about todoist

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fetch today's Todoist tasks with the API?▼

Fetch tasks from the Todoist API v1 tasks endpoint with the filter 'today | overdue', then apply a client-side date check because the API filter leaks future-dated tasks. Handle cursor pagination with next_cursor and limit up to 200 per page.

Why is Todoist API priority inverted compared to the app?▼

The Todoist API uses priority 4 for urgent (UI P1) and priority 1 for the default (UI P4), which is the reverse of the app's labels. When creating an urgent task, send priority 4 in the JSON body.

How do I update a Todoist task with the REST API?▼

Update a Todoist task by sending a POST request to /api/v1/tasks/{id} with only the fields you want to change. The API does not accept PATCH or PUT, and moving a task between projects requires the dedicated /move endpoint.

Why do Todoist task deletions silently fail?▼

Todoist task IDs go stale after moves or new additions, and the API returns 204 even when deleting an already-gone ID. Always re-fetch tasks immediately before deleting and match by task content to get the current ID.

How do I permanently delete a recurring Todoist task?▼

Deleting a recurring task via the REST DELETE endpoint is unreliable, and closing it only rolls the due date forward. Use the Sync API item_delete command, or clear the due_string recurrence first and then close the task.