From agentic-gtd
Resolve (clear) open tasks by marking them DONE or WON'T FIX in place, with a resolution tag and date. Non-destructive — the line stays as a record.
How this command is triggered — by the user, by Claude, or both
Slash command
/agentic-gtd:clear-tasks [domain] [matcher text] (e.g. `fulltime auth` to target the auth task in fulltime)This command is limited to the following tools:
The summary Claude sees in its command listing — used to decide when to auto-load this command
# /clear-tasks — Resolve Open Tasks (DONE / WON'T FIX) Clear open tasks by resolving them. "Clearing" means marking a task **DONE** or **WON'T FIX** — it does NOT delete the line. Resolved tasks stay in the file as a record but automatically drop out of `/plan-day`, `/plan-weekend`, and `/review-tasks` (which only match `- [ ]`). ## Resolution semantics | Resolution | Checkbox change | Appended tags | |------------|-----------------|---------------| | DONE | `- [ ]` → `- [x]` | `resolution:done resolved:<YYYY-MM-DD>` | | WON'T FIX | `- [ ]` → `- [-]` | `resolution:wontfix resolv...
Clear open tasks by resolving them. "Clearing" means marking a task DONE or WON'T FIX — it does NOT delete the line. Resolved tasks stay in the file as a record but automatically drop out of /plan-day, /plan-weekend, and /review-tasks (which only match - [ ]).
| Resolution | Checkbox change | Appended tags |
|---|---|---|
| DONE | - [ ] → - [x] | resolution:done resolved:<YYYY-MM-DD> |
| WON'T FIX | - [ ] → - [-] | resolution:wontfix resolved:<YYYY-MM-DD> |
resolved: date is determined at runtime from the system clock.recurs: present) — DONE means "log a pass", not "retire"A task carrying a recurs: tag is a standing review (see the gtd-prioritization skill's Recurring Tasks section). Its DONE semantics are different:
| Resolution on a recurring task | Checkbox change | Edit applied |
|---|---|---|
| DONE (completed this cycle) | stays - [ ] | set/update last:<YYYY-MM-DD> to today — this rolls the next occurrence forward by one interval. Do NOT add resolution:/resolved:, do NOT flip the checkbox. |
| WON'T FIX (stop recurring) | - [ ] → - [-] | resolution:wontfix resolved:<YYYY-MM-DD> — retires the standing task as normal. |
last: tag already exists, replace ONLY its date value; if absent, append last:<YYYY-MM-DD> at the end. Leave recurs: and every other tag untouched.Logged pass: <title> — last:2026-06-09, next due 2026-06-12.Parse $ARGUMENTS:
tasks/domains.md (read it), scope the search to that single file (tasks/<canonical>.md).tasks/domains.md, warn and treat the whole argument as a matcher across all domains.Discover & read: Glob tasks/*.md, ALWAYS excluding inbox.md by basename. If a domain was supplied, restrict to that file. Read the file(s).
Collect open candidates: parse only incomplete tasks with regex ^- \[ \] (.+)$ (ignore - [x], - [-], comments, headers). If a matcher was given, keep only tasks whose title contains the matcher (case-insensitive). Record each candidate's file and line number.
Handle candidate count:
AskUserQuestion with options to (a) scope to one domain, (b) re-run with a matcher, or (c) pick "Other" and type the line numbers to clear. Proceed once the selection is ≤ a workable set.Ask resolution intent — ALWAYS, never assume via AskUserQuestion. The command MUST NOT clear any task without first asking whether it is DONE or WON'T FIX. Do not default or infer the resolution — the user decides explicitly.
AskUserQuestion allows up to 4 questions per call, ask one question per task in a single call when ≤4 tasks are selected; for >4, ask in successive calls (batches of 4). Each question:
Resolution; question text names the task title.note:"<text>" — keep it short; omit if empty.Apply edits (in place, surgical): for each selected task, use Edit to change ONLY that line:
recurs: tag and the resolution is DONE): do NOT flip the checkbox and do NOT append resolution:/resolved:. Instead set/update last:<YYYY-MM-DD> to today (replace the existing last: value, or append last:<date> if none). This is the only case where the line stays - [ ].- [ ] with - [x] (DONE) or - [-] (WON'T FIX), and append resolution:<done|wontfix> resolved:<YYYY-MM-DD> (and note:"..." if given) at the end of the line.old_string for each Edit MUST be the exact full existing line so the match is unique; NEVER touch any other line, the header, or other tasks.Confirm:
Cleared N task(s):
- [x] <title> (fulltime, resolution:done, resolved:2026-06-08)
- [-] <title> (knowledge, resolution:wontfix, resolved:2026-06-08)
- [x] / - [-]) lines later, that's a separate operation — ask explicitly.tasks/inbox.md) is never read here — clear it via the Triage agent instead./plan-day, /plan-weekend, and /review-tasks because those only match - [ ].npx claudepluginhub josix/agentic-gtd