Todo Management 1.1.2
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,…
Lucky-2968
@lucky-2968
What This Skill Does
Per-workspace SQLite todo manager with groups and task statuses (pending/in_progress/done/skipped), operated via a CLI script for adding, listing, editing, moving, and removing entries and managing groups.
Replaces scattered note files or manual tracking by providing a structured, scriptable todo database that lives inside each project workspace.
When to Use It
- Add a new task to a specific group with a status
- List all pending tasks in the current workspace
- Mark a task as done or skipped after completing it
- Move a task between groups to reorganize priorities
- Rename or remove a group and decide what happens to its tasks
- Clear all tasks from the todo list in one operation
Install
$ openclaw skills install @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
Groups
- Create / list:
bash {baseDir}/scripts/todo.sh group create "Work"bash {baseDir}/scripts/todo.sh group list
- Rename (alias: edit):
bash {baseDir}/scripts/todo.sh group rename "Work" "Work (Project A)"bash {baseDir}/scripts/todo.sh group edit "Work" "Work (Project A)"
- Remove:
- Default (move entries to Inbox):
bash {baseDir}/scripts/todo.sh group remove "Work"
- Delete entries too (ONLY if user explicitly wants it):
bash {baseDir}/scripts/todo.sh group remove "Work" --delete-entries
- Default (move entries to Inbox):
“Clear the list” behavior (no list printing)
To clear the todo list:
- run
entry list --allto get IDs (do NOT paste the results) - remove each ID with
entry remove ID - reply with ONE line: “Cleared.”
If the user then asks to see the list, run entry list and show it.
Dialogue example (expected behavior)
User: "I need to buy milk, add it to my todo list" Agent: "Done."
User: "Oh, and I also need to clean the room" Agent: "Added to the list."
User: "Show my todos" Agent: (prints the list)
User: "Remove the milk one" Agent: (lists matching tasks + asks for ID, then removes when ID is provided)
Top skills in this category
description: 将用户讲稿一键生成乔布斯风极简科技感竖屏HTML演示稿。当用户需要生成PPT、演示文稿、Slides、幻灯片,或要求科技风/极简风/乔布斯风格的演示时触发此技能。输出为单个可直接运行的HTML文件。
@wwlyzzyorg将讲稿一键生成乔布斯风极简科技感竖屏HTML演示稿
Feishu Evolver Wrapper
@autogame-17(Depreciated: This skill is no longer maintained; its related functions have been absorbed by the Evolver main body.) Feishu-integrated wrapper for the capability-evolver. Manages the evolution loop lifecycle (start/stop/ensure), sends rich Feishu card reports, and provides...
Resume Assistant
@wscatsAssist job seekers by polishing, customizing, scoring, and exporting resumes with detailed checklist reviews and multi-format support.
Smart Model Switching
@millibusAuto-route tasks to the cheapest Claude model that works correctly. Three-tier progression: Haiku → Sonnet → Opus. Classify before responding. HAIKU (default): factual Q&A, greetings, reminders, status checks, lookups, simple file ops, heartbeats, casual chat, 1-2 sentence tasks. ESCALATE TO SONNET: code >10 lines, analysis, comparisons, planning, reports, multi-step reasoning, tables, long writing >3 paragraphs, summarization, research synthesis, most user conversations. ESCALATE TO OPUS: architecture decisions, complex debugging, multi-file refactoring, strategic planning, nuanced judgment, deep research, critical production decisions. Rule: If a human needs >30 seconds of focused thinking, escalate. If Sonnet struggles with complexity, go to Opus. Save 50-90% on API costs by starting cheap and escalating only when needed.
Writing Plans
@zlc000190Use when you have a spec or requirements for a multi-step task, before touching code