{
  "schemaVersion": "1.0",
  "item": {
    "slug": "todolist-md-clawdbot-copy",
    "name": "Todolist Md Clawdbot Copy",
    "source": "tencent",
    "type": "skill",
    "category": "内容创作",
    "sourceUrl": "https://clawhub.ai/NitsujY/todolist-md-clawdbot-copy",
    "canonicalUrl": "https://clawhub.ai/NitsujY/todolist-md-clawdbot-copy",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/todolist-md-clawdbot-copy",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=todolist-md-clawdbot-copy",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "_meta.json",
      "scripts/todolist_agent_entrypoint.mjs",
      "scripts/todolist_drive_folder_agent.mjs",
      "scripts/todolist_review_drive.py"
    ],
    "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-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-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/todolist-md-clawdbot-copy"
    },
    "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/todolist-md-clawdbot-copy",
    "agentPageUrl": "https://openagent3.xyz/skills/todolist-md-clawdbot-copy/agent",
    "manifestUrl": "https://openagent3.xyz/skills/todolist-md-clawdbot-copy/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/todolist-md-clawdbot-copy/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": "todolist-md-clawdbot",
        "body": "Operate on todolist-md: a Markdown-first todo viewer/editor. The app does not contain an AI; the bot reads/writes Markdown."
      },
      {
        "title": "Operating rules (must follow)",
        "body": "Markdown is the system of record.\n\nIt’s fine to discuss in chat, but final answers/decisions must be written into Markdown.\n\nUse only bot markers of this form.\n\n<!-- bot: ... -->\nDo not introduce other syntaxes (no Question[id=...], no custom metadata blocks).\n\nPreserve task identity.\n\ntodolist-md derives task IDs from Markdown line positions.\nSome storage backends also have a stable identity key (e.g. Drive fileId, local path, S3 bucket+key).\nDo not “replace” a file in a way that changes its identity key unless the user explicitly accepts it.\n\nKeep write-back edits line-stable.\n\nAvoid adding/removing lines inside an existing task item or its description blockquote.\nPrefer single-line, in-place edits (edit text on an existing line).\n\nLast review stamp (Option B: top-of-file header line)\n\nGoal: a single line near the top recording last bot review time.\nRule: never insert a new line once the header exists. Only update the existing header line.\nIf the header does not exist, you may insert it at the very top only if the user explicitly opted into Option B.\nCanonical format:\n\n<!-- bot: last_review --> 2026-02-04T15:39Z root=<rootFolderId> model=<model>\n\nNever complete tasks without explicit user confirmation."
      },
      {
        "title": "Markdown conventions (what todolist-md expects)",
        "body": "Tasks use GFM checkboxes: - [ ] and - [x]\nOptional tags: #tag\nOptional due date: due:YYYY-MM-DD\nOptional description: a blockquote directly under the task"
      },
      {
        "title": "Storage Q/A (first run)",
        "body": "Ask once, then persist the answers (in memory/config) for future runs.\n\nQ: storageKind?\n\nA: google-drive | local-folder | s3 | other\n\n\nQ: What is the stable identity key for files?\n\nDrive: fileId\nLocal: path\nS3: bucket+key\n\n\nQ: Where is the root?\n\nDrive: rootFolderId\nLocal: root directory path\nS3: bucket + optional prefix"
      },
      {
        "title": "Chrome app integration: enable/disable per-file",
        "body": "When a Drive folder contains many .md files, not all of them should necessarily be AI-reviewed.\n\nRecommendation (simple + app-controlled):\n\nThe Chrome app should write a small per-file config key/marker so the agent can know whether a file is opted-in.\n\nTwo easy options:"
      },
      {
        "title": "Option 1: a dedicated Drive config file (preferred)",
        "body": "Create a config file in the same folder:\n\n.todolist-md.config.json\n\nExample:\n\n{\n  \"ai\": {\n    \"enabled\": true,\n    \"include\": [\"*.md\"],\n    \"exclude\": [\"todoapp.md\"],\n    \"botSuggestedSectionTitle\": \"Tasks (bot-suggested)\"\n  }\n}\n\nThe agent should:\n\nDownload .todolist-md.config.json when it changes.\nOnly review files that match include/exclude rules."
      },
      {
        "title": "Option 2: an in-file marker (works without JSON)",
        "body": "Add a single line near the top of the markdown file:\n\n<!-- bot: ai_enabled --> true\n\nThe agent should only review files containing that marker."
      },
      {
        "title": "Review cadence + stamping (save credits)",
        "body": "Do not call an LLM unless a file changed. Use code-first change detection."
      },
      {
        "title": "Step 0: Detect changes (code-first)",
        "body": "For each .md under root, compare modifiedTime/size (or etag when available) against a local state file.\nIf unchanged since last scan: skip (no download, no LLM)."
      },
      {
        "title": "Step 1: Review only changed files",
        "body": "Only for changed files:\n\nDownload the file\nExtract open tasks (- [ ]) and relevant context\n(Optional) call the LLM on the extracted subset, not the full document"
      },
      {
        "title": "Step 2: Write-back only if content changed",
        "body": "Before writing back, compute a hash; if no changes, do not write."
      },
      {
        "title": "Step 3: Stamp last review (Option B)",
        "body": "For each reviewed file, update (not append) the top-of-file header line:\n\n<!-- bot: last_review --> <ISO_UTC> root=<rootFolderId> model=<model>"
      },
      {
        "title": "Reference script (Google Drive + gog)",
        "body": "If you use Google Drive as storage, gog CLI flags matter. In gog v0.9.0+:\n\nlist folder: gog drive ls --parent <folderId> --json\ndownload: gog drive download <fileId> --out <path>\nrun gog as ubuntu and download to /tmp (because /root is typically 700)\n\nIncluded helper scripts:\n\nskills/todolist-md-clawdbot/scripts/todolist_drive_folder_agent.mjs\n\nsingle script for everything (Drive folder runner): lists all .md under a folder, detects changes via state file, downloads only changed files, and writes back a <!-- bot: suggested --> block under a dedicated section title.\nuses Drive API files.update to overwrite-update the same fileId (no duplicates).\nincludes a revision gate (headRevisionId) to avoid overwriting while you edit in Chrome.\nManaged OAuth mode (recommended): stores its own refresh token file; first run prints an auth URL, you approve in browser, then rerun with --authCode <CODE>.\nminimum-token design: does not call LLM unless a file changed, and should send only extracted open tasks (not full file).\n\n\n\nskills/todolist-md-clawdbot/scripts/todolist_agent_entrypoint.mjs\n\nsingle-file helper (useful for debugging): download by fileId + overwrite-update\n\nExample:\n\n- [ ] Update README for bot workflow #docs due:2026-02-05\n  > Include quick start and a worked example"
      },
      {
        "title": "Bot markers (allowed)",
        "body": "<!-- bot: suggested --> for bot-suggested sections\n<!-- bot: question --> for in-file Q/A\n<!-- bot: digest --> for summaries/digests\n<!-- bot: note --> for short audit notes (optional)"
      },
      {
        "title": "LLM handoff (prepare/apply) — minimum-token workflow",
        "body": "When you want LLM help but must keep Drive as the source of truth (and keep costs low), use the two-stage flow:"
      },
      {
        "title": "Stage 1: prepare",
        "body": "Goal: generate a compact JSON request for the OpenClaw agent runtime (LLM), without calling any LLM from the Node script.\n\nWhat happens:\n\nList folder files (cheap; no downloads)\nCompare each file's modifiedTime/size against a local state file\nDownload only changed .md\nExtract only open tasks (- [ ] ..., max N lines)\nWrite llm_request.json\n\nCommand example (single file):\n\nnode skills/todolist-md-clawdbot/scripts/todolist_drive_folder_agent.mjs \\\n  --folderId <rootFolderId> \\\n  --onlyName vyond.md \\\n  --mode prepare \\\n  --requestOut outputs/todolist-md/vyond_llm_request.json"
      },
      {
        "title": "Stage 2: apply",
        "body": "Goal: take a suggestions JSON (produced by the agent runtime) and write it back only to a dedicated bot section.\n\nRules:\n\nUpdate only under:\n\n## Tasks (bot-suggested)\n<!-- bot: suggested -->\n\n\nNever mark tasks complete.\nUse Drive API overwrite update by fileId (no duplicates).\nUse a revision gate (headRevisionId) to avoid overwriting while you edit in Chrome.\n\nSuggestions JSON shape:\n\n{\n  \"schema\": \"todolist-md.llm_suggestions.v1\",\n  \"items\": [\n    {\n      \"fileId\": \"...\",\n      \"name\": \"vyond.md\",\n      \"suggested_markdown\": \"- [ ] ...\\n  > <!-- bot: note --> ...\"\n    }\n  ]\n}\n\nCommand example:\n\nnode skills/todolist-md-clawdbot/scripts/todolist_drive_folder_agent.mjs \\\n  --folderId <rootFolderId> \\\n  --mode apply \\\n  --suggestionsIn outputs/todolist-md/vyond_llm_suggestions.json"
      },
      {
        "title": "Why this saves tokens",
        "body": "Example: if a folder has 50 Markdown files, but only 1 changed:\n\nLLM is called only for that 1 file.\nThe prompt includes only extracted open tasks (- [ ] ...), not the entire Markdown."
      },
      {
        "title": "Bot-suggested tasks",
        "body": "Put bot-generated tasks under a dedicated section so humans can review before adopting.\n\n## Tasks (bot-suggested)\n\n<!-- bot: suggested -->\n- [ ] Add a “Bot Log” section"
      },
      {
        "title": "In-file Q/A (detail blockquote, line-stable)",
        "body": "Ask a question using the detail blockquote line under the task:\n\n- [ ] Deploy v2.0 to production #backend\n  > <!-- bot: question --> Which CI job is failing? Options: unit / integration / e2e\n\nAnswer by adding an inline answer on the same line to keep line-stable:\n\n- [ ] Deploy v2.0 to production #backend\n  > <!-- bot: question --> Which CI job is failing? Options: unit / integration / e2e Answer: integration\n\nRules:\n\nPrefer one active Q/A per task at a time.\nKeep the Q/A inside the blockquote detail area.\nDo not start multi-line threads beyond the single question and optional answer line."
      },
      {
        "title": "Archive Q/A to Bot Log (preferred once answered)",
        "body": "If you want to keep tasks clean while preserving history:\n\nAppend an entry to ## Bot Log.\nReplace the original Q/A line in-place with a short placeholder:\n\n> <!-- bot: question --> (archived to Bot Log)"
      },
      {
        "title": "Bot Log (append-only)",
        "body": "Create (if missing):\n\n## Bot Log\n\nAppend entries like:\n\n- 2026-02-01 Task: Deploy v2.0 to production\n  Q: Which CI job is failing?\n  A: integration"
      },
      {
        "title": "Summaries",
        "body": "Summarize in chat for fast feedback.\nOptionally write a digest into Markdown as a single comment line:\n\n<!-- bot: digest --> Top 3 next actions: 1) … 2) … 3) …"
      },
      {
        "title": "Worked example (end-to-end)",
        "body": "Start state:\n\n## Work\n\n- [ ] Deploy v2.0 to production #backend due:2026-02-05\n  > Runbook: docs/deploy.md\n\n## Tasks (bot-suggested)\n<!-- bot: suggested -->\n- [ ] (suggested) Add a “Bot Log” section\n\nBot asks a clarifying question (in-file):\n\n- [ ] Deploy v2.0 to production #backend due:2026-02-05\n  > Runbook: docs/deploy.md\n  > <!-- bot: question --> Which CI job is failing? Options: unit / integration / e2e\n\nUser answers by editing the same line (line-stable):\n\n> <!-- bot: question --> Which CI job is failing? Options: unit / integration / e2e Answer: integration\n\nAfter the bot consumes the answer, archive it (preferred):\n\n> <!-- bot: question --> (archived to Bot Log)\n\n## Bot Log\n- 2026-02-04 Task: Deploy v2.0 to production | Q: Which CI job is failing? | A: integration"
      },
      {
        "title": "Integration notes (minimal)",
        "body": "Always mark bot-written content with <!-- bot: ... -->.\nNever delete/add lines inside an existing task item or description block.\nNever mark tasks complete unless the user explicitly confirms."
      }
    ],
    "body": "todolist-md-clawdbot\n\nOperate on todolist-md: a Markdown-first todo viewer/editor. The app does not contain an AI; the bot reads/writes Markdown.\n\nOperating rules (must follow)\nMarkdown is the system of record.\nIt’s fine to discuss in chat, but final answers/decisions must be written into Markdown.\nUse only bot markers of this form.\n<!-- bot: ... -->\nDo not introduce other syntaxes (no Question[id=...], no custom metadata blocks).\nPreserve task identity.\ntodolist-md derives task IDs from Markdown line positions.\nSome storage backends also have a stable identity key (e.g. Drive fileId, local path, S3 bucket+key).\nDo not “replace” a file in a way that changes its identity key unless the user explicitly accepts it.\nKeep write-back edits line-stable.\nAvoid adding/removing lines inside an existing task item or its description blockquote.\nPrefer single-line, in-place edits (edit text on an existing line).\nLast review stamp (Option B: top-of-file header line)\nGoal: a single line near the top recording last bot review time.\nRule: never insert a new line once the header exists. Only update the existing header line.\nIf the header does not exist, you may insert it at the very top only if the user explicitly opted into Option B.\nCanonical format:\n<!-- bot: last_review --> 2026-02-04T15:39Z root=<rootFolderId> model=<model>\nNever complete tasks without explicit user confirmation.\nMarkdown conventions (what todolist-md expects)\nTasks use GFM checkboxes: - [ ] and - [x]\nOptional tags: #tag\nOptional due date: due:YYYY-MM-DD\nOptional description: a blockquote directly under the task\nStorage Q/A (first run)\n\nAsk once, then persist the answers (in memory/config) for future runs.\n\nQ: storageKind?\nA: google-drive | local-folder | s3 | other\nQ: What is the stable identity key for files?\nDrive: fileId\nLocal: path\nS3: bucket+key\nQ: Where is the root?\nDrive: rootFolderId\nLocal: root directory path\nS3: bucket + optional prefix\nChrome app integration: enable/disable per-file\n\nWhen a Drive folder contains many .md files, not all of them should necessarily be AI-reviewed.\n\nRecommendation (simple + app-controlled):\n\nThe Chrome app should write a small per-file config key/marker so the agent can know whether a file is opted-in.\n\nTwo easy options:\n\nOption 1: a dedicated Drive config file (preferred)\n\nCreate a config file in the same folder:\n\n.todolist-md.config.json\n\nExample:\n\n{\n  \"ai\": {\n    \"enabled\": true,\n    \"include\": [\"*.md\"],\n    \"exclude\": [\"todoapp.md\"],\n    \"botSuggestedSectionTitle\": \"Tasks (bot-suggested)\"\n  }\n}\n\n\nThe agent should:\n\nDownload .todolist-md.config.json when it changes.\nOnly review files that match include/exclude rules.\nOption 2: an in-file marker (works without JSON)\n\nAdd a single line near the top of the markdown file:\n\n<!-- bot: ai_enabled --> true\n\nThe agent should only review files containing that marker.\n\nReview cadence + stamping (save credits)\n\nDo not call an LLM unless a file changed. Use code-first change detection.\n\nStep 0: Detect changes (code-first)\nFor each .md under root, compare modifiedTime/size (or etag when available) against a local state file.\nIf unchanged since last scan: skip (no download, no LLM).\nStep 1: Review only changed files\nOnly for changed files:\nDownload the file\nExtract open tasks (- [ ]) and relevant context\n(Optional) call the LLM on the extracted subset, not the full document\nStep 2: Write-back only if content changed\nBefore writing back, compute a hash; if no changes, do not write.\nStep 3: Stamp last review (Option B)\nFor each reviewed file, update (not append) the top-of-file header line:\n<!-- bot: last_review --> <ISO_UTC> root=<rootFolderId> model=<model>\nReference script (Google Drive + gog)\n\nIf you use Google Drive as storage, gog CLI flags matter. In gog v0.9.0+:\n\nlist folder: gog drive ls --parent <folderId> --json\ndownload: gog drive download <fileId> --out <path>\nrun gog as ubuntu and download to /tmp (because /root is typically 700)\n\nIncluded helper scripts:\n\nskills/todolist-md-clawdbot/scripts/todolist_drive_folder_agent.mjs\n\nsingle script for everything (Drive folder runner): lists all .md under a folder, detects changes via state file, downloads only changed files, and writes back a <!-- bot: suggested --> block under a dedicated section title.\nuses Drive API files.update to overwrite-update the same fileId (no duplicates).\nincludes a revision gate (headRevisionId) to avoid overwriting while you edit in Chrome.\nManaged OAuth mode (recommended): stores its own refresh token file; first run prints an auth URL, you approve in browser, then rerun with --authCode <CODE>.\nminimum-token design: does not call LLM unless a file changed, and should send only extracted open tasks (not full file).\n\nskills/todolist-md-clawdbot/scripts/todolist_agent_entrypoint.mjs\n\nsingle-file helper (useful for debugging): download by fileId + overwrite-update\n\nExample:\n\n- [ ] Update README for bot workflow #docs due:2026-02-05\n  > Include quick start and a worked example\n\nBot markers (allowed)\n<!-- bot: suggested --> for bot-suggested sections\n<!-- bot: question --> for in-file Q/A\n<!-- bot: digest --> for summaries/digests\n<!-- bot: note --> for short audit notes (optional)\nLLM handoff (prepare/apply) — minimum-token workflow\n\nWhen you want LLM help but must keep Drive as the source of truth (and keep costs low), use the two-stage flow:\n\nStage 1: prepare\n\nGoal: generate a compact JSON request for the OpenClaw agent runtime (LLM), without calling any LLM from the Node script.\n\nWhat happens:\n\nList folder files (cheap; no downloads)\nCompare each file's modifiedTime/size against a local state file\nDownload only changed .md\nExtract only open tasks (- [ ] ..., max N lines)\nWrite llm_request.json\n\nCommand example (single file):\n\nnode skills/todolist-md-clawdbot/scripts/todolist_drive_folder_agent.mjs \\\n  --folderId <rootFolderId> \\\n  --onlyName vyond.md \\\n  --mode prepare \\\n  --requestOut outputs/todolist-md/vyond_llm_request.json\n\nStage 2: apply\n\nGoal: take a suggestions JSON (produced by the agent runtime) and write it back only to a dedicated bot section.\n\nRules:\n\nUpdate only under:\n## Tasks (bot-suggested)\n<!-- bot: suggested -->\nNever mark tasks complete.\nUse Drive API overwrite update by fileId (no duplicates).\nUse a revision gate (headRevisionId) to avoid overwriting while you edit in Chrome.\n\nSuggestions JSON shape:\n\n{\n  \"schema\": \"todolist-md.llm_suggestions.v1\",\n  \"items\": [\n    {\n      \"fileId\": \"...\",\n      \"name\": \"vyond.md\",\n      \"suggested_markdown\": \"- [ ] ...\\n  > <!-- bot: note --> ...\"\n    }\n  ]\n}\n\n\nCommand example:\n\nnode skills/todolist-md-clawdbot/scripts/todolist_drive_folder_agent.mjs \\\n  --folderId <rootFolderId> \\\n  --mode apply \\\n  --suggestionsIn outputs/todolist-md/vyond_llm_suggestions.json\n\nWhy this saves tokens\n\nExample: if a folder has 50 Markdown files, but only 1 changed:\n\nLLM is called only for that 1 file.\nThe prompt includes only extracted open tasks (- [ ] ...), not the entire Markdown.\nWrite-back patterns\nBot-suggested tasks\n\nPut bot-generated tasks under a dedicated section so humans can review before adopting.\n\n## Tasks (bot-suggested)\n\n<!-- bot: suggested -->\n- [ ] Add a “Bot Log” section\n\nIn-file Q/A (detail blockquote, line-stable)\n\nAsk a question using the detail blockquote line under the task:\n\n- [ ] Deploy v2.0 to production #backend\n  > <!-- bot: question --> Which CI job is failing? Options: unit / integration / e2e\n\n\nAnswer by adding an inline answer on the same line to keep line-stable:\n\n- [ ] Deploy v2.0 to production #backend\n  > <!-- bot: question --> Which CI job is failing? Options: unit / integration / e2e Answer: integration\n\n\nRules:\n\nPrefer one active Q/A per task at a time.\nKeep the Q/A inside the blockquote detail area.\nDo not start multi-line threads beyond the single question and optional answer line.\nArchive Q/A to Bot Log (preferred once answered)\n\nIf you want to keep tasks clean while preserving history:\n\nAppend an entry to ## Bot Log.\nReplace the original Q/A line in-place with a short placeholder:\n  > <!-- bot: question --> (archived to Bot Log)\n\nBot Log (append-only)\n\nCreate (if missing):\n\n## Bot Log\n\n\nAppend entries like:\n\n- 2026-02-01 Task: Deploy v2.0 to production\n  Q: Which CI job is failing?\n  A: integration\n\nSummaries\nSummarize in chat for fast feedback.\nOptionally write a digest into Markdown as a single comment line:\n<!-- bot: digest --> Top 3 next actions: 1) … 2) … 3) …\n\nWorked example (end-to-end)\n\nStart state:\n\n## Work\n\n- [ ] Deploy v2.0 to production #backend due:2026-02-05\n  > Runbook: docs/deploy.md\n\n## Tasks (bot-suggested)\n<!-- bot: suggested -->\n- [ ] (suggested) Add a “Bot Log” section\n\n\nBot asks a clarifying question (in-file):\n\n- [ ] Deploy v2.0 to production #backend due:2026-02-05\n  > Runbook: docs/deploy.md\n  > <!-- bot: question --> Which CI job is failing? Options: unit / integration / e2e\n\n\nUser answers by editing the same line (line-stable):\n\n  > <!-- bot: question --> Which CI job is failing? Options: unit / integration / e2e Answer: integration\n\n\nAfter the bot consumes the answer, archive it (preferred):\n\n  > <!-- bot: question --> (archived to Bot Log)\n\n## Bot Log\n- 2026-02-04 Task: Deploy v2.0 to production | Q: Which CI job is failing? | A: integration\n\nIntegration notes (minimal)\nAlways mark bot-written content with <!-- bot: ... -->.\nNever delete/add lines inside an existing task item or description block.\nNever mark tasks complete unless the user explicitly confirms."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/NitsujY/todolist-md-clawdbot-copy",
    "publisherUrl": "https://clawhub.ai/NitsujY/todolist-md-clawdbot-copy",
    "owner": "NitsujY",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/todolist-md-clawdbot-copy",
    "downloadUrl": "https://openagent3.xyz/downloads/todolist-md-clawdbot-copy",
    "agentUrl": "https://openagent3.xyz/skills/todolist-md-clawdbot-copy/agent",
    "manifestUrl": "https://openagent3.xyz/skills/todolist-md-clawdbot-copy/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/todolist-md-clawdbot-copy/agent.md"
  }
}