topydo
Skill7 starsChanged 10 months agoMITView on GitHub
Manages todo.txt tasks using topydo CLI. Adds, lists, completes, prioritizes, tags, and organizes tasks with dependencies, due dates, recurrence, and projects. Use for any task management, todo lists, or when the user mentions tasks, todos, or todo.txt. Requires Python 3 and pip. Works on macOS, Linux, and Windows.
- Installs packages
In this repository30 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- apple-cktool-jsSkill
- apple-cktoolSkill
- audit-training-experimentSkill
- awkSkill
- close-out-ml-experimentSkill
- compare-models-blindlySkill
- conventional-commitsSkill
- design-resumable-model-evaluationSkill
- gogopowermanagerSkill
- ios-design-reviewSkill
- mikrotik-routerosSkill
- obsidian-dailySkill
- orbstack-cliSkill
- package-private-ml-artifactsSkill
- prepare-training-corpusSkill
- proxmox-adminSkill
- review-ios-ui-apple-higSkill
- review-training-data-qualitySkill
- run-hugging-face-training-smokeSkill
- sedSkill
- select-and-verify-best-checkpointSkill
- send-to-minionSkill
- swift-reviewSkill
- technical-writerSkill
- tmuxinatorSkill
- unhobble-agent-contextSkill
- validate-structured-model-outputSkill
- write-a-promptSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 52
If pipx is unavailable, install it with your system package manager first, or use a Python virtual environment.
- Distinctive: line 328
Add dependency (task 2 depends on task 1):
- Distinctive: line 424
Use a clean, human-readable format to present results to the user
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
topydo - Todo.txt Task Manager
topydo is a powerful CLI for managing tasks in the todo.txt format. It supports dependencies, due dates, start dates, recurrence, priorities, projects, and contexts.
Task Format Reference
(A) 2025-01-11 Task text +Project @Context due:2025-01-15 t:2025-01-10 rec:1w star:1
│ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ └─ Star marker
│ │ │ │ │ │ │ └─ Recurrence
│ │ │ │ │ │ └─ Start/threshold date
│ │ │ │ │ └─ Due date
│ │ │ │ └─ Context
│ │ │ └─ Project
│ │ └─ Task description
│ └─ Creation date
└─ Priority (A-Z)Installation
Homebrew (macOS, preferred)
brew install topydopip (all platforms)
pip3 install topydoWith optional features:
pip3 install 'topydo[columns,prompt,ical]'Linux (pipx preferred)
pipx install topydoIf pipx is unavailable, install it with your system package manager first, or use a Python virtual environment.
Configuration
Config file locations are loaded in this order; later files override earlier values:
/etc/topydo.conf~/.config/topydo/config~/.topydo.topydo(current directory)topydo.conf(current directory)topydo.ini(current directory)- A configuration file passed with
-c
Example ~/.topydo:
[topydo]
filename = ~/todo.txt
archive_filename = ~/done.txt
colors = 1
identifiers = text
[add]
auto_creation_date = 1
[sort]
sort_string = desc:importance,due,desc:priority
ignore_weekends = 1Adding Tasks
Basic task:
topydo add "Buy groceries"With priority (A is highest):
topydo add "(A) Urgent task"With project and context:
topydo add "Write report +ProjectX @office"With due date (absolute):
topydo add "Submit proposal due:2025-01-15"With due date (relative):
topydo add "Call mom due:tomorrow"With due date (weekday):
topydo add "Weekly review due:fri"With start/threshold date:
topydo add "Future task t:2025-02-01"With recurrence (weekly):
topydo add "Water plants due:sat rec:1w"With strict recurrence (always on 1st of month):
topydo add "Pay rent due:2025-02-01 rec:+1m"With dependency (must complete before task 1):
topydo add "Write tests before:1"As subtask of task 1:
topydo add "Review code partof:1"Listing Tasks
List all relevant tasks:
topydo lsInclude hidden/blocked tasks:
topydo ls -xFilter by project:
topydo ls +ProjectXFilter by context:
topydo ls @officeFilter by priority:
topydo ls "(A)"Filter by priority range:
topydo ls "(>C)"Filter tasks due today:
topydo ls due:todayFilter overdue tasks:
topydo ls "due:<today"Filter tasks due by Friday:
topydo ls "due:<=fri"Combine multiple filters:
topydo ls +ProjectX @office due:todayExclude context:
topydo ls -- -@waitingSort by priority:
topydo ls -s prioritySort descending by due date, then priority:
topydo ls -s desc:due,priorityGroup by project:
topydo ls -g projectLimit to 5 results:
topydo ls -n 5Custom output format:
topydo ls -F "%I %p %s %{due:}d"Output as JSON:
topydo ls -f jsonCompleting Tasks
Complete task by ID:
topydo do 1Complete multiple tasks:
topydo do 1 2 3Complete all tasks due today:
topydo do -e due:todayComplete with custom date:
topydo do -d yesterday 1Priority Management
Set priority A:
topydo pri 1 ASet priority for multiple tasks:
topydo pri 1 2 3 BRemove priority:
topydo depri 1Tagging Tasks
Set due date:
topydo tag 1 due tomorrowStar a task:
topydo tag 1 star 1Remove a tag:
topydo tag 1 dueSet custom tag with relative date:
topydo tag -r 1 review 2wModifying Tasks
Append text to task:
topydo append 1 "additional notes"Append due date:
topydo append 1 due:fridayEdit task in text editor:
topydo edit 1Edit all tasks in project:
topydo edit -e +ProjectXDeleting Tasks
Delete by ID:
topydo del 1Delete multiple:
topydo del 1 2 3Delete by expression:
topydo del -e completed:todayDependencies
Add dependency (task 2 depends on task 1):
topydo dep add 2 to 1Task 2 is part of task 1:
topydo dep add 2 partof 1List what depends on task 1:
topydo dep ls 1 toList what task 1 depends on:
topydo dep ls to 1Remove dependency:
topydo dep rm 2 to 1Visualize dependencies (requires graphviz):
topydo dep dot 1 | dot -Tpng -o deps.pngPostponing Tasks
Postpone by 1 week:
topydo postpone 1 1wPostpone by 3 days:
topydo postpone 1 3dPostpone including start date:
topydo postpone -s 1 1wOther Commands
Sort the todo.txt file:
topydo sortRevert last command:
topydo revertShow revert history:
topydo revert lsList all projects:
topydo lsprjList all contexts:
topydo lsconArchive completed tasks:
topydo archiveRelative Dates
today,tomorrow,yesterday- Weekdays:
mon,tue,wed,thu,fri,sat,sun - Periods:
1d(days),2w(weeks),3m(months),1y(years) - Business days:
5b(excludes weekends)
Sort/Group Fields
priority,due,creation,completedimportance,importance-avgproject,context,text,length
Prefix with desc: for descending. Example: desc:importance,due
Tips
- Use a clean, human-readable format to present results to the user
- Enable stable text IDs: set
identifiers = textin config - Star important tasks: add
star:1tag - Hidden tags by default:
id,p,ical - Importance = priority + due date proximity + star status
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

