Work with markdown-based task lists in .llm/todo.md files. Use when managing tasks, working with todo lists, extracting incomplete tasks, marking tasks complete, or implementing tasks from a task list.
/plugin marketplace add motlin/claude-code-plugins/plugin install markdown-tasks@motlin-claude-code-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
scripts/task_add.pyscripts/task_archive.pyscripts/task_complete.pyscripts/task_get.pyThis skill enables working with the markdown task list stored in .llm/todo.md.
The scripts referenced below are part of this plugin and are pre-verified to work correctly. Do NOT:
.py script filesSimply run the bash commands exactly as shown. The scripts handle all the complexity internally.
Extract the first incomplete task with its context by running this command (do NOT read the script file):
skills/tasks/scripts/task_get.py .llm/todo.md
Returns the first [ ] checkbox line with all indented context lines below it.
Exit codes: 0 (success), 1 (file not found or error)
Add a new task by running this command (do NOT read the script file):
skills/tasks/scripts/task_add.py .llm/todo.md "Task description
Context line 1
Context line 2"
Creates the .llm/ directory and todo.md file if they do not exist, and appends the new task with a [ ] checkbox. The script preserves all indentation in multi-line strings.
Exit codes: 0 (success), 1 (error)
Mark the first incomplete task as done by running this command (do NOT read the script file):
skills/tasks/scripts/task_complete.py .llm/todo.md
Changes the first [ ] to [x].
Exit codes: 0 (success), 1 (no incomplete tasks or error)
Archive a completed task list by running this command (do NOT read the script file):
skills/tasks/scripts/task_archive.py .llm/todo.md
Moves the file to .llm/YYYY-MM-DD-todo.md where YYYY-MM-DD is today's date.
Exit codes: 0 (success), 1 (file not found or error)
The task list is in .llm/todo.md.
NEVER use the Read tool on .llm/todo.md. Always interact with the task list exclusively through the Python scripts.
[ ] - Not started (ready to work on)[x] - Completed[!] - Blocked after failed attemptEach task includes indented context lines with full implementation details:
Each task is extracted and executed in isolation. Every task must contain ALL context needed to implement it. Repeat shared context in every related task. Never reference other tasks.