원클릭으로
todo-tracker
// Production-ready TODO management with dual-source support (GitHub Issues + flat files), due dates, labels, and automatic reminders. Fully portable with environment variable configuration.
// Production-ready TODO management with dual-source support (GitHub Issues + flat files), due dates, labels, and automatic reminders. Fully portable with environment variable configuration.
Manage Cisco Meraki cloud networking - organizations, networks, devices, wireless, switches, firewall, and clients
Use when you want to schedule work to happen later, remind yourself to follow up on something, or queue a task for the next hour. Write deferred instructions into HEARTBEAT.md — an hourly scheduled task will pick them up, execute them as background tasks, and clear the file. Trigger phrases: "remind me later", "check this in an hour", "do this after", "follow up on", "schedule this for later", "queue this up", "deferred task", "next time you wake up". IMPORTANT: You can and should use this proactively on your own initiative — not just when the user asks. Use it to follow up on background tasks you spawned, verify something completed correctly, check on a deployment, circle back on an open question, or pursue any goal that benefits from a future check-in. Think of it as leaving yourself a note for your next wakeup.
Interactive TODO board for Wee Canvas. Displays TODOs from both GitHub Issues (leprachuan/fosterbot-home) and flat files in two views: list and kanban. Features filtering, drag-and-drop status changes, quick-add, and auto-refresh every 30 seconds. Use when Foster asks to "show TODOs", "open TODO board", "view my tasks", or "TODO kanban".
Live visual canvas for agents. Use when running multi-step tasks (deploys, installs, batch jobs), gathering config from the user (forms), showing plan approval (flowchart + buttons), or displaying live dashboards (metrics, charts, tables). The canvas opens a browser panel that updates in real time as the agent pushes components over WebSocket. Users can click buttons or submit forms and the agent receives the action. Server auto-starts on first use.
Capture corrections, errors, feature requests, and recurring best practices in a local `.learnings/` workspace so future agent runs can avoid repeating mistakes. Use when a command fails, a user corrects the agent, a missing capability is requested, a better repeatable approach is discovered, or before major work to review prior lessons.
Use when you want to schedule work to happen later, remind yourself to follow up on something, or queue a task for the next hour. Write deferred instructions into HEARTBEAT.md — an hourly scheduled task will pick them up, execute them as background tasks, and clear the file. Trigger phrases: "remind me later", "check this in an hour", "do this after", "follow up on", "schedule this for later", "queue this up", "deferred task", "next time you wake up". IMPORTANT: You can and should use this proactively on your own initiative — not just when the user asks. Use it to follow up on background tasks you spawned, verify something completed correctly, check on a deployment, circle back on an open question, or pursue any goal that benefits from a future check-in. Think of it as leaving yourself a note for your next wakeup.
| name | todo-tracker |
| description | Production-ready TODO management with dual-source support (GitHub Issues + flat files), due dates, labels, and automatic reminders. Fully portable with environment variable configuration. |
A comprehensive TODO management system with dual-source support — reads from GitHub Issues (primary) and flat files (fallback). Includes markdown-based storage, due dates, labels, and automatic reminders.
leprachuan/fosterbot-home with labels & metadataAll paths and settings are configurable via environment variables:
export TODO_FILE="/path/to/TODOs.md"
export TODO_STATE_FILE="~/.todo-reminder-state.json"
export TODO_REMINDER_CHANNEL="telegram" # or "webex"
export TELEGRAM_CONFIG_PATHS="/path/to/config.json"
export TELEGRAM_SKILL_PATH="/opt/skills/telegram-notify"
See README.md for complete configuration options.
Every TODO is automatically assigned a unique short ID in the format Txxxx (e.g. Tktbj).
All commands accept either the ID or the full description.
# These are equivalent:
python3 copilot/todo_cli.py note Tktbj "Checked Amazon"
python3 copilot/todo_cli.py note "Get a label maker" "Checked Amazon"
To backfill IDs onto existing TODOs that don't have one:
python3 copilot/todo_cli.py backfill-ids
python3 copilot/todo_cli.py add "Buy milk" --due 03/15/2026 --labels SHOPPING
# Dual-source (GitHub + flat files, deduplicated)
python3 copilot/todo_cli.py list active
# GitHub Issues only
python3 copilot/todo_cli.py list active --source github
# Flat files only
python3 copilot/todo_cli.py list active --source flat
# Standalone dual-source provider
python3 github_todo_provider.py summary
python3 github_todo_provider.py list
python3 github_todo_provider.py github-only
python3 github_todo_provider.py flat-only
python3 github_todo_provider.py create --title "New task" --due "2026-05-01" --labels "home,todo"
python3 copilot/todo_cli.py complete "Buy milk"
python3 copilot/todo_cli.py note "Buy milk" "Checked store — out of stock, trying Costco tomorrow"
python3 copilot/todo_cli.py upcoming
python3 copilot/todo_cli.py overdue
python3 todo_reminder.py
When working on a TODO, always record progress into its notes. This creates a timestamped activity log inside the TODO file so anyone (human or agent) can see what was done, what's pending, and what decisions were made.
# CLI
python3 /opt/pot-o-skills/todo-tracker/copilot/todo_cli.py note "Task name" "Started investigating the root cause"
python3 /opt/pot-o-skills/todo-tracker/copilot/todo_cli.py note "Task name" "Fixed — updated config in /etc/foo.conf"
# Python (from agent code)
from todo_manager import TodoManager
manager = TodoManager()
manager.append_note("Task name", "Deployed fix to dev, awaiting QA")
Notes are appended with a timestamp, so the file builds up a log:
ID: Ta3f7
DUE: 2026-04-01 10:00
LABELS: {HOME_LAB}
[2026-03-31 14:22] Started investigating DNS resolution failures
[2026-03-31 14:35] Root cause: stale /etc/resolv.conf after DHCP renewal
[2026-03-31 14:40] Fixed — pointed to local DNS server 192.168.0.1
Python-based implementation with full TODO management capabilities.
Python CLI tool for terminal-based TODO management.
JavaScript implementation for web-based TODO interfaces.
leprachuan/fosterbot-home)TODOs are stored as GitHub Issues labelled todo. Additional labels (financial, health, home, tech, synced-from-reminders) categorize them. Due dates are embedded in the issue body.
# Set custom repo
export TODO_GITHUB_REPO="leprachuan/fosterbot-home"
TODOs are stored as individual files in ACTIVE/ and COMPLETED/ directories:
/opt/fosterbot-home/TODOs/
├── ACTIVE/
│ ├── 🐛 Investigate Claude session ID handling for 404 errors
│ ├── 📏 Measure all rooms
│ ├── 💰 Taxes due end of March
│ └── 🎒 Purchase Italy Travel Gear
└── COMPLETED/
├── ✅ Auto-Runtime
├── ✅ Proactive Watchers - Poll to trigger AI
└── ✅ TODO Channel Updates
Format:
ID: Txxxx (unique short ID)Reminders fire at these times:
Each reminder fires only ONCE per TODO to prevent spam. Snooze feature allows temporarily disabling reminders.
pyyaml - YAML parsingpython-dateutil - Date/time utilitiestelegram-notify skill (for Telegram reminders)webex-notify skill (for WebEx reminders)MIT