commit 32f879439cd3115f99fe1ee9d0e90161702f2ecd Author: zlei9 Date: Sun Mar 29 13:06:41 2026 +0800 Initial commit with translated description diff --git a/SKILL.md b/SKILL.md new file mode 100644 index 0000000..01a9e8d --- /dev/null +++ b/SKILL.md @@ -0,0 +1,139 @@ +--- +name: todoist +description: "在Todoist中管理任务和项目。" +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 + # 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 # View task details +todoist done # Complete task +todoist reopen # Reopen completed task +todoist update --due "next week" +todoist move -p "Personal" +todoist delete +``` + +### 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 +todoist comment "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 +``` + +**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 ` (1-based) or `--order top` to insert a task at a specific position within a project/section diff --git a/_meta.json b/_meta.json new file mode 100644 index 0000000..c8a1a40 --- /dev/null +++ b/_meta.json @@ -0,0 +1,6 @@ +{ + "ownerId": "kn7anzx6csc68n109d0e49a2tx7yvdrm", + "slug": "todoist", + "version": "0.2.1", + "publishedAt": 1769577779661 +} \ No newline at end of file