askill
todoist

todoistSafety 88Repository

Todoist task management — create, list, complete, and organize tasks

3 stars
1.2k downloads
Updated 3/1/2026

Package Files

Loading files...
SKILL.md

Todoist

Manage tasks and projects in Todoist via the REST API v2.

Setup

  1. Get your API token: Todoist Settings → Integrations → Developer → API Token
  2. Store in vault: copilot config vault-set TODOIST_API_TOKEN=your_token

List tasks

# All active tasks
curl -s "https://api.todoist.com/rest/v2/tasks" \
  -H "Authorization: Bearer $TODOIST_API_TOKEN" | jq '.[] | {id, content, due: .due.string, priority, project_id}'

# Filter by project
curl -s "https://api.todoist.com/rest/v2/tasks?project_id=PROJECT_ID" \
  -H "Authorization: Bearer $TODOIST_API_TOKEN" | jq '.[] | {id, content, due: .due.string}'

# Filter with Todoist filter syntax
curl -s -G "https://api.todoist.com/rest/v2/tasks" \
  --data-urlencode "filter=today | overdue" \
  -H "Authorization: Bearer $TODOIST_API_TOKEN" | jq '.[] | {id, content, due: .due.string}'

Create a task

# Simple task
curl -s -X POST "https://api.todoist.com/rest/v2/tasks" \
  -H "Authorization: Bearer $TODOIST_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Task title",
    "due_string": "tomorrow at 10am",
    "priority": 3
  }' | jq '{id, content, due: .due.string, url}'

# Task in a specific project with labels
curl -s -X POST "https://api.todoist.com/rest/v2/tasks" \
  -H "Authorization: Bearer $TODOIST_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Buy groceries",
    "description": "Milk, bread, eggs",
    "project_id": "PROJECT_ID",
    "due_string": "today",
    "labels": ["shopping"],
    "priority": 2
  }' | jq '{id, content, url}'

Complete a task

curl -s -X POST "https://api.todoist.com/rest/v2/tasks/TASK_ID/close" \
  -H "Authorization: Bearer $TODOIST_API_TOKEN"

Update a task

curl -s -X POST "https://api.todoist.com/rest/v2/tasks/TASK_ID" \
  -H "Authorization: Bearer $TODOIST_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content": "Updated title", "due_string": "next monday"}'

Delete a task

curl -s -X DELETE "https://api.todoist.com/rest/v2/tasks/TASK_ID" \
  -H "Authorization: Bearer $TODOIST_API_TOKEN"

Projects

# List projects
curl -s "https://api.todoist.com/rest/v2/projects" \
  -H "Authorization: Bearer $TODOIST_API_TOKEN" | jq '.[] | {id, name, color}'

# Create project
curl -s -X POST "https://api.todoist.com/rest/v2/projects" \
  -H "Authorization: Bearer $TODOIST_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "New Project", "color": "blue"}' | jq '{id, name, url}'

Priority levels

PriorityTodoist valueLabel
Urgent4p1 (red)
High3p2 (orange)
Medium2p3 (yellow)
Normal1p4 (no color)

Due date natural language

Todoist supports natural language via due_string:

  • today, tomorrow, next monday
  • every day at 9am, every weekday
  • Jan 15, 2026-03-01
  • in 3 days, in 2 hours

Tips

  • Use due_string with natural language — Todoist parses it automatically.
  • Priority 4 is the highest (urgent/red), 1 is the lowest (normal).
  • List projects first to get project IDs before creating tasks in them.
  • Use filters like today | overdue to see what needs attention.
  • Confirm before deleting tasks.
  • Use labels for cross-project categorization.

Triggers

todoist, add task, create task, my tasks, complete task, adicionar tarefa, minhas tarefas, marcar como feito, to-do

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

92/100Analyzed 2/19/2026

Well-structured Todoist API skill with comprehensive curl commands, clear setup instructions, and good metadata. Covers all major operations (CRUD for tasks and projects) with practical examples. Includes useful reference tables and multilingual triggers. Slightly incomplete on label management details but overall highly actionable and reusable.

88
90
95
85
90

Metadata

Licenseunknown
Version0.1.0
Updated3/1/2026
Publisherjholhewres

Tags

api