Files
Evan Hu afcb260554 feat: add 6 production-ready plugins
All plugins are stdlib-only Python with no external dependencies.

- auto-summarizer: extractive conversation summary for long context
  compression, persists per-agent summaries to disk
- conversation-logger: JSONL audit logs per agent with ISO 8601
  timestamps, auto-creates log directory tree
- guardrails: safety filter detecting PII (email, phone, SSN, CC),
  prompt injection patterns, and credential exposure via regex
- keyword-memory: extracts entities (emails, URLs, dates, technical
  terms like camelCase/snake_case/dotted identifiers) as memories
- sentiment-tracker: keyword-based sentiment scoring with intensifiers
  and negation handling, only injects context for non-neutral sentiment
- todo-tracker: detects action items via 7 task patterns, tracks
  completion, deduplicates, persists per-agent with 20-item FIFO limit
2026-03-21 02:51:58 +09:00

1.7 KiB

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.