home / skills / openclaw / skills / todoist

todoist skill

/skills/mjrussell/todoist

This skill helps you manage tasks and projects in Todoist by listing, adding, updating, and tracking tasks and reminders.

npx playbooks add skill openclaw/skills --skill todoist

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
3.0 KB
---
name: todoist
description: Manage tasks and projects in Todoist. Use when user asks about tasks, to-dos, reminders, or productivity.
homepage: https://todoist.com
metadata:
  clawdbot:
    emoji: "✅"
    requires:
      bins: ["todoist"]
      env: ["TODOIST_API_TOKEN"]
---

# Todoist CLI

CLI for Todoist task management, built on the official TypeScript SDK.

## Installation

```bash
# Requires todoist-ts-cli >= 0.2.0 (for --top / --order)
npm install -g todoist-ts-cli@^0.2.0
```

## Setup

1. Get API token from https://todoist.com/app/settings/integrations/developer
2. Either:
   ```bash
   todoist auth <your-token>
   # or
   export TODOIST_API_TOKEN="your-token"
   ```

## Commands

### Tasks

```bash
todoist                    # Show today's tasks (default)
todoist today              # Same as above
todoist tasks              # List tasks (today + overdue)
todoist tasks --all        # All tasks
todoist tasks -p "Work"    # Tasks in project
todoist tasks -f "p1"      # Filter query (priority 1)
todoist tasks --json
```

### Add Tasks

```bash
todoist add "Buy groceries"
todoist add "Meeting" --due "tomorrow 10am"
todoist add "Review PR" --due "today" --priority 1 --project "Work"
todoist add "Prep slides" --project "Work" --order 3  # add at a specific position (1-based)
todoist add "Triage inbox" --project "Work" --order top  # add to top (alternative to --top)
todoist add "Call mom" -d "sunday" -l "family"  # with label
```

### Manage Tasks

```bash
todoist view <id>          # View task details
todoist done <id>          # Complete task
todoist reopen <id>        # Reopen completed task
todoist update <id> --due "next week"
todoist move <id> -p "Personal"
todoist delete <id>
```

### Search

```bash
todoist search "meeting"
```

### Projects & Labels

```bash
todoist projects           # List projects
todoist project-add "New Project"
todoist labels             # List labels
todoist label-add "urgent"
```

### Comments

```bash
todoist comments <task-id>
todoist comment <task-id> "Note about this task"
```

## Usage Examples

**User: "What do I have to do today?"**
```bash
todoist today
```

**User: "Add 'buy milk' to my tasks"**
```bash
todoist add "Buy milk" --due "today"
```

**User: "Remind me to call the dentist tomorrow"**
```bash
todoist add "Call the dentist" --due "tomorrow"
```

**User: "Mark the grocery task as done"**
```bash
todoist search "grocery"   # Find task ID
todoist done <id>
```

**User: "What's on my work project?"**
```bash
todoist tasks -p "Work"
```

**User: "Show my high priority tasks"**
```bash
todoist tasks -f "p1"
```

## Filter Syntax

Todoist supports powerful filter queries:
- `p1`, `p2`, `p3`, `p4` - Priority levels
- `today`, `tomorrow`, `overdue`
- `@label` - Tasks with label
- `#project` - Tasks in project
- `search: keyword` - Search

## Notes

- Task IDs are shown in task listings
- Due dates support natural language ("tomorrow", "next monday", "jan 15")
- Priority 1 is highest, 4 is lowest
- Use `--order <n>` (1-based) or `--order top` to insert a task at a specific position within a project/section

Overview

This skill lets you manage Todoist tasks, projects, labels, and comments via a command-line interface. It focuses on quick task creation, searching, prioritization, and project organization using natural language due dates and filter queries. Use it to view, add, update, move, complete, or delete items without leaving your terminal.

How this skill works

The skill wraps Todoist API operations into simple CLI commands: list tasks (today/overdue/all), add tasks with due dates, priorities, labels and position controls, and manage projects and comments. It inspects task lists, task IDs, project and label collections, and supports filter queries and natural-language due dates. Commands return IDs and JSON when requested for integration or scripting.

When to use it

  • Check daily tasks, overdue items, or project-specific work from the terminal.
  • Quickly add tasks, reminders, or scheduled items using natural-language due dates.
  • Script or automate task workflows and backups using JSON output.
  • Move, reprioritize, or insert tasks at specific positions within projects.
  • Search and triage inbox items or sync labels and projects for planning.

Best practices

  • Authenticate once with your API token or export TODOIST_API_TOKEN to avoid repeated logins.
  • Use search or list commands to capture task IDs before update, move, or delete operations.
  • Leverage --order <n> or --order top to control task position when adding in a project or section.
  • Use filter queries (p1, today, @label, #project) to create focused views and reduce noise.
  • Request JSON output (--json) for scripting, backups, or piping into other tools.

Example use cases

  • Daily workflow: run todoist today to see today's and overdue tasks, then mark completed items with todoist done <id>.
  • Rapid capture: todoist add "Prep slides" --due "tomorrow 10am" --project "Work" --order top to add high-priority prep at the top of a project.
  • Reorganize: todoist move <id> -p "Personal" to transfer tasks between projects during weekly review.
  • Search and act: todoist search "meeting" then todoist update <id> --due "next week" to reschedule found tasks.
  • Automation: cron job that calls todoist tasks --all --json and saves output for an archived backup.

FAQ

How do I authenticate once for CLI use?

Get your API token from Todoist integrations and run todoist auth <your-token> or export TODOIST_API_TOKEN in your shell environment.

Can I add a task at a specific position in a project?

Yes. Use --order <n> (1-based) or --order top to place the task at a specific position or at the top of the project.