{
  "schemaVersion": "1.0",
  "item": {
    "slug": "topydo",
    "name": "topydo",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/bastos/topydo",
    "canonicalUrl": "https://clawhub.ai/bastos/topydo",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/topydo",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=topydo",
    "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/topydo"
    },
    "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/topydo",
    "agentPageUrl": "https://openagent3.xyz/skills/topydo/agent",
    "manifestUrl": "https://openagent3.xyz/skills/topydo/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/topydo/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": "topydo - Todo.txt Task Manager",
        "body": "topydo is a powerful CLI for managing tasks in the todo.txt format. It supports dependencies, due dates, start dates, recurrence, priorities, projects, and contexts."
      },
      {
        "title": "Task Format Reference",
        "body": "(A) 2025-01-11 Task text +Project @Context due:2025-01-15 t:2025-01-10 rec:1w star:1\n│   │          │         │        │        │             │            │      │\n│   │          │         │        │        │             │            │      └─ Star marker\n│   │          │         │        │        │             │            └─ Recurrence\n│   │          │         │        │        │             └─ Start/threshold date\n│   │          │         │        │        └─ Due date\n│   │          │         │        └─ Context\n│   │          │         └─ Project\n│   │          └─ Task description\n│   └─ Creation date\n└─ Priority (A-Z)"
      },
      {
        "title": "Homebrew (macOS, preferred)",
        "body": "brew install topydo"
      },
      {
        "title": "pip (all platforms)",
        "body": "pip3 install topydo\n\nWith optional features:\n\npip3 install 'topydo[columns,prompt,ical]'"
      },
      {
        "title": "apt (Ubuntu/Debian)",
        "body": "sudo apt install python3-pip && pip3 install topydo"
      },
      {
        "title": "Configuration",
        "body": "Config file locations (in order of precedence):\n\ntopydo.conf or .topydo (current directory)\n~/.topydo or ~/.config/topydo/config\n/etc/topydo.conf\n\nExample ~/.topydo:\n\n[topydo]\nfilename = ~/todo.txt\narchive_filename = ~/done.txt\ncolors = 1\nidentifiers = text\n\n[add]\nauto_creation_date = 1\n\n[sort]\nsort_string = desc:importance,due,desc:priority\nignore_weekends = 1"
      },
      {
        "title": "Adding Tasks",
        "body": "Basic task:\n\ntopydo add \"Buy groceries\"\n\nWith priority (A is highest):\n\ntopydo add \"(A) Urgent task\"\n\nWith project and context:\n\ntopydo add \"Write report +ProjectX @office\"\n\nWith due date (absolute):\n\ntopydo add \"Submit proposal due:2025-01-15\"\n\nWith due date (relative):\n\ntopydo add \"Call mom due:tomorrow\"\n\nWith due date (weekday):\n\ntopydo add \"Weekly review due:fri\"\n\nWith start/threshold date:\n\ntopydo add \"Future task t:2025-02-01\"\n\nWith recurrence (weekly):\n\ntopydo add \"Water plants due:sat rec:1w\"\n\nWith strict recurrence (always on 1st of month):\n\ntopydo add \"Pay rent due:2025-02-01 rec:+1m\"\n\nWith dependency (must complete before task 1):\n\ntopydo add \"Write tests before:1\"\n\nAs subtask of task 1:\n\ntopydo add \"Review code partof:1\""
      },
      {
        "title": "Listing Tasks",
        "body": "List all relevant tasks:\n\ntopydo ls\n\nInclude hidden/blocked tasks:\n\ntopydo ls -x\n\nFilter by project:\n\ntopydo ls +ProjectX\n\nFilter by context:\n\ntopydo ls @office\n\nFilter by priority:\n\ntopydo ls \"(A)\"\n\nFilter by priority range:\n\ntopydo ls \"(>C)\"\n\nFilter tasks due today:\n\ntopydo ls due:today\n\nFilter overdue tasks:\n\ntopydo ls \"due:<today\"\n\nFilter tasks due by Friday:\n\ntopydo ls \"due:<=fri\"\n\nCombine multiple filters:\n\ntopydo ls +ProjectX @office due:today\n\nExclude context:\n\ntopydo ls -- -@waiting\n\nSort by priority:\n\ntopydo ls -s priority\n\nSort descending by due date, then priority:\n\ntopydo ls -s desc:due,priority\n\nGroup by project:\n\ntopydo ls -g project\n\nLimit to 5 results:\n\ntopydo ls -n 5\n\nCustom output format:\n\ntopydo ls -F \"%I %p %s %{due:}d\"\n\nOutput as JSON:\n\ntopydo ls -f json"
      },
      {
        "title": "Completing Tasks",
        "body": "Complete task by ID:\n\ntopydo do 1\n\nComplete multiple tasks:\n\ntopydo do 1 2 3\n\nComplete all tasks due today:\n\ntopydo do -e due:today\n\nComplete with custom date:\n\ntopydo do -d yesterday 1"
      },
      {
        "title": "Priority Management",
        "body": "Set priority A:\n\ntopydo pri 1 A\n\nSet priority for multiple tasks:\n\ntopydo pri 1 2 3 B\n\nRemove priority:\n\ntopydo depri 1"
      },
      {
        "title": "Tagging Tasks",
        "body": "Set due date:\n\ntopydo tag 1 due tomorrow\n\nStar a task:\n\ntopydo tag 1 star 1\n\nRemove a tag:\n\ntopydo tag 1 due\n\nSet custom tag with relative date:\n\ntopydo tag -r 1 review 2w"
      },
      {
        "title": "Modifying Tasks",
        "body": "Append text to task:\n\ntopydo append 1 \"additional notes\"\n\nAppend due date:\n\ntopydo append 1 due:friday\n\nEdit task in text editor:\n\ntopydo edit 1\n\nEdit all tasks in project:\n\ntopydo edit -e +ProjectX"
      },
      {
        "title": "Deleting Tasks",
        "body": "Delete by ID:\n\ntopydo del 1\n\nDelete multiple:\n\ntopydo del 1 2 3\n\nDelete by expression:\n\ntopydo del -e completed:today"
      },
      {
        "title": "Dependencies",
        "body": "Add dependency (task 2 depends on task 1):\n\ntopydo dep add 2 to 1\n\nTask 2 is part of task 1:\n\ntopydo dep add 2 partof 1\n\nList what depends on task 1:\n\ntopydo dep ls 1 to\n\nList what task 1 depends on:\n\ntopydo dep ls to 1\n\nRemove dependency:\n\ntopydo dep rm 2 to 1\n\nVisualize dependencies (requires graphviz):\n\ntopydo dep dot 1 | dot -Tpng -o deps.png"
      },
      {
        "title": "Postponing Tasks",
        "body": "Postpone by 1 week:\n\ntopydo postpone 1 1w\n\nPostpone by 3 days:\n\ntopydo postpone 1 3d\n\nPostpone including start date:\n\ntopydo postpone -s 1 1w"
      },
      {
        "title": "Other Commands",
        "body": "Sort the todo.txt file:\n\ntopydo sort\n\nRevert last command:\n\ntopydo revert\n\nShow revert history:\n\ntopydo revert ls\n\nList all projects:\n\ntopydo lsprj\n\nList all contexts:\n\ntopydo lscon\n\nArchive completed tasks:\n\ntopydo archive"
      },
      {
        "title": "Relative Dates",
        "body": "today, tomorrow, yesterday\nWeekdays: mon, tue, wed, thu, fri, sat, sun\nPeriods: 1d (days), 2w (weeks), 3m (months), 1y (years)\nBusiness days: 5b (excludes weekends)"
      },
      {
        "title": "Sort/Group Fields",
        "body": "priority, due, creation, completed\nimportance, importance-avg\nproject, context, text, length\n\nPrefix with desc: for descending. Example: desc:importance,due"
      },
      {
        "title": "Tips",
        "body": "Use a clean, human-readable format to present results to the user\nEnable stable text IDs: set identifiers = text in config\nStar important tasks: add star:1 tag\nHidden tags by default: id, p, ical\nImportance = priority + due date proximity + star status"
      }
    ],
    "body": "topydo - Todo.txt Task Manager\n\ntopydo is a powerful CLI for managing tasks in the todo.txt format. It supports dependencies, due dates, start dates, recurrence, priorities, projects, and contexts.\n\nTask Format Reference\n(A) 2025-01-11 Task text +Project @Context due:2025-01-15 t:2025-01-10 rec:1w star:1\n│   │          │         │        │        │             │            │      │\n│   │          │         │        │        │             │            │      └─ Star marker\n│   │          │         │        │        │             │            └─ Recurrence\n│   │          │         │        │        │             └─ Start/threshold date\n│   │          │         │        │        └─ Due date\n│   │          │         │        └─ Context\n│   │          │         └─ Project\n│   │          └─ Task description\n│   └─ Creation date\n└─ Priority (A-Z)\n\nInstallation\nHomebrew (macOS, preferred)\nbrew install topydo\n\npip (all platforms)\npip3 install topydo\n\n\nWith optional features:\n\npip3 install 'topydo[columns,prompt,ical]'\n\napt (Ubuntu/Debian)\nsudo apt install python3-pip && pip3 install topydo\n\nConfiguration\n\nConfig file locations (in order of precedence):\n\ntopydo.conf or .topydo (current directory)\n~/.topydo or ~/.config/topydo/config\n/etc/topydo.conf\n\nExample ~/.topydo:\n\n[topydo]\nfilename = ~/todo.txt\narchive_filename = ~/done.txt\ncolors = 1\nidentifiers = text\n\n[add]\nauto_creation_date = 1\n\n[sort]\nsort_string = desc:importance,due,desc:priority\nignore_weekends = 1\n\nAdding Tasks\n\nBasic task:\n\ntopydo add \"Buy groceries\"\n\n\nWith priority (A is highest):\n\ntopydo add \"(A) Urgent task\"\n\n\nWith project and context:\n\ntopydo add \"Write report +ProjectX @office\"\n\n\nWith due date (absolute):\n\ntopydo add \"Submit proposal due:2025-01-15\"\n\n\nWith due date (relative):\n\ntopydo add \"Call mom due:tomorrow\"\n\n\nWith due date (weekday):\n\ntopydo add \"Weekly review due:fri\"\n\n\nWith start/threshold date:\n\ntopydo add \"Future task t:2025-02-01\"\n\n\nWith recurrence (weekly):\n\ntopydo add \"Water plants due:sat rec:1w\"\n\n\nWith strict recurrence (always on 1st of month):\n\ntopydo add \"Pay rent due:2025-02-01 rec:+1m\"\n\n\nWith dependency (must complete before task 1):\n\ntopydo add \"Write tests before:1\"\n\n\nAs subtask of task 1:\n\ntopydo add \"Review code partof:1\"\n\nListing Tasks\n\nList all relevant tasks:\n\ntopydo ls\n\n\nInclude hidden/blocked tasks:\n\ntopydo ls -x\n\n\nFilter by project:\n\ntopydo ls +ProjectX\n\n\nFilter by context:\n\ntopydo ls @office\n\n\nFilter by priority:\n\ntopydo ls \"(A)\"\n\n\nFilter by priority range:\n\ntopydo ls \"(>C)\"\n\n\nFilter tasks due today:\n\ntopydo ls due:today\n\n\nFilter overdue tasks:\n\ntopydo ls \"due:<today\"\n\n\nFilter tasks due by Friday:\n\ntopydo ls \"due:<=fri\"\n\n\nCombine multiple filters:\n\ntopydo ls +ProjectX @office due:today\n\n\nExclude context:\n\ntopydo ls -- -@waiting\n\n\nSort by priority:\n\ntopydo ls -s priority\n\n\nSort descending by due date, then priority:\n\ntopydo ls -s desc:due,priority\n\n\nGroup by project:\n\ntopydo ls -g project\n\n\nLimit to 5 results:\n\ntopydo ls -n 5\n\n\nCustom output format:\n\ntopydo ls -F \"%I %p %s %{due:}d\"\n\n\nOutput as JSON:\n\ntopydo ls -f json\n\nCompleting Tasks\n\nComplete task by ID:\n\ntopydo do 1\n\n\nComplete multiple tasks:\n\ntopydo do 1 2 3\n\n\nComplete all tasks due today:\n\ntopydo do -e due:today\n\n\nComplete with custom date:\n\ntopydo do -d yesterday 1\n\nPriority Management\n\nSet priority A:\n\ntopydo pri 1 A\n\n\nSet priority for multiple tasks:\n\ntopydo pri 1 2 3 B\n\n\nRemove priority:\n\ntopydo depri 1\n\nTagging Tasks\n\nSet due date:\n\ntopydo tag 1 due tomorrow\n\n\nStar a task:\n\ntopydo tag 1 star 1\n\n\nRemove a tag:\n\ntopydo tag 1 due\n\n\nSet custom tag with relative date:\n\ntopydo tag -r 1 review 2w\n\nModifying Tasks\n\nAppend text to task:\n\ntopydo append 1 \"additional notes\"\n\n\nAppend due date:\n\ntopydo append 1 due:friday\n\n\nEdit task in text editor:\n\ntopydo edit 1\n\n\nEdit all tasks in project:\n\ntopydo edit -e +ProjectX\n\nDeleting Tasks\n\nDelete by ID:\n\ntopydo del 1\n\n\nDelete multiple:\n\ntopydo del 1 2 3\n\n\nDelete by expression:\n\ntopydo del -e completed:today\n\nDependencies\n\nAdd dependency (task 2 depends on task 1):\n\ntopydo dep add 2 to 1\n\n\nTask 2 is part of task 1:\n\ntopydo dep add 2 partof 1\n\n\nList what depends on task 1:\n\ntopydo dep ls 1 to\n\n\nList what task 1 depends on:\n\ntopydo dep ls to 1\n\n\nRemove dependency:\n\ntopydo dep rm 2 to 1\n\n\nVisualize dependencies (requires graphviz):\n\ntopydo dep dot 1 | dot -Tpng -o deps.png\n\nPostponing Tasks\n\nPostpone by 1 week:\n\ntopydo postpone 1 1w\n\n\nPostpone by 3 days:\n\ntopydo postpone 1 3d\n\n\nPostpone including start date:\n\ntopydo postpone -s 1 1w\n\nOther Commands\n\nSort the todo.txt file:\n\ntopydo sort\n\n\nRevert last command:\n\ntopydo revert\n\n\nShow revert history:\n\ntopydo revert ls\n\n\nList all projects:\n\ntopydo lsprj\n\n\nList all contexts:\n\ntopydo lscon\n\n\nArchive completed tasks:\n\ntopydo archive\n\nRelative Dates\ntoday, tomorrow, yesterday\nWeekdays: mon, tue, wed, thu, fri, sat, sun\nPeriods: 1d (days), 2w (weeks), 3m (months), 1y (years)\nBusiness days: 5b (excludes weekends)\nSort/Group Fields\npriority, due, creation, completed\nimportance, importance-avg\nproject, context, text, length\n\nPrefix with desc: for descending. Example: desc:importance,due\n\nTips\nUse a clean, human-readable format to present results to the user\nEnable stable text IDs: set identifiers = text in config\nStar important tasks: add star:1 tag\nHidden tags by default: id, p, ical\nImportance = priority + due date proximity + star status"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/bastos/topydo",
    "publisherUrl": "https://clawhub.ai/bastos/topydo",
    "owner": "bastos",
    "version": "1.0.5",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/topydo",
    "downloadUrl": "https://openagent3.xyz/downloads/topydo",
    "agentUrl": "https://openagent3.xyz/skills/topydo/agent",
    "manifestUrl": "https://openagent3.xyz/skills/topydo/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/topydo/agent.md"
  }
}