| name | task-tracker |
| description | Personal task management with daily standups and weekly reviews. Supports both Work and Personal tasks from Obsidian. Use when: (1) User says 'daily standup' or asks what's on my plate, (2) User says 'weekly review' or asks about last week's progress, (3) User wants to add/update/complete tasks, (4) User asks about blockers or deadlines, (5) User shares meeting notes and wants tasks extracted, (6) User asks 'what's due this week' or similar. |
| homepage | https://github.com/kesslerio/task-tracker-openclaw-skill |
| metadata | {"openclaw":{"emoji":"📋","requires":{"env":["TASK_TRACKER_WORK_FILE","TASK_TRACKER_PERSONAL_FILE"]},"install":[{"id":"verify-paths","kind":"check","label":"Verify task file paths are configured"}]}} |
Task Tracker
Personal task management for work + personal workflows, with daily standups and
weekly reviews.
Source-of-truth model: active task boards are the current task state. Daily and
weekly notes are logs/evidence, not canonical task state. The JSONL sidecar
ledger is audit/candidate history for identity repairs, ID-based completions,
and completion evidence decisions.
When to Use
Use this skill when the user asks to:
- Run a daily or personal standup
- Run a weekly review
- Add, list, update, or complete tasks
- Check blockers or due dates
- Extract actions from meeting notes
- Report completed daily items against weekly todos without changing canonical
task state
- Review completion evidence candidates before confirming task completion
Quick Start
Prefer environment-based configuration first, then run scripts from <workspace>/<skill>.
1) Configure paths (env-first)
export TASK_TRACKER_WORK_FILE="$HOME/path/to/Work Tasks.md"
export TASK_TRACKER_PERSONAL_FILE="$HOME/path/to/Personal Tasks.md"
export TASK_TRACKER_ARCHIVE_DIR="$HOME/path/to/archive"
export TASK_TRACKER_LEGACY_FILE="$HOME/path/to/TASKS.md"
export TASK_TRACKER_DAILY_NOTES_DIR="$HOME/path/to/Daily"
export TASK_TRACKER_WEEKLY_TODOS="$HOME/path/to/Weekly TODOs.md"
Defaults exist, but explicit env vars are recommended for portability.
2) Run from the skill directory
cd <workspace>/<skill>
3) Core commands
python3 scripts/tasks.py list
python3 scripts/standup.py
python3 scripts/weekly_review.py
python3 scripts/tasks.py --personal list
python3 scripts/personal_standup.py
Core Commands
Task listing and filtering
python3 scripts/tasks.py list
python3 scripts/tasks.py list --priority high
python3 scripts/tasks.py list --due today
python3 scripts/tasks.py list --due this-week
python3 scripts/tasks.py blockers
Add and complete tasks
python3 scripts/tasks.py add "Draft proposal" --priority high --due 2026-01-23
python3 scripts/tasks.py --personal add "Call mom" --priority high --due 2026-01-22
python3 scripts/tasks.py identity-audit
python3 scripts/tasks.py task-audit
python3 scripts/tasks.py identity-repair --apply
python3 scripts/tasks.py done "tsk_example"
python3 scripts/tasks.py --personal done "tsk_personal"
python3 scripts/tasks.py completion-candidates scan --file /tmp/done-log.md
python3 scripts/tasks.py completion-candidates list
python3 scripts/tasks.py completion-candidates confirm cand_example --task-id tsk_example
python3 scripts/completion_inbox_control.py list
python3 scripts/completion_inbox_control.py confirm cand_example --task-id tsk_example
Completion candidates are evidence suggestions. Scanning does not mutate active
tasks; confirmation must resolve to a canonical task_id::. Workflow wrappers
such as Telegram/Lobster should call completion_inbox_control.py or the
completion-candidates command group by candidate ID. They must not call
done by title, fuzzy match, fallback ID, quick ID, or list position.
Task audits are read-only health checks. They can flag duplicate titles, stale
active tasks, unresolved candidates, missing IDs, and backlog pressure, but they
must not be treated as authority to freeze, delete, merge, or complete tasks.
Backlog ops
python3 scripts/tasks.py promote-from-backlog --cap 3
python3 scripts/tasks.py review-backlog --stale-days 45 --json
Standup and review
python3 scripts/standup.py
python3 scripts/standup.py --compact-json
python3 scripts/personal_standup.py
python3 scripts/weekly_review.py
Extraction and automation helpers
python3 scripts/extract_tasks.py --from-text "Meeting notes..."
bash scripts/task-shortcuts.sh daily
bash scripts/task-shortcuts.sh standup
bash scripts/task-shortcuts.sh weekly
bash scripts/task-shortcuts.sh done24h
bash scripts/task-shortcuts.sh done7d
bash scripts/task-shortcuts.sh tasks
EOD sync + weekly embed refresh
python3 scripts/eod_sync.py --dry-run
python3 scripts/eod_sync.py
python3 scripts/eod_sync.py --apply
python3 scripts/update_weekly_embeds.py --dry-run
python3 scripts/update_weekly_embeds.py
Agent Invocation Guidance
Use explicit, workspace-relative paths when running commands from agents:
python3 <workspace>/<skill>/scripts/standup.py
python3 <workspace>/<skill>/scripts/tasks.py list
References Index
Detailed docs moved to references/:
references/setup-and-config.md — environment variables, defaults, setup flow
references/commands.md — command catalog and examples
references/obsidian-and-dataview.md — task structures, plugins, Dataview snippets
references/eod-sync.md — EOD sync + weekly transclusion behavior
references/migration.md — legacy migration and compatibility notes
references/task-format.md — legacy task format spec
Compatibility Notes
- Active task mutations require canonical
task_id:: values; fallback IDs are
diagnostics only.
scripts/eod_sync.py is report-only by default. --apply is a legacy Weekly
TODO checkbox helper and does not complete canonical tasks.
- Legacy file fallback (
TASK_TRACKER_LEGACY_FILE) is still supported.
- Migration guidance remains available in
references/migration.md.