claude/plugins/local/todoist-flow/skills/triage/SKILL.md
Interactive triage of overdue and stale Todoist tasks. Presents tasks in batches, user decides fate of each: complete, reschedule, delete, someday, or skip. Use when the user says 'triage', 'process overdue tasks', 'clean up todoist', 'deal with overdue', 'task triage', 'inbox zero', or when /todoist dashboard shows high overdue count.
npx skillsauth add paulnsorensen/dotfiles triageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Process overdue and stale tasks interactively. You present, the user decides — never assume a task's fate.
Spawn todoist-fetch to retrieve tasks in a fresh context window:
Agent(subagent_type: "todoist-fetch", prompt: "Fetch overdue tasks: find-tasks with filter 'overdue'. Sort by age (oldest first). Include task IDs, titles, projects, priorities, due dates, creation dates, descriptions, and any labels.")
If the user said "triage inbox" or "inbox zero":
Agent(subagent_type: "todoist-fetch", prompt: "Fetch inbox tasks: find-tasks with filter '#Inbox'. Sort by creation date (oldest first). Include task IDs, titles, priorities, due dates, creation dates, descriptions, and any labels.")
For each task, calculate days overdue. Flag tasks that are 3+ weeks overdue — these have been implicitly deprioritized and are strong candidates for deletion or Someday.
Show 5 tasks at a time. For each task, display:
### Task 1/N: [Task Title]
- Project: [project name]
- Priority: [p1-p4]
- Due: [original due date] (X days overdue)
- Description: [if any, truncated to 2 lines]
- Staleness: [STALE if 3+ weeks — "This task has been sitting for X weeks. Honest question: is this still relevant?"]
Actions: (C)omplete | (R)eschedule [when?] | (D)elete | (S)omeday | (K)eep as-is | (?)Research
Use AskUserQuestion to get the user's decision. Accept shorthand: c, r tomorrow, r next monday, d, s, k, ?.
If the user picks ? on a task, invoke the research skill to get context:
Skill(skill="todoist-flow:research", args="Context for this task: '[task title]'. [task description if any]. Help the user decide if this is still relevant and what the current state of this topic is.")
After research returns, re-present the task with the research context and ask again.
Batch decisions and run through the write pipeline (distill → scribe → QA):
Operation mapping:
complete-tasksreschedule-tasks (NEVER update-tasks — preserves recurrence)delete-objectupdate-tasks with dueString: "remove"1. Validate reasoning — spawn todoist-distill:
Agent(subagent_type: "todoist-distill", prompt: "Validate these triage decisions against user intent: [decisions with task data, user choices, and context]")
2. Format commands — spawn todoist-scribe with validated plan:
Agent(subagent_type: "todoist-scribe", prompt: "Format these validated triage operations as MCP commands: [distill's validated plan]")
3. Verify and execute — spawn todoist-qa:
Agent(subagent_type: "todoist-qa", prompt: "Verify and execute: [scribe's formatted commands]. Original intent: [distill's validated plan]")
After each batch of 5:
Completed: X | Rescheduled: X | Deleted: X | Someday: X | Kept: XAskUserQuestionWhen done (all tasks processed or user stops):
## Triage Complete
| Action | Count |
|--------|-------|
| Completed | X |
| Rescheduled | X |
| Deleted | X |
| Moved to Someday | X |
| Kept as-is | X |
Overdue count: [before] → [after]
tools
Reconstruct what a past coding-agent session was doing so you can resume it — goal, files touched, last verified state, and the next step — by querying the session logs. Use when the user says "what was I working on", "recover that session", "reconstruct where I left off", "resume my last session", "what did that session change", "rebuild context from logs", or invokes /work-recovery. Report-only — it never scores or judges. Do NOT use for usage scoring (that is /skill-improver, /tool-efficiency, /prompt-analytics) or one-off interactive log queries (that is /session-analytics).
development
Curate this repo's hallouminate wiki (.hallouminate/wiki/, the repo:dotfiles:wiki corpus) — add or update architecture pages, per-harness docs, and gotchas. Use when the user says "update the wiki", "document this in the wiki", "refresh the harness docs", "add a wiki page", "curate the wiki", "the wiki is stale", or invokes /wiki-curator. Also use at session end to write back a non-obvious decision or gotcha worth preserving. Grounds the existing wiki first, follows one-topic-per-file conventions, verifies every external doc URL before writing, and reindexes. Do NOT use for general code search (that is cheez-search) or for editing AGENTS.md command reference.
tools
Audit how a tool, command, or MCP server is actually used across coding-agent sessions and produce calibrated recommendations — tool-vs-task fit, error forensics, fix recommendations, permission friction, MCP health, and token economics. Use when the user says "tool efficiency", "am I using X efficiently", "audit tool usage", "why does X keep failing", "how do I fix this error", "what should I change", "permission friction", "is this MCP worth it", "tool error rate", "fix recommendations", or invokes /tool-efficiency. Do NOT use for auditing a skill or agent definition (that is /skill-improver) or for one-off interactive log queries (that is /session-analytics).
tools
Analyze how prompts and skill routing behave across coding-agent sessions and produce calibrated recommendations — prompt-pattern analysis, routing accuracy, and knowledge gaps. Use when the user says "analyze my prompts", "prompt patterns", "is routing working", "which skill should have fired", "knowledge gaps", "what do I keep asking", or invokes /prompt-analytics. Do NOT use for auditing a single skill/agent definition (that is /skill-improver), tool/MCP efficiency (that is /tool-efficiency), or one-off interactive log queries (that is /session-analytics).