Agent skill

Todo Tracker

by jdrhyne in jdrhyne/agent-skills

Persistent TODO scratch pad for tracking tasks across sessions.

MITAuto-check passed

Install Todo Tracker

skills CLI
$ npx skills add jdrhyne/agent-skills --skill todo-tracker -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jdrhyne/agent-skills todo-tracker --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jdrhyne/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/clawdbot/todo-tracker .claude/skills/todo-tracker && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
todo-tracker
GitHub stars
240
Token cost
~1.4k tokens
SKILL.md length
641 words
Files
4 (incl. scripts)
Skills in repo
20
Repo updated
First seen
Licence
MIT

At a glance

Persistent TODO scratch pad for tracking tasks across sessions.

  • Works in 3 steps: Resolve and preview without removing the… → Show the user that ID and task text. Ask… → Only after approval, run the command…
  • The user asks to add
  • SKILL.md covers File and Script, Stable Identity, Commands and Heartbeat, plus 1 more section
  • Runs Shell scripts from its folder; calls bash

What it does

Todo Tracker is an agent skill from jdrhyne/agent-skills. Persistent TODO scratch pad for tracking tasks across sessions. Use when the user asks to add, list, complete, remove, or summarize tasks in a portable workspace Markdown file. Uses stable task IDs and exact matching; heartbeat reporting is opt-in and count-only.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts (for example `scripts/todo.sh` and `tests/test_todo.sh`).

The repository describes itself as: A collection of AI agent skills for Clawdbot, Claude Code, Codex. The licence is MIT.

When your agent uses it

  • The user asks to add
  • Summarize tasks in a portable workspace Markdown file

Example prompts

  • “/todo-tracker”

Requirements

  • A Bash shell

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Resolve and preview without removing the task. For a legacy file, this first operation may atomically persist stable IDs and the adjacent…
  2. Show the user that ID and task text. Ask for approval to remove that exact task.
  3. Only after approval, run the command contract naming and confirming the same ID

What it can do on your machine

Read from SKILL.md and the folder at commit 439cd3a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Todo Tracker loads about 1.4k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 641 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~69
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from jdrhyne/agent-skills at commit 439cd3a, republished under its MIT licence (© jdrhyne). 641 words, ~1,371 tokens.

Download SKILL.mdSave it as .claude/skills/todo-tracker/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
todo-tracker
description
Persistent TODO scratch pad for tracking tasks across sessions. Use when the user asks to add, list, complete, remove, or summarize tasks in a portable workspace Markdown file. Uses stable task IDs and exact matching; heartbeat reporting is opt-in and count-only.

TODO Tracker

Maintain a portable Markdown task file without a service or database. Use the bundled script for every operation; do not edit task lines with ad hoc regex commands.

Runtime requirements: Bash and standard awk, cp, chmod, mkdir, mktemp, and mv utilities. Tasks are stored in a user-configurable local Markdown file.

File and Script

  • TODO_FILE selects the task file. Default: TODO.md in the current workspace.
  • Always invoke the bundled script through {baseDir} so execution does not depend on the current directory.
  • Read operations do not create a file.
  • Writes use an adjacent lock, atomic same-directory renames, mode 600, and a recoverable previous-state backup at ${TODO_FILE}.bak.
  • ${TODO_FILE}.next-id is an adjacent mode-600 monotonic ID counter. Keep it with the task file when moving or restoring the tracker; backup rotation must not replace or delete it.
bash
TODO_FILE="$PWD/TODO.md" bash "{baseDir}/scripts/todo.sh" list

Do not use a machine-specific path. Quote TODO_FILE, IDs, and item text.

Stable Identity

New tasks receive monotonic IDs such as T000001. Task text is matched literally and exactly, never as a regex or substring.

  • Under the same writer lock, the script bootstraps the counter from the current task file, ${TODO_FILE}.bak, and any valid existing counter. It reserves and atomically persists the next counter value before publishing a task-file mutation, so a crash may create an ID gap but cannot reuse an ID.
  • Only the structured ID field immediately after a task checkbox participates in counter bootstrapping. ID-looking text inside a task title remains literal task content and never advances the counter.
  • A missing counter is created safely on the next write. A corrupt, symbolic-link, non-regular, or non-0600 counter fails closed; do not delete or reset it to bypass the check.
  • Prefer an ID for done and always use an ID for approved removal.
  • An exact-text target must match one task only.
  • Duplicate open task text is rejected.
  • An ambiguous exact-text target is rejected and the script reports the matching IDs.
  • On the first operation that must resolve or mutate a legacy file, task lines without IDs are assigned deterministic IDs under the writer lock and the migration is persisted atomically; the original remains in the backup. A removal preview can trigger this recoverable metadata migration even though it removes no task.

