Skip to content

dannyob/llm-tools-todo

Repository files navigation

llm-tools-todo

PyPI Changelog Tests License

LLM plugin providing session-based todo management tools for Simon Willison's llm, a la Claude Code.

Installation

Install this plugin in the same environment as LLM. You'll need at least LLM 0.26a1 or later.

From PyPI (recommended)

llm install llm-tools-todo

From source

git clone https://github.com/dannyob/llm-tools-todo
cd llm-tools-todo
llm install .

Usage

The plugin provides a single Todo toolbox with six todo management operations:

Available Tools

  • begin - Start a new todo session
  • end - End current session and cleanup
  • list - Display all todos in current session
  • write - Replace entire todo list
  • add - Add new todo items
  • complete - Mark todos as completed

Basic Usage

# Start a new todo session
llm prompt -m gpt-4o-mini "Please start a new todo session" --tool Todo

# Add some tasks
llm -c prompt -m gpt-4o-mini "Add tasks: review code, run tests, update docs" --tool Todo

# Mark tasks complete
llm -c prompt -m gpt-4o-mini "Mark the first task as completed" --tool Todo

Session Management

Each todo session gets a unique identifier and stores data in temporary files. Sessions are automatically managed:

  • Session files stored as /tmp/llm-todos-{session_id}.json
  • Data persists until session is ended with end
  • Multiple concurrent sessions supported

Todo Item Structure

Each todo item includes:

  • Unique ID
  • Content description
  • Status (pending/in_progress/completed)
  • Priority (high/medium/low)
  • Created and updated timestamps

Development

Setup Development Environment

# Clone and set up development environment
git clone https://github.com/dannyob/llm-tools-todo
cd llm-tools-todo
make dev-setup
source .venv/bin/activate

Testing

make test           # Run all tests
make test-coverage  # Run tests with coverage report
make quick-test     # Fast test run (exits on first failure)

Plugin Testing

After installation, verify the plugin is working:

llm tools  
# above should show Todo tools listed
llm prompt "Please start a new todo session" --tool Todo
llm prompt -c "Add a single Todo, saying 'check todo list works'" --tool Todo
llm prompt -c "What is in my todo list?" --tool Todo
llm prompt -c "Mark the check todo item as done" --tool Todo
llm prompt -c "Now end the Todo list" --tool Todo

Credits and Thanks

Inspired by Claude Code's simple Todo functionality, and Joe Haddad's claude-todo-emulator.

Coded with Claude.

About

LLM plugin providing session-based todo management tools, a la Claude Code.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published