| name | td-task-management |
| description | Task management for AI agents across context windows. Use when agents need to track work, log progress, hand off state, and maintain context across sessions. Includes workflows for single-issue focus, multi-issue work sessions, and structured handoffs. Essential for AI-assisted development where context windows reset between sessions. |
td - Task Management for AI Agents
Overview
td is a minimalist CLI for tracking tasks and maintaining agent memory across context windows. When your AI session ends, td captures what was done, what remains, and what decisions were made—so the next session picks up exactly where the last one left off.
Core capability: Run td usage and get everything needed for the next action—current focus, pending reviews, open issues, recent decisions.
Quick Start
Starting a New Agent Context
td usage --new-session -q
Use td usage without -q when workflow guidance would be useful. Status
output includes:
- Active work sessions and recent decisions
- What issues are pending review (you can review these)
- Highest priority open issues
- Recent handoffs from previous sessions
Single-Issue Workflow
For focused work on one issue:
td start <issue-id>
td log "OAuth callback implemented"
td log --decision "Using JWT tokens"
td handoff <id> --done "..." --remaining "..."
td review <id>
Multi-Issue Workflow
For agents handling related issues:
td ws start "Auth implementation"
td ws tag td-a1b2 td-c3d4
td ws tag --no-start td-e5f6
td ws log "Shared token storage"
td ws handoff
Key Workflows
Workflow 1: Starting New Work
td usage
td next
td critical-path
td start <id>
td log "Started implementation"
Workflow 2: Handing Off Work
Use a structured handoff when work will continue in another context:
td handoff <id> \
--done "OAuth flow, token storage" \
--remaining "Refresh token rotation, error handling" \
--decision "Using JWT for stateless auth" \
--uncertain "Should tokens expire on password change?"
Keys:
--done - What is complete
--remaining - What remains
--decision - Why you chose approach X
--uncertain - What you're unsure about
Next session will see all this context with td usage or td context <id>.
Workflow 3: Reviewing Code
td reviewable
td show <id>
td context <id>
td approve <id> --reason "Reviewed diff, looks good"
td approve <id> --reviewed-by "code-reviewer sub-agent"
td approve <id> --self-review --reason "Reviewed own diff, tests pass"
td reject <id> --reason "Missing error handling"
Independent review is preferred when practical. The default trusted mode also
lets an involved session approve by saying who reviewed the work: --reviewed-by "<who>" credits someone else, --self-review --reason owns it. Both are
recorded and neither is verifiable by td, so never name a reviewer who did not
review — that reads as independent in the audit trail, which is worse than an
honest self-review. In delegated and strict an involved session cannot
approve at all.
Workflow 4: Handling Blockers
td log --blocker "Waiting on API spec from backend team"
td next
td ws tag td-e5f6
td context td-a1b2
Commands by Category
Checking Status
td usage - Current state, reviews, next steps
td usage -q - Compact current state
td current - What you're working on
td ws current - Current work session state
td next - Highest priority open
td critical-path - What unblocks most work
Working on Issues
td start <id> - Begin work
td unstart <id> - Revert to open (undo accidental start)
td log "msg" - Track progress
td log --decision "..." - Log decision
td log --blocker "..." - Log blocker
td show <id> - View details
td context <id> - Full context for resuming
Handing Off
td handoff <id> --done "..." --remaining "..." - Single issue
td ws handoff - Multi-issue work session
Reviews
td review <id> - Submit for review
td reviewable - Issues you can review
td approve <id> --reason "..." - Approve an independent review
td approve <id> --reviewed-by "<who>" - Record who reviewed it when that is not you (trusted mode)
td approve <id> --self-review --reason "..." - Acknowledge and record a trusted-mode self-review
td approve <id> --record-only --reason "..." - Attest without closing; any session closes after
td reject <id> --reason "..." - Reject
Creating/Managing Issues
td create "title" --type feature --priority P1 - Create
td create "title" --description-file body.md --acceptance-file acceptance.md - Agent-safe rich text
cat body.md | td update <id> --append --description-file - - Append rich text from stdin
td list - List all
td list --status in_progress - Filter by status
td block <id> - Mark as blocked
td delete <id> - Delete
File Tracking
td link <id> <files...> - Track files with issue
td files <id> - Show file changes
Other
td monitor - Live dashboard
td session --new "name" - Force new session
td undo - Undo last action
See quick_reference.md for full command listing.
Resources
Complete command reference organized by task type.
Detailed workflows for common AI agent scenarios:
- Single-issue focus
- Multi-issue work sessions
- Handling blockers
- Resuming work
- Code review process
- Tips for AI agents
Issue Lifecycle
open → in_progress → in_review → closed
| |
v | (reject)
blocked -----------+
Key Principles
Session Isolation: Every terminal/context gets a session ID for continuity
and audit. Independent review is preferred; trusted mode also lets an involved
session approve by recording who actually reviewed the work.
Structured Handoffs: Record done/remaining/decisions/uncertain when another
context will need to continue the work.
Minimal: Does one thing. Single binary, SQLite local storage (.todos/), no server, works with any AI tool.
For AI Agents
At the start of a new agent context:
td usage --new-session -q
This auto-rotates sessions and gives you compact current state. Use judgment
about how much tracking detail each task needs:
- Single focused issue → Use single-issue workflow
- Multiple related issues → Use
td ws start for work sessions
- Work will continue elsewhere → Use
td handoff or td ws handoff
- A decision aids continuity → Log it with
--decision
- An uncertainty matters → Record it with
--uncertain
- Track files → Use
td link so future sessions know what changed
See ai_agent_workflows.md for detailed examples.