Skip to main content

todoist-api

Manages Todoist tasks, projects, sections, labels, comments, completed-task reports, activity logs, ID migration, project templates, and sync workflows through Todoist API v1. Use when the user asks to capture tasks, quick-add work, triage an inbox, resolve Todoist names to IDs, bulk-close or move tasks, add repeated comments, review completed work, manage project structure, export templates, or automate Todoist workflows.

설치로 이동

소스 정보

저장소
tristanmanchester/agent-skills
최근 소스 활동
2026년 3월 5일 11:06
감지된 SKILL.md 언어
영어
스타
3
포크
2

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
9 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
todoist-api
description
Manages Todoist tasks, projects, sections, labels, comments, completed-task reports, activity logs, ID migration, project templates, and sync workflows through Todoist API v1. Use when the user asks to capture tasks, quick-add work, triage an inbox, resolve Todoist names to IDs, bulk-close or move tasks, add repeated comments, review completed work, manage project structure, export templates, or automate Todoist workflows.
license
MIT. See LICENSE.txt
compatibility
Requires HTTPS access to api.todoist.com plus Python 3.9+ or curl. Write operations require a Todoist API token or OAuth access token.
metadata
{"author":"OpenAI","version":"2.0.0","todoist_api":"v1","last_reviewed":"2026-03-05"}
# Todoist API ## When to use this skill Use this skill when work involves **Todoist data or automation**, especially: - capture or quick-add new tasks - inspect, filter, move, complete, reopen, or delete tasks - manage projects, sections, labels, or comments - resolve human names to Todoist IDs before writing - perform safer bulk edits with dry-runs - review completed work or recent activity - build Todoist scripts, agents, or integrations around the public API ## When not to use this skill Do **not** use this skill for: - editing the user’s local Todoist app UI directly - calendar-specific workflows that belong in a calendar skill - attachment upload flows that require multipart handling unless you are prepared to use `curl` or the `raw` escape hatch - non-Todoist task systems ## Safety defaults - Start **read-only** if the user’s intent is ambiguous. - Resolve names to IDs before any write. - Prefer **close** over **delete** unless the user explicitly wants permanent removal. - Run `--dry-run` first for bulk or destructive work. - Use `--confirm` for bulk closes, moves, repeated comments, and deletes. - If a command may return a large payload, set `--output FILE` so stdout stays small and predictable. ## Pick the smallest capable surface - **One object, one endpoint** → use a low-level REST wrapper such as `get-task`, `update-project`, or `get-comment`. - **Natural-language capture** → use `quick-add-task`. - **Resolve names safely** → use `resolve-project`, `resolve-section`, `resolve-label`. - **Create if missing** → use `ensure-project`, `ensure-section`, `ensure-label`. - **Many matching tasks** → use `bulk-close-tasks`, `bulk-move-tasks`, `bulk-comment-tasks`. - **Completed-work review** → use `report-completed` or `get-completed-tasks`. - **Full or incremental sync / batched writes** → use `sync`. - **Unwrapped or niche endpoint** → use `raw`. ## Output contract The main script prints structured output to stdout by default. - `--format json` returns a stable JSON envelope with fields like `action`, `ok`, `count`, `next_cursor`, `matched_count`, `changed_count`, and `resolved`. - `--format summary` returns a smaller human-readable summary. - `--output FILE` writes the full output to a file and prints a small JSON notice to stdout. This is designed for agent pipelines: stdout stays parseable, stderr carries diagnostics, and retries are built in for transient failures. ## Scripts - **`scripts/todoist_api.py`** — main non-interactive Todoist CLI - **`scripts/smoke_test.py`** — read-only connectivity check Inspect help first: ```bash python3 scripts/todoist_api.py --help python3 scripts/todoist_api.py get-tasks-by-filter --help python3 scripts/todoist_api.py bulk-move-tasks --help python3 scripts/smoke_test.py --help ``` ## Quick start Set a token: ```bash export TODOIST_API_TOKEN="YOUR_TODOIST_TOKEN" ``` Read-only smoke test: ```bash python3 scripts/smoke_test.py ``` Sanity-check access: ```bash python3 scripts/todoist_api.py get-projects --limit 5 python3 scripts/todoist_api.py get-labels --limit 10 ``` Resolve names before writes: ```bash python3 scripts/todoist_api.py resolve-project --name "Inbox" python3 scripts/todoist_api.py resolve-section --project-name "Client Alpha" --name "Next Actions" python3 scripts/todoist_api.py resolve-label --name "waiting-on" ``` ## High-value agent workflows ### Quick add ```bash python3 scripts/todoist_api.py quick-add-task \ --text "Email Chris tomorrow at 09:00 #Work @follow-up p2" ``` ### Create-if-missing section ```bash python3 scripts/todoist_api.py ensure-section \ --project-name "Client Alpha" \ --name "Next Actions" ``` ### Preview a bulk close ```bash python3 scripts/todoist_api.py bulk-close-tasks \ --filter "overdue & @errands" \ --dry-run ``` ### Execute the same bulk close ```bash python3 scripts/todoist_api.py bulk-close-tasks \ --filter "overdue & @errands" \ --confirm ``` ### Move matching tasks into a resolved section ```bash python3 scripts/todoist_api.py bulk-move-tasks \ --filter "#Inbox & !recurring" \ --target-project-name "Work" \ --target-section-name "Next Actions" \ --dry-run ``` ### Report completed work ```bash python3 scripts/todoist_api.py report-completed \ --since "2026-03-01T00:00:00Z" \ --until "2026-03-31T23:59:59Z" \ --by completion \ --output reports/march-completed.json ``` ## Recommended operating pattern 1. **Resolve or list** the target object. 2. **Read current state** with a low-level getter. 3. **Preview** the write with `--dry-run`. 4. **Execute** with `--confirm` when needed. 5. **Verify** by re-reading or by running a report command. ## Feature index - **Command catalogue and endpoint coverage** → [references/REFERENCE.md](references/REFERENCE.md) - **Task-first recipes** → [references/RECIPES.md](references/RECIPES.md) - **Todoist-specific caveats** → [references/GOTCHAS.md](references/GOTCHAS.md) ## Escape hatches Use `raw` when the public CLI surface does not yet wrap a needed endpoint: ```bash python3 scripts/todoist_api.py raw \ --method GET \ --path /projects/PROJECT_ID/full ``` Use `sync` when you need incremental sync or batched commands: ```bash python3 scripts/todoist_api.py sync \ --sync-token '*' \ --resource-types '["all"]' ```
GitHub에서 보기