Commands

Read
bash
TODO_FILE="$PWD/TODO.md" bash "{baseDir}/scripts/todo.sh" list
TODO_FILE="$PWD/TODO.md" bash "{baseDir}/scripts/todo.sh" list high
TODO_FILE="$PWD/TODO.md" bash "{baseDir}/scripts/todo.sh" summary

If the file does not exist, list reports that fact and summary returns zero counts. Neither creates state.

Add
bash
TODO_FILE="$PWD/TODO.md" bash "{baseDir}/scripts/todo.sh" add high "Review launch checklist"

Priority must be high, medium, or low. Capture the returned stable ID.

Show full SKILL.md (258 more words)Show less
Complete
bash
TODO_FILE="$PWD/TODO.md" bash "{baseDir}/scripts/todo.sh" done T000001

Exact text is accepted only when it identifies one open task. Completion preserves the stable ID and moves the task to Done.

Remove

Removal is destructive and requires an exact preview plus action-time approval.

  1. Resolve and preview without removing the task. For a legacy file, this first operation may atomically persist stable IDs and the adjacent monotonic counter before returning the preview. The pre-migration file remains in ${TODO_FILE}.bak, and no task is removed:

    bash
    TODO_FILE="$PWD/TODO.md" bash "{baseDir}/scripts/todo.sh" remove "exact task text"

    The command exits without removal and prints the exact stable ID. Repeating the operation uses the persisted ID rather than migrating or advancing the counter again.

  2. Show the user that ID and task text. Ask for approval to remove that exact task.

  3. Only after approval, run the command contract naming and confirming the same ID:

    bash
    TODO_FILE="$PWD/TODO.md" bash "{baseDir}/scripts/todo.sh" remove T000001 --confirm T000001

Never infer approval from a partial name, prior unrelated removal, or a bulk request. Remove tasks one exact stable ID at a time.

Heartbeat

Heartbeat access is off by default. Enable it only when the user explicitly opts in by configuring TODO_HEARTBEAT_ENABLED=1 for that heartbeat workflow.

bash
TODO_FILE="$PWD/TODO.md" TODO_HEARTBEAT_ENABLED=1 \
  bash "{baseDir}/scripts/todo.sh" heartbeat

Heartbeat output contains counts only: total, high, medium, low, and stale. It never prints task titles or notes. Do not create a schedule merely because this skill is installed.

File Format

markdown
# TODO Tracker

*Last updated: 2026-08-29*

## 🔴 High Priority
- [ ] [T000001] Review launch checklist (added: 2026-08-29)

## 🟡 Medium Priority

## 🟢 Nice to Have

## ✅ Done
- [x] [T000002] Verify release notes (done: 2026-08-29)

If a write fails because the lock exists, do not remove the lock while another process may be active. Investigate the writer and retry only after the lock is known to be stale.

© jdrhyne, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (scripts) in clawdbot/todo-tracker of jdrhyne/agent-skills.

  • SKILL.md
  • .clawhubignore
  • scripts/todo.sh
  • tests/test_todo.sh

Open the folder on GitHubat commit 439cd3a

Compare with similar skills

Todo Tracker next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Todo Tracker compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Todo Tracker this skilljdrhyne/agent-skills240—~1.4kAutomated safety check: PassMIT
Session Persistruvnet/ruflo74k—~415Automated safety check: NotesMIT
Cost Trackruvnet/ruflo74k—~773Automated safety check: NotesMIT
Horizon Trackruvnet/ruflo74k—~744Automated safety check: NotesMIT
Cost Trackingaffaan-m/ECC276k1 repos~1.3kAutomated safety check: PassMIT
Todo Tracker SafeLeoYeAI/openclaw-master-skills2.2k—~303Automated safety check: PassMIT

