Task Triage¶
Interactive inbox review: surface tasks that need decisions, collect user input, apply state changes.
Workflow name: task-triage
Execution: main
Override not allowed
Steps¶
| # | ID | Name | Type | Depends on |
|---|---|---|---|---|
| 1 | gather |
Gather task data | code |
|
| 2 | present |
Present and collect decisions | reasoning |
gather |
| 3 | apply |
Apply mutations | code |
present |
| 4 | summary |
Report changes | reasoning |
apply |
Step instructions¶
gather¶
Gather task data via the gateway:
inbox_review = `mcp__work-buddy__wb_run("task_review_inbox")`
stale = `mcp__work-buddy__wb_run("task_stale_check")`
counts = `mcp__work-buddy__wb_run("task_briefing")`
projects = `mcp__work-buddy__wb_run("project_list")`
Return the combined results as the step output.
present¶
Agentic step. The agent presents tasks and collects user decisions. Behavioral instructions (batch size, presentation format, action options) are in the slash command, not here.
Collect decisions as structured output:
[
{"description_match": "...", "action": "focus|snooze|done|skip"},
...
]
apply¶
For each decision from the present step, apply mutations via the gateway:
for each decision:
if action == "focus":
`mcp__work-buddy__wb_run("task_change_state", {"task_id": "<id>", "state": "focused"})`
elif action == "snooze":
`mcp__work-buddy__wb_run("task_change_state", {"task_id": "<id>", "state": "snoozed"})`
elif action == "done":
`mcp__work-buddy__wb_run("task_toggle", {"task_id": "<id>", "done": true})`
// "skip" = no-op
Do NOT call task_archive from this step. Archiving is a separate, consent-gated bulk operation invoked deliberately (e.g. via /wb-task-triage follow-up or wb_run("task_archive") with explicit intent). The default policy archives only tasks completed >= 7 days ago — older completed work — so a single triage pass shouldn't rake up everything the user just finished. See tasks/task_archive for the consent prompt's count + sample-title preview.
summary¶
Agentic step. The agent reports what changed. Behavioral instructions (what to include, format) are in the slash command, not here.