Source profileQuality 93/100

davepoon/buildwithclaude/plugins/all-skills/skills/todoist-automation/SKILL.md

todoist-automation

Automate Todoist task management, projects, sections, filtering, and bulk operations via Rube MCP (Composio). Always search tools first for current schemas.

Source repository stars
3,359
Declared platforms
0
Static risk flags
0
Last source update
2026-08-24
Source checked
2026-08-26

Decision brief

What it does: where it fits

Automate Todoist operations including task creation and management, project organization, section management, filtering, and bulk task workflows through Composio's Todoist toolkit.

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/davepoon/buildwithclaude --skill "plugins/all-skills/skills/todoist-automation"
    Safe inspection promptEditorial

    Inspect the Agent Skill "todoist-automation" from https://github.com/davepoon/buildwithclaude/blob/ebd20fe1d82fa74e9a2f94abfeff88090f6c758c/plugins/all-skills/skills/todoist-automation/SKILL.md at commit ebd20fe1d82fa74e9a2f94abfeff88090f6c758c. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Setup

      Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.

      Verify Rube MCP is available by confirming RUBESEARCHTOOLS respondsCall RUBEMANAGECONNECTIONS with toolkit todoistIf connection is not ACTIVE, follow the returned auth link to complete Todoist OAuth
    2. 02

      Prerequisites

      Rube MCP must be connected (RUBESEARCHTOOLS available)

      Rube MCP must be connected (RUBESEARCHTOOLS available)Active Todoist connection via RUBEMANAGECONNECTIONS with toolkit todoistAlways call RUBESEARCHTOOLS first to get current tool schemas
    3. 03

      Core Workflows

      When to use: User wants to create, update, complete, reopen, or delete tasks

      TODOISTGETALLPROJECTS - List projects to find the target project ID [Prerequisite]TODOISTGETALLSECTIONS - List sections within a project for task placement [Optional]TODOISTCREATETASK - Create a single task with content, due date, priority, labels [Required]
    4. 04

      1. Create and Manage Tasks

      When to use: User wants to create, update, complete, reopen, or delete tasks

      TODOISTGETALLPROJECTS - List projects to find the target project ID [Prerequisite]TODOISTGETALLSECTIONS - List sections within a project for task placement [Optional]TODOISTCREATETASK - Create a single task with content, due date, priority, labels [Required]
    5. 05

      2. Manage Projects

      When to use: User wants to list, create, update, or inspect projects

      TODOISTGETALLPROJECTS - List all projects with metadata [Required]TODOISTGETPROJECT - Get details for a specific project by ID [Optional]TODOISTCREATEPROJECT - Create a new project with name, color, view style [Optional]

    Permission review

    Static risk signals and limitations

    No configured static risk pattern was detected

    This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score93/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars3,359SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    davepoon/buildwithclaude
    Skill path
    plugins/all-skills/skills/todoist-automation/SKILL.md
    Commit
    ebd20fe1d82fa74e9a2f94abfeff88090f6c758c
    License
    MIT
    Collected
    2026-08-26
    Default branch
    main
    View the original SKILL.md

    Todoist Automation via Rube MCP

    Automate Todoist operations including task creation and management, project organization, section management, filtering, and bulk task workflows through Composio's Todoist toolkit.

    Toolkit docs: composio.dev/toolkits/todoist

    Prerequisites

    • Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
    • Active Todoist connection via RUBE_MANAGE_CONNECTIONS with toolkit todoist
    • Always call RUBE_SEARCH_TOOLS first to get current tool schemas

    Setup

    Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.

    1. Verify Rube MCP is available by confirming RUBE_SEARCH_TOOLS responds
    2. Call RUBE_MANAGE_CONNECTIONS with toolkit todoist
    3. If connection is not ACTIVE, follow the returned auth link to complete Todoist OAuth
    4. Confirm connection status shows ACTIVE before running any workflows

    Core Workflows

    1. Create and Manage Tasks

    When to use: User wants to create, update, complete, reopen, or delete tasks

    Tool sequence:

    1. TODOIST_GET_ALL_PROJECTS - List projects to find the target project ID [Prerequisite]
    2. TODOIST_GET_ALL_SECTIONS - List sections within a project for task placement [Optional]
    3. TODOIST_CREATE_TASK - Create a single task with content, due date, priority, labels [Required]
    4. TODOIST_BULK_CREATE_TASKS - Create multiple tasks in one request [Alternative]
    5. TODOIST_UPDATE_TASK - Modify task properties (content, due date, priority, labels) [Optional]
    6. TODOIST_CLOSE_TASK - Mark a task as completed [Optional]
    7. TODOIST_REOPEN_TASK - Restore a previously completed task [Optional]
    8. TODOIST_DELETE_TASK - Permanently remove a task [Optional]

    Key parameters for CREATE_TASK:

    • content: Task title (supports markdown and hyperlinks)
    • description: Additional notes (do NOT put due dates here)
    • project_id: Alphanumeric project ID; omit to add to Inbox
    • section_id: Alphanumeric section ID for placement within a project
    • parent_id: Task ID for creating subtasks
    • priority: 1 (normal) to 4 (urgent) -- note: Todoist UI shows p1=urgent, API p4=urgent
    • due_string: Natural language date like "tomorrow at 3pm", "every Friday at 9am"
    • due_date: Specific date YYYY-MM-DD format
    • due_datetime: Specific date+time in RFC3339 YYYY-MM-DDTHH:mm:ssZ
    • labels: Array of label name strings
    • duration + duration_unit: Task duration (e.g., 30 + "minute")

    Pitfalls:

    • Only one due_* field can be used at a time (except due_lang which can accompany any)
    • Do NOT embed due dates in content or description -- use due_string field
    • Do NOT embed duration phrases like "for 30 minutes" in due_string -- use duration + duration_unit
    • priority in API: 1=normal, 4=urgent (opposite of Todoist UI display where p1=urgent)
    • Task IDs can be numeric or alphanumeric; use the format returned by the API
    • CLOSE_TASK marks complete; DELETE_TASK permanently removes -- they are different operations

    2. Manage Projects

    When to use: User wants to list, create, update, or inspect projects

    Tool sequence:

    1. TODOIST_GET_ALL_PROJECTS - List all projects with metadata [Required]
    2. TODOIST_GET_PROJECT - Get details for a specific project by ID [Optional]
    3. TODOIST_CREATE_PROJECT - Create a new project with name, color, view style [Optional]
    4. TODOIST_UPDATE_PROJECT - Modify project properties [Optional]

    Key parameters:

    • name: Project name (required for creation)
    • color: Todoist palette color (e.g., "blue", "red", "green", "charcoal")
    • view_style: "list" or "board" layout
    • parent_id: Parent project ID for creating sub-projects
    • is_favorite / favorite: Boolean to mark as favorite
    • project_id: Required for update and get operations

    Pitfalls:

    • Projects with similar names can lead to selecting the wrong project_id; always verify
    • CREATE_PROJECT uses favorite while UPDATE_PROJECT uses is_favorite -- different field names
    • Use the project id returned by API, not the v2_id, for downstream operations
    • Alphanumeric/URL-style project IDs may cause HTTP 400 in some tools; use numeric ID if available

    3. Manage Sections

    When to use: User wants to organize tasks within projects using sections

    Tool sequence:

    1. TODOIST_GET_ALL_PROJECTS - Find the target project ID [Prerequisite]
    2. TODOIST_GET_ALL_SECTIONS - List existing sections to avoid duplicates [Prerequisite]
    3. TODOIST_CREATE_SECTION - Create a new section in a project [Required]
    4. TODOIST_UPDATE_SECTION - Rename an existing section [Optional]
    5. TODOIST_DELETE_SECTION - Permanently remove a section [Optional]

    Key parameters:

    • project_id: Required -- the project to create the section in
    • name: Section name (required for creation)
    • order: Integer position within the project (lower values appear first)
    • section_id: Required for update and delete operations

    Pitfalls:

    • CREATE_SECTION requires project_id and name -- omitting project_id causes a 400 error
    • HTTP 400 "project_id is invalid" can occur if alphanumeric ID is used; prefer numeric ID
    • Deleting a section may move or regroup its tasks in non-obvious ways
    • Response may include both id and v2_id; store and reuse the correct identifier consistently
    • Always check existing sections first to avoid creating duplicates

    4. Search and Filter Tasks

    When to use: User wants to find tasks by criteria, view today's tasks, or get completed task history

    Tool sequence:

    1. TODOIST_GET_ALL_TASKS - Fetch incomplete tasks with optional filter query [Required]
    2. TODOIST_GET_TASK - Get full details of a specific task by ID [Optional]
    3. TODOIST_GET_COMPLETED_TASKS_BY_COMPLETION_DATE - Retrieve completed tasks within a date range [Optional]
    4. TODOIST_LIST_FILTERS - List user's custom saved filters [Optional]

    Key parameters for GET_ALL_TASKS:

    • filter: Todoist filter syntax string
      • Keywords: today, tomorrow, overdue, no date, recurring, subtask
      • Priority: p1 (urgent), p2, p3, p4 (normal)
      • Projects: #ProjectName (must exist in account)
      • Labels: @LabelName (must exist in account)
      • Date ranges: 7 days, -7 days, due before: YYYY-MM-DD, due after: YYYY-MM-DD
      • Search: search: keyword for content text search
      • Operators: & (AND), | (OR), ! (NOT)
    • ids: List of specific task IDs to retrieve

    Key parameters for GET_COMPLETED_TASKS_BY_COMPLETION_DATE:

    • since: Start date in RFC3339 format (e.g., 2024-01-01T00:00:00Z)
    • until: End date in RFC3339 format
    • project_id, section_id, parent_id: Optional filters
    • cursor: Pagination cursor from previous response
    • limit: Max results per page (default 50)

    Pitfalls:

    • GET_ALL_TASKS returns ONLY incomplete tasks; use GET_COMPLETED_TASKS_BY_COMPLETION_DATE for completed ones
    • Filter terms must reference ACTUAL EXISTING entities; arbitrary text causes HTTP 400 errors
    • Do NOT use completed, !completed, or completed after in GET_ALL_TASKS filter -- causes 400 error
    • GET_COMPLETED_TASKS_BY_COMPLETION_DATE limits date range to approximately 3 months between since and until
    • Search uses search: keyword syntax within the filter, not a separate parameter

    5. Bulk Task Creation

    When to use: User wants to scaffold a project with multiple tasks at once

    Tool sequence:

    1. TODOIST_GET_ALL_PROJECTS - Find target project ID [Prerequisite]
    2. TODOIST_GET_ALL_SECTIONS - Find section IDs for task placement [Optional]
    3. TODOIST_BULK_CREATE_TASKS - Create multiple tasks in a single request [Required]

    Key parameters:

    • tasks: Array of task objects, each requiring at minimum content
    • Each task object supports: content, description, project_id, section_id, parent_id, priority, labels, due (object with string, date, or datetime), duration, order

    Pitfalls:

    • Each task in the array must have at least the content field
    • The due field in bulk create is an object with nested fields (string, date, datetime, lang) -- different structure from CREATE_TASK's flat fields
    • All tasks can target different projects/sections within the same batch

    Common Patterns

    ID Resolution

    Always resolve human-readable names to IDs before operations:

    • Project name -> Project ID: TODOIST_GET_ALL_PROJECTS, match by name field
    • Section name -> Section ID: TODOIST_GET_ALL_SECTIONS with project_id
    • Task content -> Task ID: TODOIST_GET_ALL_TASKS with filter or search: keyword

    Pagination

    • TODOIST_GET_ALL_TASKS: Returns all matching incomplete tasks (no pagination needed)
    • TODOIST_GET_COMPLETED_TASKS_BY_COMPLETION_DATE: Uses cursor-based pagination; follow cursor from response until no more results
    • TODOIST_GET_ALL_PROJECTS and TODOIST_GET_ALL_SECTIONS: Return all results (no pagination)

    Due Date Handling

    • Natural language: Use due_string (e.g., "tomorrow at 3pm", "every Monday")
    • Specific date: Use due_date in YYYY-MM-DD format
    • Specific datetime: Use due_datetime in RFC3339 format (YYYY-MM-DDTHH:mm:ssZ)
    • Only use ONE due field at a time (except due_lang which can accompany any)
    • Recurring tasks: Use natural language in due_string (e.g., "every Friday at 9am")

    Known Pitfalls

    ID Formats

    • Task IDs can be numeric ("2995104339") or alphanumeric ("6X4Vw2Hfmg73Q2XR")
    • Project IDs similarly vary; prefer the format returned by the API
    • Some tools accept only numeric IDs; if 400 error occurs, try fetching the numeric id via GET_PROJECT
    • Response objects may contain both id and v2_id; use id for API operations

    Priority Inversion

    • API priority: 1 = normal, 4 = urgent
    • Todoist UI display: p1 = urgent, p4 = normal
    • This is inverted; always clarify with the user which convention they mean

    Filter Syntax

    • Filter terms must reference real entities in the user's account
    • #NonExistentProject or @NonExistentLabel will cause HTTP 400
    • Use search: keyword for text search, not bare keywords
    • Combine with & (AND), | (OR), ! (NOT)
    • completed filters do NOT work on GET_ALL_TASKS endpoint

    Rate Limits

    • Todoist API has rate limits; batch operations should use BULK_CREATE_TASKS where possible
    • Space out rapid sequential requests to avoid throttling

    Quick Reference

    TaskTool SlugKey Params
    List all projectsTODOIST_GET_ALL_PROJECTS(none)
    Get projectTODOIST_GET_PROJECTproject_id
    Create projectTODOIST_CREATE_PROJECTname, color, view_style
    Update projectTODOIST_UPDATE_PROJECTproject_id, name, color
    List sectionsTODOIST_GET_ALL_SECTIONSproject_id
    Create sectionTODOIST_CREATE_SECTIONproject_id, name, order
    Update sectionTODOIST_UPDATE_SECTIONsection_id, name
    Delete sectionTODOIST_DELETE_SECTIONsection_id
    Get all tasksTODOIST_GET_ALL_TASKSfilter, ids
    Get taskTODOIST_GET_TASKtask_id
    Create taskTODOIST_CREATE_TASKcontent, project_id, due_string, priority
    Bulk create tasksTODOIST_BULK_CREATE_TASKStasks (array)
    Update taskTODOIST_UPDATE_TASKtask_id, content, due_string
    Complete taskTODOIST_CLOSE_TASKtask_id
    Reopen taskTODOIST_REOPEN_TASKtask_id
    Delete taskTODOIST_DELETE_TASKtask_id
    Completed tasksTODOIST_GET_COMPLETED_TASKS_BY_COMPLETION_DATEsince, until
    List filtersTODOIST_LIST_FILTERSsync_token

    Powered by Composio

    Frequently asked questions

    What to verify before installation and use

    What does the todoist-automation source document cover?

    Automate Todoist operations including task creation and management, project organization, section management, filtering, and bulk task workflows through Composio's Todoist toolkit.

    How do I install todoist-automation?

    The source record exposes this install command: npx skills add https://github.com/davepoon/buildwithclaude --skill "plugins/all-skills/skills/todoist-automation". Inspect the command and pinned source before running it.

    Alternatives

    Compare before choosing

    Computed 10029,095

    garrytan/gbrain

    bulk-ingestion

    End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.

    Computed 10024,975

    alirezarezvani/claude-skills

    app-store-optimization

    App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

    Computed 10015,246

    wanshuiyin/Auto-claude-code-research-in-sleep

    citation-audit

    Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.

    Computed 10014,678

    prowler-cloud/prowler

    postgresql-indexing

    PostgreSQL indexing best practices for Prowler: index design, partial indexes, partitioned table indexing, EXPLAIN ANALYZE validation, concurrent operations, monitoring, and maintenance. Trigger: When creating or modifying PostgreSQL indexes, analyzing query performance with EXPLAIN, debugging slow queries, reviewing index usage statistics, reindexing, dropping indexes, or working with partitioned table indexes. Also trigger when discussing index strategies, partial indexes, or index maintenance