tasks
/tasks
Obsługuje listy zadań w plikach .llm/todo.md: wyciąga niezakończone pozycje, oznacza je jako zrobione i realizuje zadania.
- Autor
- motlin ↗
- Repozytorium
- claude-code-plugins ↗
- Licencja
- Apache-2.0
- Ostatnia zmiana repozytorium
- 26.10.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Brak sygnałów. Repozytorium zmienione 26.10.2026, bez odwołań do wycofanych modeli i API.
Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.
Co robi i kiedy
Obsługuje listy zadań w plikach .llm/todo.md: wyciąga niezakończone pozycje, oznacza je jako zrobione i realizuje zadania.
Oryginalny opis (EN)
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.
Jak działa
- Scripts
- Task Format
- Plan Files
Podgląd SKILL.md
---
name: tasks
description: 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.
---
# Markdown Task Management
The task list lives in `.llm/todo.md`. Inspect and change it only through the scripts below: the file grows large, and the scripts return just the task you need instead of loading the whole list into context.
`<plugin-root>` is `${CLAUDE_PLUGIN_ROOT}` in Claude Code. In Codex, it is the plugin root that contains this `skills/tasks/SKILL.md` file.
Every script exits 0 on success and 1 on error.
## Scripts
### task_get.py - Extract Next Task
```bash
python <plugin-root>/scripts/task_get.py .llm/todo.md
```
Prints the first `[ ]` task with all indented context lines below it. Exits 1 when the file does not exist.
To see more of the queue, select incomplete tasks by 1-based position. Positions count only `[ ]` tasks; `[x]`, `[!]`, and `[>]` tasks are skipped.
```bash
python <plugin-root>/scripts/task_get.py .llm/todo.md --index 3
python <plugin-root>/scripts/task_get.py .llm/todo.md --range 1-10
python <plugin-root>/scripts/task_get.py .llm/todo.md --limit 10
```
Each selected task prints as its checkbox line and context, with a blank line between tasks. `--index` and a `--range` that starts past the last incomplete task exit 1; a `--range` or `--limit` that runs past the end prints the tasks that exist.
### task_add.py - Add New Task
```bash
python <plugin-root>/scripts/task_add.py .llm/todo.md "Task description
Context line 1
Context line 2"
```
Appends a `[ ]` task, creating `.llm/todo.md` if needed and preserving indentation in multi-line strings.
Add a batch of tasks in one shell command, chaining one call per task with `&&`, so concurrent sessions writing the same file are unlikely to interleave:
```bash
python <plugin-root>/scripts/task_add.py .llm/todo.md "First task
Context line 1" && \
python <plugin-root>/scripts/task_add.py .llm/todo.md "Second task"
```
### task_mark.py - Mark Task
```bash
python <plugin-root>/scripts/task_mark.py .llm/todo.md
python <plugin-root>/scripts/task_mark.py .llm/todo.md --marker='!' --reason='precommit failed on the parser rewrite'
```
Changes the first `[ ]` to `[x]`, or to any single non-space character passed as `--marker`. Exits 1 when no incomplete task remains.
`--reason` appends an indented line to the end of the task body:
```markdown
- [!] Require authentication on API routes.
Reuse `validateJwt` from `/workspace/project/src/auth/tokens.ts`.
Blocked 2026-08-19 session 94aec27b: validateJwt does not exist; the repo uses `verifyToken`
```
The reason travels with the task through archive and recovery, and `task_get.py` hands it to the next attempt. Quote the concrete failure (the failing command, the assertion, the missing symbol) rather than restating the task.
The line's label follows the marker: `Blocked` for `!`, `Completed` for `x`, `Claimed` for `>`, and `Marked [<marker>]` for any other.
`--reason` is required with `--marker='!'`; without it the script exits 1 and leaves the file untouched.
To mark a task other than the first, name it:
```bash
python <plugin-root>/scripts/task_mark.py .llm/todo.md --index 3 --marker='>'
python <plugin-root>/scripts/task_mark.py .llm/todo.md --title 'Require authentication on API routes.'
```
`--index` counts `[ ]` tasks the same way `task_get.py` does. `--title` matches the first `[ ]` or `[>]` task whose text after the checkbox equals the title exactly, so it can complete or block a task that was claimed with `[>]`. Positions shift once a task is marked, so prefer `--title` when marking several tasks in turn. A missing title or out-of-range index exits 1 and leaves the file untouched.
### task_archive.py - Archive Task List
```bash
python <plugin-root>/scripts/task_archive.py .llm/todo.md
```
Moves the file to `.llm/YYYY-MM-DD-todo.md`. Blocked `[!]` tasks are carried forward into a fresh `.llm/todo.md`, still marked `[!]`. Prints the archive path and the carried-forward count.
### task_unblock.py - Recover Blocked Tasks
```bash
python <plugin-root>/scripts/task_unblock.py .llm --dry-run
python <plugin-root>/scripts/task_unblock.py .llm
```
Scans every `.llm/*todo*.md`, including the live `.llm/todo.md`, and moves each `[!]` task into `.llm/todo.md` as an open `[ ]` task stamped with an indented `Recovered <yyyy-mm-dd> session <session-id>` line. Existing `Blocked` lines are kept. Recovery is a move, so re-running cannot duplicate a task; emptied archive files stay on disk. Exits 0 when nothing is blocked.
Recovery rewrites historical archives. Always run `--dry-run` first and confirm the report with the user.
## Task Format
A task starts with one of these markers:
- `[ ]` - Ready
- `[x]` - Completed
- `[!]` - Blocked after a failed attempt
Each task is extracted and executed in isolation, so it must carry all the context needed to implement it in indented lines:
- Absolute file paths
- Exact function/class names
- Existing patterns to follow
- Dependencies and prerequisites
- Expected outcome
Repeat shared context in every related task. Never reference other tasks.
## Plan Files
Before adding tasks from a plan, store the plan at `.llm/plans/<yyyy-mm-dd>-<descriptive-name>.md` (for example, `2025-12-04-thread-safety-tests.md`), creating the directory if needed. A Claude Code plan-mode file under `~/.claude/plans/` is moved there, not copied. Include the archived plan's absolute path in every task.
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · motlin/claude-code-plugins | 100 | Apache-2.0 |
| ericrisco/rsc-harness | 100 | MIT |
| komdosh/komnet | 100 | MIT |
| komdosh/komnet | 100 | MIT |
| shenxingy/clade | 100 | MIT |
| xobotyi/cc-foundry | 100 | MIT |
| laurigates/claude-plugins | 100 | MIT |
| genkovich/sdd | 100 | MIT |
| zte-aicloud/co-omnispec | 100 | MIT |
Migawka bazy z 28.10.2026 · wersja paczki 803b2087b980 (skrót SHA-256 całej paczki)
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100todo
Obsługuje listy zadań w Home Assistant: dodaje, zmienia, oznacza jako zrobione i usuwa pozycje oraz tworzy listy lokalne. - 95google-tasks-tool
Pobiera listy zadań Google Tasks, dodaje zadania, zmienia ukończenie i przełącza listy przez OAuth2. - 100todo-create
Tworzy trwałe pozycje zadań i śledzi ich cykl życia oraz ustalenia między sesjami w pliku. - 91do-one-task
Znajduje następne nieukończone zadanie w pliku todo, wykonuje je, commituje przez proces zakończenia i oznacza jako zrobione. - 100microsoft-todo
Czyta i zarządza listami oraz zadaniami Microsoft To Do przez Microsoft Graph v1.0, w tym terminami, przypomnieniami i oznaczaniem zadań jako ukończone. - 100do-all-tasks
Przechodzi przez wszystkie niedokończone zadania z .llm/todo.md, dla każdego uruchamia świeżego subagenta i robi jeden commit, pomijając zablokowane.