Skip to content

Inline Todos

Find #wb/TODO markers across the vault, present them for triage, execute the freeform instructions, and clean up handled tags.

Workflow name: inline-todos

Execution: main

Override not allowed

Steps

# ID Name Type Depends on
1 discover Discover inline TODOs across vault code
2 triage Present TODOs and collect user decisions reasoning discover
3 execute Execute instructions for selected TODOs reasoning triage
4 cleanup Clean up handled TODO tags code execute

Step instructions

discover

No gateway capability exists yet for inline TODO discovery — use Python directly:

from work_buddy.obsidian.inline_todos import discover_inline_todos

result = discover_inline_todos(limit=100)

If result["count"] == 0, report "No #wb/TODO items found in the vault." and skip remaining steps.

Return the result as step output.

triage

Agentic step. The agent presents TODO items and collects user decisions. Behavioral instructions (batch size, presentation format, action options) are in the slash command, not here.

Collect decisions as structured output:

[
  {"index": 0, "action": "handle"},
  {"index": 1, "action": "skip"},
  {"index": 2, "action": "delete_tag"}
]

If all items are skipped, report that and end the workflow.

execute

Agentic step. The agent interprets and acts on freeform instructions for handled items. Behavioral instructions (interpretation rules, confirmation requirements) are in the slash command, not here.

Report what was done for each handled item.

cleanup

Build the list of items to clean up (those with action == "handle" or action == "delete_tag"). No gateway capability exists yet — use Python directly:

from work_buddy.obsidian.inline_todos import cleanup_handled_todos

result = cleanup_handled_todos(items_to_clean)

Note: For task creation within the execute step, use mcp__work-buddy__wb_run("task_create", {...}) rather than importing task mutation functions directly.

Report the cleanup summary: - N items cleaned across M files - Any skipped items (due to file edits during the workflow) - Any errors