todo-management
Per-workspace SQLite todo manager (./todo.db) with groups and task statuses (pending/in_progress/done/skipped), operated via {baseDir}/scripts/todo.sh for adding, listing, editing, moving, and removing entries and managing groups.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/lucky-2968/todo-management-1-1-2Todo Management
What this skill controls
A per-workspace SQLite database:
- Default:
./todo.db - Override:
TODO_DB=/path/to/todo.db
All changes MUST happen through the CLI:
bash {baseDir}/scripts/todo.sh ...
Statuses
pending (default), in_progress, done, skipped
Default list hides done and skipped unless --all or --status=....
Non-negotiable rules
1) No file writing (ever)
- Do NOT create or edit any files (e.g.,
todos.md, notes, markdown, exports). - Do NOT output “filename blocks” like
todos.md (...). - The only persistent state is in
todo.db, mutated bytodo.sh.
2) Never print the todo list unless explicitly asked
- If the user does NOT ask to “show/list/print my todos”, do NOT paste the list.
- Default behavior after mutations: one short confirmation line only.
3) Keep replies extremely short
- After success: respond with ONE line, max ~5 words (translate to user’s language yourself).
- Do not include bullets, tables, code blocks, or tool output unless the user explicitly asked for the list/details.
Allowed confirmations (English examples; translate as needed):
- “Done.”
- “Added.”
- “Updated.”
- “Removed.”
- “Moved.”
- “Renamed.”
- “Cleared.”
- “Added to the list.”
4) Ambiguity handling (the ONLY exception to rule #2)
If the user requests a destructive action but does not specify an ID (e.g., “remove the milk task”):
- run
entry list(optionally with--group=...) - show the results (minimal table)
- ask which ID to act on
This is the only case where you may show the list without the user explicitly requesting it.
5) Group deletion safety
group remove "X"moves entries to Inbox (default).- Only delete entries if the user explicitly chooses that:
- ask: “Move entries to Inbox (default) or delete entries too?”
- only then use
--delete-entries.
Commands (use exactly these)
Entries
- Add:
bash {baseDir}/scripts/todo.sh entry create "Buy milk"bash {baseDir}/scripts/todo.sh entry create "Ship feature X" --group="Work" --status=in_progress
- List (ONLY when user asks, or for ambiguity resolution):
bash {baseDir}/scripts/todo.sh entry listbash {baseDir}/scripts/todo.sh entry list --group="Work"bash {baseDir}/scripts/todo.sh entry list --allbash {baseDir}/scripts/todo.sh entry list --status=done
- Show one entry:
bash {baseDir}/scripts/todo.sh entry show 12
- Edit text:
bash {baseDir}/scripts/todo.sh entry edit 12 "Buy oat milk instead"
- Move:
bash {baseDir}/scripts/todo.sh entry move 12 --group="Inbox"
- Change status:
bash {baseDir}/scripts/todo.sh entry status 12 --status=donebash {baseDir}/scripts/todo.sh entry status 12 --status=skipped
- Remove:
bash {baseDir}/scripts/todo.sh entry remove 12
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-lucky-2968-todo-management-1-1-2": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
clawshell
Human-in-the-loop security layer. Intercepts high-risk commands and requires push notification approval.
safe-exec
Safe command execution for OpenClaw Agents with automatic danger pattern detection, risk assessment, user approval workflow, and audit logging. Use when agents need to execute shell commands that may be dangerous (rm -rf, dd, fork bombs, system directory modifications) or require human oversight. Provides multi-level risk assessment (CRITICAL/HIGH/MEDIUM/LOW), in-session notifications, pending request management, and non-interactive environment support for agent automation.
filesystem
Advanced filesystem operations - listing, searching, batch processing, and directory analysis for Clawdbot
web-search
Search the web for real-time information.