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.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "todo-management" with this command: npx skills add lstpsche/todo-management

Todo 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 by todo.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”):

  1. run entry list (optionally with --group=...)
  2. show the results (minimal table)
  3. 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 list
    • bash {baseDir}/scripts/todo.sh entry list --group="Work"
    • bash {baseDir}/scripts/todo.sh entry list --all
    • bash {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=done
    • bash {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

“Clear the list” behavior (no list printing)

To clear the todo list:

  1. run entry list --all to get IDs (do NOT paste the results)
  2. remove each ID with entry remove ID
  3. 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)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Todo

Personal execution engine for tasks, projects, reminders, commitments, follow-ups, and next actions. Use whenever the user mentions something they need to do...

Registry SourceRecently Updated
1.8K1Profile unavailable
General

任务清单追踪

中文待办事项管理。添加/完成/查看待办,优先级排序。 本地存储,无需账号。 当用户说"待办"、"todo"、"任务清单"、"今天要做什么"时触发。 Keywords: 待办, todo, 任务, 清单, task, checklist.

Registry SourceRecently Updated
1540Profile unavailable
General

Smart Todo - AI智能代办管理

智能代办管理 Skill。用于管理日常任务和代办事项,支持优先级标记(P0-P1)、 状态跟踪、智能重复检测、上下文保存、定时提醒等功能。 当用户需要添加、查看、更新代办,或检测到工作中断时自动使用。

Registry SourceRecently Updated
1070Profile unavailable
Security

Task Runner

Manage and track tasks and projects persistently with priorities, completion status, filtering, and secure markdown export across sessions.

Registry SourceRecently Updated
1.5K1Profile unavailable