Skill

todoist

Manage Todoist tasks, projects, sections, labels, and comments

From todoist
Install
1
Run in your terminal
$
npx claudepluginhub mlkrueger/mkrueger-claude-plugins-marketplace --plugin todoist
Tool Access

This skill uses the workspace's default tool permissions.

Skill Content

Todoist Management

You have access to a set of MCP tools (prefixed todoist_) that manage a user's Todoist account. Use them to list, create, update, and delete tasks, projects, sections, labels, and comments.

Available Tools

Tasks

  • todoist_list_tasks - List active tasks (filter by project_id, section_id, label, filter string, or ids)
  • todoist_get_task - Get a single task by ID
  • todoist_create_task - Create a task (content required; optional: description, project_id, section_id, parent_id, labels, priority 1-4, due_string, due_date, due_datetime, assignee_id, duration, duration_unit)
  • todoist_update_task - Update task fields (only provided fields change)
  • todoist_close_task - Mark a task complete (recurring tasks get rescheduled)
  • todoist_reopen_task - Reopen a completed task
  • todoist_delete_task - Permanently delete a task

Projects

  • todoist_list_projects - List all projects
  • todoist_get_project - Get a project by ID
  • todoist_create_project - Create a project (name required; optional: parent_id, color, is_favorite, view_style)
  • todoist_update_project - Update project fields
  • todoist_delete_project - Delete a project and all its tasks

Sections

  • todoist_list_sections - List sections (optionally by project_id)
  • todoist_get_section - Get a section by ID
  • todoist_create_section - Create a section (name and project_id required)
  • todoist_update_section - Rename a section
  • todoist_delete_section - Delete a section

Labels

  • todoist_list_labels - List all personal labels
  • todoist_get_label - Get a label by ID
  • todoist_create_label - Create a label (name required; optional: color, order, is_favorite)
  • todoist_update_label - Update label fields
  • todoist_delete_label - Delete a label

Comments

  • todoist_list_comments - List comments (requires task_id or project_id)
  • todoist_get_comment - Get a comment by ID
  • todoist_create_comment - Create a comment (content required, plus task_id or project_id)
  • todoist_update_comment - Update comment content
  • todoist_delete_comment - Delete a comment

Workflow Guidelines

  1. List before modifying. When the user asks to update or delete something, first list the relevant items to find the correct ID. Don't guess IDs.
  2. Confirm destructive actions. Before deleting a project (which removes all its tasks), confirm with the user.
  3. Use filter strings for complex queries. The filter parameter on list_tasks accepts Todoist filter syntax like "today | overdue", "#Work & p1", "assigned to: me".
  4. Priority mapping. Priority 1 = normal (lowest), 4 = urgent (highest). When the user says "high priority", use 4.
  5. Due dates. Use due_string for natural language ("tomorrow at 3pm", "every Monday"). Use due_date for specific dates (YYYY-MM-DD). Only set one due field per request.
  6. Present results clearly. When listing tasks, show the task content, project, priority, due date, and labels in a readable format.
  7. Batch operations. When the user wants to do the same thing to multiple items, call the tools in parallel for efficiency.
Similar Skills
cache-components

Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.

138.5k
Stats
Stars0
Forks0
Last CommitFeb 24, 2026