From agentic-gtd
This skill should be used when prioritizing tasks, building a daily plan, building a weekend plan, or ranking work across the task domains using the fixed priority ladder.
How this skill is triggered — by the user, by Claude, or both
Slash command
/agentic-gtd:gtd-prioritizationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- **Source files**: glob `tasks/*.md` relative to plugin root.
tasks/*.md relative to plugin root.tasks/inbox.md — excluded by basename match. Never read during planning.tasks/domains.md (read it). Default domains: fulltime, parttime, side-projects, open-source, knowledge.Only incomplete tasks are considered for planning.
Regex for incomplete tasks (applied per line):
^- \[ \] (.+)$
Lines matching - [x] (completed) and all comment lines or non-task lines are ignored.
Title extraction: the task title is the text BEFORE the first key:value tag.
Tag extraction: apply global regex (\w+):(\S+) to the full task line. All key:value pairs after the title are tags.
Recognized tag keys: prio, project, effort, impact, due, context, recurs, last, order
Normalization rules:
30m → 302h → 1201.5h → 90unknown (treated as large for filtering, sorts last in effort tiebreak)YYYY-MM-DD):
no-due (sorted after tasks with due dates)no-due + warning added to output@ (e.g. @computer, @phone)Nd → N days (e.g. 3d → 3)Nw → N×7 days (e.g. 1w → 7, 2w → 14)daily → 1, weekly → 7, biweekly → 14, monthly → 30recurs (treat as a normal one-shot task) + warningYYYY-MM-DD): the date the task was most recently completed. Only meaningful alongside recurs. Unparseable or missing → treated as never done.A task carrying a recurs: tag is a standing review, not a one-shot next-action. It is never "completed" permanently; it comes due again every interval.
due would be — ranking proximity, overdue detection):
recurs + last present → effective_due = last + interval (in days).recurs present, last absent (never done) → effective_due = today (surfaces immediately).due: tag is ignored when recurs: is present; if both appear, emit a warning and use the recurrence-derived effective due.effective_due <= today. If effective_due > today it is dropped from the plan with reason recurs-not-due and listed under Deferred / filtered out (it is simply not due yet). Eligible recurring tasks still pass through the effort/context/energy filters normally.effective_due for the due-proximity tiebreak (so an overdue standing review sorts early)./clear-tasks): marking a recurring task DONE does not flip it to - [x]. It stays - [ ] and its last: is set/updated to the completion date — which rolls the next effective_due forward by one interval. Only WON'T FIX retires a recurring task (flips to - [-], stopping the recurrence).[OVERDUE] by effective_due < today. They are NEVER counted as "stale" (a cadence is an update signal) and are NOT flagged for a missing due (their due is derived from recurs/last).| prio value | rank |
|---|---|
| fulltime | 1 |
| parttime | 2 |
| trust | 3 |
| side | 4 |
| long | 5 |
| short | 6 |
| tedious | 7 |
| missing or invalid | 99 (sorts last; emits warning) |
The rank is NEVER overridden by any other field. This ladder is strict.
Apply these criteria in order until a winner is determined:
order:N sort before tasks without an order tag within the same prio rank. Tasks without order: are treated as Infinity (sort last within the rank). The order: value NEVER crosses prio-rank boundaries; rank is never overridden.no-due tasks sort after all dated tasks. For recurring tasks (recurs: present), use the effective due (last + interval) here.unknown effort sorts last.tasks/domains.md and sort domains by their daily_order column (ascending) for daily mode, or weekend_order column for weekend mode. Default daily order: fulltime(1) < parttime(2) < side-projects(3) < open-source(4) < knowledge(5). Default weekend order: side-projects(1) < open-source(2) < knowledge(3) < parttime(4) < fulltime(5). In weekend mode, step 5 is REPLACED by the weekend_order column values. Steps 1–4 and 6 are identical in both modes.Arguments: hours (default: 8), energy (default: med), context (default: any)
Filter steps (applied before ranking):
0. Recurrence filter: for any task with a recurs: tag, compute its effective due (last + interval, or today if never done). Drop it when effective_due > today (reason: recurs-not-due); keep it when effective_due <= today. Non-recurring tasks skip this step.
unknown, treat as large (assume 240m for filtering unless hours param makes it obviously too large).context tag does not intersect the requested context list. Tasks with no context tag pass through when no context filter is active.energy:low → drop tasks with prio:fulltime or prio:parttime AND drop tasks with large effort (≥120m or unknown). Prefer prio:tedious and small effort tasks (≤30m).energy:med → no additional drops.energy:high → no drops (all tasks eligible).After filtering, rank survivors using the algorithm above.
Greedy fill: iterate ranked list, accumulate effort minutes. Include tasks that fit within hours * 60 total minutes. Tasks that exceed remaining time go to "Deferred / filtered out" section.
Tasks filtered out (by context/energy/effort) AND tasks that didn't fit in hours both appear in ## Deferred / filtered out.
Arguments: hours (default: 12)
Step (a) — Weekly Review sweep FIRST:
Before building the plan, emit ## Weekly Review sweep listing:
due < today (ISO comparison). Flag with [OVERDUE]. For recurring tasks, compare effective_due < today.recurs: present) are NEVER stale — exclude them.prio, effort, or due. List each with the specific missing fields. Do NOT flag a recurring task for a missing due (its due is derived from recurs/last); a recurring task missing recurs parse or last may be noted instead.The recurrence eligibility filter (effective_due ≤ today) also applies to the weekend ranked plan, identically to daily mode Step 0.
Step (b) — Weekend domain tie-break (reverses daily order):
Domain priority for weekend is determined by the weekend_order column in tasks/domains.md. Default order: side-projects(1) < open-source(2) < knowledge(3) < parttime(4) < fulltime(5)
(i.e., fulltime sorts last in domain tiebreak; side-projects most favored for weekend)
Step (c) — Fulltime sectioning:
prio:fulltime tasks → placed in a separate ## Full-time (optional this weekend) section.prio:fulltime tasks → remain in the main ranked list, flagged [OVERDUE].Primary prio ordering is identical to daily (rank 1–7, 99 last).
# Daily Plan — YYYY-MM-DD
1. [rank] Title — domain · effort · due · context
2. [rank] Title — domain · effort · due · context
...
## Deferred / filtered out
- Title — domain (reason: over-time | low-energy | context-mismatch | recurs-not-due)
...
## Warnings
- [file:task] Missing prio — assigned rank 99
- [file:task] Malformed due date: "<value>"
...
# Weekend Plan — YYYY-MM-DD
## Weekly Review sweep
### Overdue
- [OVERDUE] Title — domain · due:<date>
### Stale (no due + no project)
- Title — domain
### Missing or invalid metadata
- Title — domain · missing: prio, effort
...
## Weekend Plan (ranked)
1. [rank] Title — domain · effort · due · context
2. [rank] Title — domain · effort · due · context
...
## Full-time (optional this weekend)
- Title — fulltime · effort · due · context
...
## Warnings
- [file:task] Missing prio — assigned rank 99
- [file:task] Malformed due date: "<value>"
...
Used by /plan-week. Builds a 7-day plan (today through today+6) using the same ranking logic as Daily mode, applied per day.
Day bucketing rules (applied before per-day ranking):
recurs-not-due).out-of-window).Per-day fill: apply the six-level tiebreak ranking within each day's bucket; greedily fill up to hours-per-day * 60 minutes. Overflow → Deferred with reason over-time <date>. Tasks are NEVER auto-pushed to the next day.
Ranking algorithm: identical to Daily mode (prio rank → manual order ascending → due proximity → effort → domain order → alphabetical). No special day-level weighting.
tasks/inbox.md; domain files hold clarified tasks.Any task missing a prio: tag, or with an unrecognized prio value, is assigned rank 99. It sorts after all valid-prio tasks. A warning is emitted in ## Warnings naming the source file and task title:
## Warnings
- [tasks/knowledge.md: "Read chapter 4"] Missing prio — assigned rank 99
- [tasks/fulltime.md: "Fix thing"] Malformed due date: "next-friday"
Same rule applies to malformed due values: normalize to no-due and emit a warning.
npx claudepluginhub josix/agentic-gtdGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.