task_extract_from_image
Extract tasks from an image by supplying a file path or existing attachment. Preview proposed tasks with a dry run, then confirm to create them in a target OmniFocus project.
Instructions
Capture tasks from an image — agent does vision, tool does plumbing. Source is a path or existing OF attachment; agent supplies proposed: ProposedTask[]. Two-phase: dryRun=true validates+echoes; dryRun=false with confirmation[] writes. attachSourceTo: 'parent-task' (default), 'each-task' (path-mode only), or 'none'. Path-mode: PNG/JPEG/HEIC/HEIF/GIF/WEBP/PDF; respects attachment-path-scope + size cap. Do NOT use when you already have structured tasks — call task_batch_create. Returns { phase, proposed?, parent?, created?, outcome? }. Side effects: dryRun=false creates tasks; call sync_trigger for cross-device. Example: task_extract_from_image({ source: { kind: "path", path: "/tmp/whiteboard.png" }, proposed: [{ name: "Follow up with Alice" }], dryRun: true })
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dryRun | No | true (default) = preview; false requires confirmation[]. | |
| source | Yes | Image source. attachment requires exactly one owner. | |
| proposed | Yes | Agent-supplied extraction. | |
| confirmation | No | Required when dryRun=false. (Possibly-edited) confirmed tasks. | |
| attachSourceTo | No | Re-attachment mode after task creation. | parent-task |
| parentTaskName | No | Wrapper parent task name; default 'Captured from image'. | |
| targetProjectId | Yes | Project that receives the captured tasks (and the wrapper, if `parent-task` mode). |