{
  "schemaVersion": "1.0",
  "item": {
    "slug": "todoist-manager",
    "name": "Todoist Manager",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/andreisuslov/todoist-manager",
    "canonicalUrl": "https://clawhub.ai/andreisuslov/todoist-manager",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/todoist-manager",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=todoist-manager",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/todoist-manager"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/todoist-manager",
    "agentPageUrl": "https://openagent3.xyz/skills/todoist-manager/agent",
    "manifestUrl": "https://openagent3.xyz/skills/todoist-manager/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/todoist-manager/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Todoist CLI",
        "body": "Manage Todoist via the REST API v2."
      },
      {
        "title": "Setup",
        "body": "Get API token: Todoist → Settings → Integrations → Developer → API token\nSet environment variable:\nexport TODOIST_API_TOKEN=\"your_token_here\"\n\n\nMake CLI executable:\nchmod +x ~/clawd/skills/todoist/scripts/todoist"
      },
      {
        "title": "CLI Location",
        "body": "~/clawd/skills/todoist/scripts/todoist"
      },
      {
        "title": "Tasks",
        "body": "# List all tasks\ntodoist tasks\n\n# List with filter\ntodoist tasks --filter \"today\"\ntodoist tasks --filter \"overdue\"\ntodoist tasks --filter \"#Work\"\ntodoist tasks --project PROJECT_ID\n\n# Quick views\ntodoist today\ntodoist overdue\ntodoist upcoming\n\n# Get single task\ntodoist task TASK_ID\n\n# Add task\ntodoist add \"Buy groceries\"\ntodoist add \"Call mom\" --due tomorrow\ntodoist add \"Meeting prep\" --due \"today 3pm\" --priority 4\ntodoist add \"Review PR\" --project PROJECT_ID --labels \"work,urgent\"\ntodoist add \"Write docs\" --description \"Include examples\"\n\n# Update task\ntodoist update TASK_ID --content \"New title\"\ntodoist update TASK_ID --due \"next monday\"\ntodoist update TASK_ID --priority 3\n\n# Complete / reopen / delete\ntodoist complete TASK_ID\ntodoist reopen TASK_ID\ntodoist delete-task TASK_ID"
      },
      {
        "title": "Projects",
        "body": "# List projects\ntodoist projects\n\n# Get project\ntodoist project PROJECT_ID\n\n# Create project\ntodoist add-project \"Work\"\ntodoist add-project \"Personal\" --color blue --favorite\n\n# Update project\ntodoist update-project PROJECT_ID --name \"New Name\"\ntodoist update-project PROJECT_ID --color red\n\n# Delete project\ntodoist delete-project PROJECT_ID"
      },
      {
        "title": "Sections",
        "body": "# List sections\ntodoist sections\ntodoist sections PROJECT_ID\n\n# Create section\ntodoist add-section --name \"In Progress\" --project PROJECT_ID\n\n# Delete section\ntodoist delete-section SECTION_ID"
      },
      {
        "title": "Labels",
        "body": "# List labels\ntodoist labels\n\n# Create label\ntodoist add-label \"urgent\"\ntodoist add-label \"blocked\" --color red\n\n# Delete label\ntodoist delete-label LABEL_ID"
      },
      {
        "title": "Comments",
        "body": "# List comments\ntodoist comments --task TASK_ID\ntodoist comments --project PROJECT_ID\n\n# Add comment\ntodoist add-comment \"Need more info\" --task TASK_ID\n\n# Delete comment\ntodoist delete-comment COMMENT_ID"
      },
      {
        "title": "Filter Syntax",
        "body": "Todoist supports powerful filter queries:\n\nFilterDescriptiontodayDue todaytomorrowDue tomorrowoverduePast due7 daysDue in next 7 daysno dateNo due date#ProjectNameIn specific project@labelHas labelp1, p2, p3, p4Priority levelassigned to: meAssigned to youcreated: todayCreated today\n\nCombine with & (and) or | (or):\n\ntodoist tasks --filter \"today & #Work\"\ntodoist tasks --filter \"overdue | p1\""
      },
      {
        "title": "Due Date Strings",
        "body": "Natural language due dates:\n\ntoday, tomorrow, yesterday\nnext monday, next week\nin 3 days\nevery day, every weekday\nevery monday at 9am\nJan 15, 2026-01-20\ntoday at 3pm"
      },
      {
        "title": "Priority Levels",
        "body": "ValueMeaning1Normal (default)2Medium3High4Urgent"
      },
      {
        "title": "Output",
        "body": "All commands return JSON. Pipe to jq for formatting:\n\ntodoist tasks | jq '.[] | {id, content, due: .due.string}'\ntodoist today | jq -r '.[].content'"
      },
      {
        "title": "Notes",
        "body": "Requires curl and jq\nAll output is JSON for easy scripting\nTask IDs are numeric strings (e.g., \"8765432109\")\nProject IDs are also numeric strings"
      }
    ],
    "body": "Todoist CLI\n\nManage Todoist via the REST API v2.\n\nSetup\nGet API token: Todoist → Settings → Integrations → Developer → API token\nSet environment variable:\nexport TODOIST_API_TOKEN=\"your_token_here\"\n\nMake CLI executable:\nchmod +x ~/clawd/skills/todoist/scripts/todoist\n\nCLI Location\n~/clawd/skills/todoist/scripts/todoist\n\nQuick Reference\nTasks\n# List all tasks\ntodoist tasks\n\n# List with filter\ntodoist tasks --filter \"today\"\ntodoist tasks --filter \"overdue\"\ntodoist tasks --filter \"#Work\"\ntodoist tasks --project PROJECT_ID\n\n# Quick views\ntodoist today\ntodoist overdue\ntodoist upcoming\n\n# Get single task\ntodoist task TASK_ID\n\n# Add task\ntodoist add \"Buy groceries\"\ntodoist add \"Call mom\" --due tomorrow\ntodoist add \"Meeting prep\" --due \"today 3pm\" --priority 4\ntodoist add \"Review PR\" --project PROJECT_ID --labels \"work,urgent\"\ntodoist add \"Write docs\" --description \"Include examples\"\n\n# Update task\ntodoist update TASK_ID --content \"New title\"\ntodoist update TASK_ID --due \"next monday\"\ntodoist update TASK_ID --priority 3\n\n# Complete / reopen / delete\ntodoist complete TASK_ID\ntodoist reopen TASK_ID\ntodoist delete-task TASK_ID\n\nProjects\n# List projects\ntodoist projects\n\n# Get project\ntodoist project PROJECT_ID\n\n# Create project\ntodoist add-project \"Work\"\ntodoist add-project \"Personal\" --color blue --favorite\n\n# Update project\ntodoist update-project PROJECT_ID --name \"New Name\"\ntodoist update-project PROJECT_ID --color red\n\n# Delete project\ntodoist delete-project PROJECT_ID\n\nSections\n# List sections\ntodoist sections\ntodoist sections PROJECT_ID\n\n# Create section\ntodoist add-section --name \"In Progress\" --project PROJECT_ID\n\n# Delete section\ntodoist delete-section SECTION_ID\n\nLabels\n# List labels\ntodoist labels\n\n# Create label\ntodoist add-label \"urgent\"\ntodoist add-label \"blocked\" --color red\n\n# Delete label\ntodoist delete-label LABEL_ID\n\nComments\n# List comments\ntodoist comments --task TASK_ID\ntodoist comments --project PROJECT_ID\n\n# Add comment\ntodoist add-comment \"Need more info\" --task TASK_ID\n\n# Delete comment\ntodoist delete-comment COMMENT_ID\n\nFilter Syntax\n\nTodoist supports powerful filter queries:\n\nFilter\tDescription\ntoday\tDue today\ntomorrow\tDue tomorrow\noverdue\tPast due\n7 days\tDue in next 7 days\nno date\tNo due date\n#ProjectName\tIn specific project\n@label\tHas label\np1, p2, p3, p4\tPriority level\nassigned to: me\tAssigned to you\ncreated: today\tCreated today\n\nCombine with & (and) or | (or):\n\ntodoist tasks --filter \"today & #Work\"\ntodoist tasks --filter \"overdue | p1\"\n\nDue Date Strings\n\nNatural language due dates:\n\ntoday, tomorrow, yesterday\nnext monday, next week\nin 3 days\nevery day, every weekday\nevery monday at 9am\nJan 15, 2026-01-20\ntoday at 3pm\nPriority Levels\nValue\tMeaning\n1\tNormal (default)\n2\tMedium\n3\tHigh\n4\tUrgent\nOutput\n\nAll commands return JSON. Pipe to jq for formatting:\n\ntodoist tasks | jq '.[] | {id, content, due: .due.string}'\ntodoist today | jq -r '.[].content'\n\nNotes\nRequires curl and jq\nAll output is JSON for easy scripting\nTask IDs are numeric strings (e.g., \"8765432109\")\nProject IDs are also numeric strings"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/andreisuslov/todoist-manager",
    "publisherUrl": "https://clawhub.ai/andreisuslov/todoist-manager",
    "owner": "andreisuslov",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/todoist-manager",
    "downloadUrl": "https://openagent3.xyz/downloads/todoist-manager",
    "agentUrl": "https://openagent3.xyz/skills/todoist-manager/agent",
    "manifestUrl": "https://openagent3.xyz/skills/todoist-manager/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/todoist-manager/agent.md"
  }
}