| name | clawdo |
| version | 1.1.4 |
| author | LePetitPince <lepetitpince@proton.me> |
| homepage | https://github.com/LePetitPince/clawdo |
| description | Todo list and task management for AI agents. Add, track, and complete tasks with autonomy levels — agents propose work, humans approve. Works in heartbeats, cron, and conversations. Persistent SQLite CLI with structured JSON output. |
| tags | ["todo","task-queue","task-management","agent-tools","productivity","heartbeat","workflow","autonomous"] |
| keywords | ["todo list","task queue","todo","tasks","agent tasks","persistent tasks","heartbeat tasks","agent todo","task management","agent workflow","autonomous execution","agent collaboration"] |
| categories | ["productivity","agent-tools","workflow"] |
| metadata | {"openclaw":{"emoji":"🦞","requires":{"bins":["clawdo"]},"install":[{"id":"npm","kind":"npm","package":"clawdo","bins":["clawdo"],"label":"Install clawdo (npm global)"}]}} |
🦞 clawdo — The missing todo list for AI agents
Your agent has memory files, cron jobs, and chat. It has no todo list.
No way to say "do this when you get to it." Not "do this at 14:00 UTC." Not "do this right now in this conversation." Just... remember to do it. Track it. Pick it up when there's a gap.
That's clawdo.
Install
clawhub install clawdo
npm install -g clawdo
Requirements: Node.js ≥18
Quick Start
clawdo add "update dependencies" --urgency soon
clawdo inbox --format json
clawdo start a3f2
clawdo done a3f2 --json
add → inbox → start → done. Persistent state in SQLite. Every command has --json so agents parse structured output, not terminal art.
Where it fits
clawdo works everywhere agents work:
- Heartbeat loops — "anything in my queue? let me do it between checks"
- Cron jobs — "every hour, process one task"
- Conversations — "J mentioned fixing the auth module, let me capture that"
- Pipes and sub-agents — non-TTY safe, no interactive prompts
Heartbeat integration example
TASKS=$(clawdo inbox --format json)
AUTO=$(echo "$TASKS" | jq '.autoReady | length')
if [ "$AUTO" -gt 0 ]; then
TASK=$(clawdo next --auto --json | jq -r '.task.id')
clawdo start "$TASK" --json
clawdo done "" --json