| name | gt:todo |
| description | Manage project-scoped todos with rich context capture. Use when the user wants to track tasks, create reminders, link work items to PRs/issues, or manage work across sessions. Triggers on "add todo", "create task", "remind me to", "track this", "todo list", "what's on my plate", "mark done", "complete task", "what should I work on". Also use proactively when the user mentions wanting to remember something for later or needing to follow up.
|
Todo Management Tool
Create, track, and manage project-scoped todos with auto-captured git context, session tracking, and Apple Calendar/Reminders sync.
Every todo is a context capsule — it captures the full git state (branch, commit, staged/unstaged changes), environment info, and session ID at creation time so any future session can pick up the work with zero context loss.
CLI Reference
tools todo add "Fix the auth bug" \
--priority high \
--tag auth,backend \
--reminder "24h" --reminder "3d" \
--link pr:142 --link ado:78901 \
--session-id $CLAUDE_CODE_SESSION_ID \
--attach ./screenshot.png \
--md ./notes.md \
--description "The OAuth flow breaks when..."
tools todo list
tools todo list --all
tools todo list --status done
tools todo list --priority critical,high
tools todo list --tag auth
tools todo list --session $CLAUDE_CODE_SESSION_ID
tools todo list --format ai|json|md|table
tools todo show <id>
tools todo show <id> --format ai
tools todo start <id>
tools todo block <id>
tools todo complete <id> --note "Fixed in commit abc123"
tools todo reopen <id>
tools todo edit <id> --priority critical
tools todo edit <id> --add-tag urgent
tools todo edit <id> --add-reminder "1h"
tools todo edit <id> --add-link pr:99
tools todo search "auth bug"
tools todo search "OAuth" --all
tools todo remove <id>
tools todo sync <id> --to calendar
tools todo sync <id> --to reminders
tools todo sync --all --to reminders
tools todo export --format json > todos.json
tools todo import todos.json
LLM Usage Guidelines
Always Do
-
Pass session ID on every add command:
tools todo add "..." --session-id $CLAUDE_CODE_SESSION_ID
-
Use --format ai when reading todos back for context:
tools todo list --format ai
tools todo show <id> --format ai
-
Link external resources when working on PRs, issues, or ADO work items:
--link pr:142
--link issue:456
--link ado:78901
--link https://...
-
Embed context with --md for complex todos:
--md ./spec.md
-
Set priority based on conversation urgency:
- User says "urgent", "ASAP", "critical" →
--priority critical
- User says "important", "soon" →
--priority high
- Default →
--priority medium
- User says "whenever", "low priority", "nice to have" →
--priority low
-
Track status as you work:
tools todo start <id>
tools todo complete <id> --note "summary"
tools todo block <id>
Checking Session Todos
At the start of a session, check for existing todos:
tools todo list --session $CLAUDE_CODE_SESSION_ID --format ai
Or check all active todos for the project:
tools todo list --format ai
Creating From Conversation
When the user says something like "remind me to..." or "I need to...", create a todo:
tools todo add "What the user wants to track" \
--priority <infer from context> \
--tag <relevant tags from the discussion> \
--session-id $CLAUDE_CODE_SESSION_ID \
--link <any relevant PR/issue> \
--description "Additional context from the conversation"
Reminders
Reminders support relative and absolute times:
--reminder "30m"
--reminder "24h"
--reminder "3d"
--reminder "1w"
--reminder "2026-04-02 10:00"
Multiple reminders can be specified:
--reminder "24h" --reminder "3d"
Output Formats
| Format | Best For | Default When |
|---|
ai | LLM consumption, compact | Non-TTY (piped) |
table | Human scanning of lists | TTY list |
md | Detailed single-todo view | TTY show |
json | Machine processing, export | Explicit only |
Storage
Todos are stored per-project at ~/.genesis-tools/todo/projects/<hash>/todos.json. Each todo captures the full git state at creation time. Use --all to query across all projects.