Index of every page on this site: llms.txt
All skills
Run it yourself

Work with Todoist tasks and projects through the official td CLI or Todoist API v1. Use for explicitly requested Todoist capture, triage, bulk edits, completed-work reports, or integration development. Do not activate for generic reminders or tasks in another system.

Use this Skill: https://skilld.dev/gh/tristanmanchester/agent-skills/todoist-api

Nothing lands on disk. Nothing to clean up.

Fork this Skill

Edit a local copy. It keeps the author and licence.

SKILL.md

≈70 tokens for metadata: the name and description. ≈1.1k when used: this file. ≈1.3k more on demand in 2 files.

Description uses 3.5% of example budget

Before choosing a Skill, your Agent reads its name and description. All available Skills share that space.

  • A shorter description leaves more room for other Skills. This entry exceeds our 1% size suggestion.

In our Claude Code example, all Skill names and descriptions share 8,000 characters. This Skill uses ≈281 characters, or 3.5%.

The 1% threshold is a size suggestion. Longer descriptions can still fit.

Your model, settings, and other Skills decide how much text your Agent can read.

Example settings and source

The example uses a 200k-token context and default Claude Code settings. The count includes the name, description, separators, and when_to_use when present. Codex also counts local file paths.

Skit's source and limits: Codex 0.160.1, Claude Code 2.1.292.

Todoist workflows

Use the official CLI for routine operations. Use the public API only for a specific integration or a gap confirmed in installed CLI help. Do not maintain another complete client or silently switch the user's account/connection.

Establish the surface

  1. Prefer an already authorised Todoist connector when it exposes the requested operation. Otherwise inspect td --version, td --help, and td auth status.
  2. The official package is @doist/todoist-cli, executable td. Installation and authentication change the host/account state; do them only as authorised.
  3. Use OS credential storage, not a token in a command argument, report, or repo. TODOIST_API_TOKEN overrides stored credentials: check its presence without printing its value when the apparent account or permissions are wrong.
  4. For read-only work, prefer read-only OAuth. CLI auth metadata is not proof that an externally supplied token has a particular scope.
  5. Read the exact subcommand's help before use. Prefer its structured output; do not parse a human-formatted table or assume a flag exists across commands.

Doist maintains its own CLI skill (td skill install universal, or the relevant agent target). Use that for exhaustive command syntax when available; installing it is optional, not a prerequisite or permission to modify agent configuration. This skill adds the resolution, bulk-change, and reconciliation workflow below.

Resolve, execute, verify

td project list --json
td task list --project "Work" --json
td task view TASK_ID --json

Resolve names within their context: account/workspace, project, section, and personal versus shared label. Preserve opaque string IDs. On duplicate names, show the candidates; do not choose the first match. Never pass a tmp- client placeholder to a server endpoint.

For an authorised capture, a simple example is:

td add "Email Chris tomorrow at 09:00 #Work @follow-up p2"

Read the resulting task and verify project, labels, parsed date/time, timezone, and recurrence. Natural-language parsing is not proof the intended date was stored. API priority numbering and user-facing p1 notation are different; verify their mapping rather than copying numbers between surfaces.

For edits, read current state, apply the requested change using installed help, and read back the affected fields. Complete rather than permanently delete when that matches the request. Completing a recurring occurrence and ending the series are different operations; inspect the returned next due date.

Bulk edits and recovery

Before bulk close/move/comment/delete, read API and bulk operations. Freeze an explicit set of IDs and proposed changes, preview it, and apply that set rather than re-running a changing filter. Existing user authorisation can cover the plan; CLI flags or plan files cannot grant extra permission.

Keep an outcome ledger of confirmed successes, confirmed failures, and unknown outcomes. A timeout after a write is unknown, not evidence that nothing happened. Reconcile before retrying. Never restart an entire partially completed batch or regenerate deduplication IDs on recovery.

Reports and integration work

For completed-work reports, define the timezone and interval, and distinguish completion time from due date. Follow all returned cursors needed for the request, or label the result partial. Do not mistake a page size for total count.

For Sync API, attachments, templates, archived resources, or migration work, use the reference only after confirming the live endpoint/SDK contract. The old custom Python CLI and its flags are removed; there is no compatibility shim.

Return what was found/changed, stable IDs or provider-returned links, verification performed, unresolved outcomes, and pagination boundaries. Do not claim a successful connection, write, or report from a command example alone.

Sources and checks

Reviewed 2026-09-13 against Todoist API v1 and the official CLI. Installed help and current endpoint documentation remain the authority for exact syntax.

Maintainers: run the scenarios in evals/scenarios.json against agent traces. They are evaluation cases, not a claim of live tests.

Source: SKILL.md on GitHub

skilld matched fixed text patterns in SKILL.md and file names. Patterns miss obfuscated code.

skilld run checks every file with the same patterns. It asks for approval before it loads a Skill with a behavior marked Needs approval.

3 warnings1mo5 checks · Risk SAFE
  • Gen Agent Trust Hub1mo

    The Todoist API skill is a robust and well-designed tool for managing Todoist data. It adheres to security best practices by using environment variables for authentication and providing dry-run functionality for all write operations. The tool also includes safeguards such as redacting sensitive headers in preview outputs. No malicious patterns were detected.

  • Socket1mo

    No alerts

  • Snyk1mo

    Risk: MEDIUM · 1 issue

  • Runlayer7mo

    4/9 files flagged

  • ZeroLeaks6mo

    1 finding · Score: 69/100

Signed by skilld at 3323bc9. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 weeks ago.

Steadyupdated last month
metadata
{
  "version": "3.0.0",
  "reviewed": "2026-09-13"
}
Other metadata
compatibility
Requires authorised Todoist access. Routine operations use the official @doist/todoist-cli package; API integrations use HTTPS and the project's supported SDK/runtime.

README badge

README badge for tristanmanchester/agent-skills/todoist-api