Files
librefang-registry/plugins/todo-tracker
Evan Hu 5e4fc2ccf3 chore(plugins): add [integrity] SHA-256 hashes for all hook scripts
The daemon's `manifest_missing_integrity_hooks` check (#3804) hard-fails
any registry install whose plugin.toml declares hooks but lacks an
[integrity] entry for each one. All 11 plugins under plugins/ had the
[hooks] table but were missing [integrity], so `librefang plugin install
<name>` would error after download with "missing [integrity] hashes for
hook script(s): ...".

Compute and pin SHA-256 over each `hooks/*.py` under every plugin dir.
The mempalace-indexer entries were already present and are unchanged
(reordered alphabetically by the regenerator).

Verified each plugin.toml still parses (Python tomllib).
2026-05-05 00:29:39 +09:00
..
2026-03-21 02:51:58 +09:00

todo-tracker

Detects action items and tasks mentioned in conversations, persists them, and recalls them as context. Helps agents keep track of what needs to be done without the user having to repeat themselves.

How it works

Task detection

After each conversation turn, the plugin scans all messages (both user and assistant) for task patterns:

  • TODO: ... or todo: ...
  • remind me to ...
  • don't forget to ...
  • action item: ...
  • need to ...
  • I should ... or we should ...
  • - [ ] ... (markdown checkbox)

Completion detection

The plugin also detects when tasks are marked as done:

  • done with ...
  • completed ...
  • finished ...
  • Completion markers near task text (checkmark emoji, [x])

Deduplication

New tasks are deduplicated against existing ones using normalized lowercase comparison and substring matching, so "Fix the login bug" and "fix the login bug" are treated as the same item.

Limits

Only the latest 20 pending items are kept (FIFO). Completed items are retained for reference.

Hooks

Hook Script Description
ingest hooks/ingest.py Returns pending todo items as a memory fragment
after_turn hooks/after_turn.py Scans messages for tasks and completions, updates the todo list

Storage

Todos are stored at ~/.librefang/plugins/todo-tracker/{agent_id}.json in the format:

{
  "todos": [
    {"text": "Fix the login bug", "status": "pending", "added": "2026-03-21T12:00:00+00:00"},
    {"text": "Update README", "status": "done", "added": "2026-03-21T12:00:00+00:00", "completed": "2026-03-21T13:00:00+00:00"}
  ]
}

Usage

Installed automatically when enabled in agent configuration.