Similar skills

  • Session Persist

    ruvnet/ruflo

    Persist and restore agent sessions across conversations with state snapshots

    74k GitHub stars~415 tokensUpdated today
    Auto-check: notes
  • Cost Track

    ruvnet/ruflo

    Auto-capture per-session token usage from the Claude Code session jsonl and persist to the cost-tracking namespace

    74k GitHub stars~773 tokensUpdated today
    AI & LLM EngineeringAuto-check: notes
  • Horizon Track

    ruvnet/ruflo

    Track long-horizon objectives across multiple sessions with milestone checkpoints, progress persistence, and drift detection

    74k GitHub stars~744 tokensUpdated today
    Product & Project ManagementAuto-check: notes
  • Cost Tracking

    affaan-m/ECC

    Track and report Claude Code token usage, spending, and budgets from the local ECC cost-tracker metrics log.

    276k GitHub starsUsed in 1 repo~1.3k tokens
    AI & LLM EngineeringAuto-check passed
  • Todo Tracker Safe

    LeoYeAI/openclaw-master-skills

    Secure TODO tracker with input validation and safe file operations.

    2.2k GitHub stars~303 tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed
  • Session Handoff

    sickn33/agentic-awesome-skills

    A skill your agent uses when context approaches capacity, before /clear or /compact, when switching tasks, or when ending a coding session: produces a structured handoff artifact for the next session.

    47k GitHub stars~1.8k tokensUpdated today
    Agent WorkflowsAuto-check: notes

More from jdrhyne/agent-skills

All 20 skills in this repo
  • Gong

    jdrhyne/agent-skills

    Gong API for searching calls, transcripts, and conversation intelligence.

    240 GitHub starsUsed in 1 repo~1.7k tokens
    Auto-check passed
  • Elegant Reports

    jdrhyne/agent-skills

    Generate beautifully designed PDF reports with a Nordic/Scandinavian aesthetic.

    240 GitHub stars~1.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Ga4

    jdrhyne/agent-skills

    Read Google Analytics 4 reporting data through the GA4 Data API.

    240 GitHub stars~1.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Gallery Scraper

    jdrhyne/agent-skills

    Bulk download images from login-protected gallery websites using an attached browser session.

    240 GitHub stars~1.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Gsc

    jdrhyne/agent-skills

    Read Google Search Console properties, Search Analytics, URL Inspection, and sitemaps.

    240 GitHub stars~1.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Nudocs

    jdrhyne/agent-skills

    Upload, edit, and export documents via Nudocs.ai. An agent skill from jdrhyne/agent-skills.

    240 GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed

Questions about Todo Tracker

What does Todo Tracker do?

Persistent TODO scratch pad for tracking tasks across sessions. Todo Tracker is an agent skill from jdrhyne/agent-skills. Persistent TODO scratch pad for tracking tasks across sessions.

When should I use Todo Tracker?

Todo Tracker fits situations like: the user asks to add; summarize tasks in a portable workspace Markdown file.

How do I install Todo Tracker in Claude Code?

Run `npx skills add jdrhyne/agent-skills --skill todo-tracker -a claude-code`. Or copy the skill folder (clawdbot/todo-tracker in jdrhyne/agent-skills) into .claude/skills/todo-tracker in your project. Claude Code loads it when a task matches its description.

How do I install Todo Tracker in Codex?

Run `npx skills add jdrhyne/agent-skills --skill todo-tracker -a codex`. Or copy the skill folder (clawdbot/todo-tracker in jdrhyne/agent-skills) into .agents/skills/todo-tracker in your project. Codex loads it when a task matches its description.

Can I use Todo Tracker in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jdrhyne/agent-skills --skill todo-tracker -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/todo-tracker, .gemini/skills/todo-tracker, .github/skills/todo-tracker and .opencode/skills/todo-tracker in your project.

What does Todo Tracker need to run?

Going by SKILL.md and its folder, Todo Tracker needs a shell for the scripts in its folder and the command-line tools its instructions call (bash). Our summary lists: A Bash shell.

Does Todo Tracker access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Todo Tracker safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Todo Tracker use?

Todo Tracker is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Todo Tracker use?

About 1.4k tokens (SKILL.md is roughly 5.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Todo Tracker?

Skills that share tags, products or a category with Todo Tracker: Session Persist (ruvnet/ruflo, 74k stars), Cost Track (ruvnet/ruflo, 74k stars), Horizon Track (ruvnet/ruflo, 74k stars) and Cost Tracking (affaan-m/ECC, 276k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Todo Tracker?

jdrhyne (a GitHub user) maintains it in jdrhyne/agent-skills, which has 240 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on August 30, 2026.

Source: jdrhyne/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.