Draft a reply to an email-sourced todo and open it in Outlook for review. Finds recently completed todos tagged
When a todo originated from an email, this skill drafts a reply based on what was completed and opens it in Outlook for review and sending.
All paths come from config.yaml at the repo root. Read it at the start of every run.
vault.root from config.yamlvault.root + vault.archive_fileproviders/_dispatch.sh at the repo root — routes to active draft providers/email-draft — find the most recently completed email-sourced todo and draft a reply/email-draft "todo text" — draft a reply for a specific completed todo item (fuzzy match against archived todos)Read the archive file (path from config.yaml) and find the most recently archived item that satisfies all of:
#source/outlook, #source/gmail, or any email provider tag)From:view link (web URL)Items are archived in chronological order (newest at bottom of each date section, or in order of appearance). Prefer the last matching item in the file.
Search the archive for a todo whose description fuzzy-matches the argument. If multiple matches exist, prefer the most recent. If no match is found, tell the user and stop.
From the matched todo's metadata sub-item (indented bullet under the todo), extract:
| Field | Source |
|---|---|
| Sender email | From: [email protected] |
| Sender first name | First word of the name before the email, or infer from the email address |
| Original subject | Infer from the todo description text; use the Outlook web URL path if it helps |
| Completion date | The archive date heading the todo falls under |
If the sender email cannot be determined, stop and ask the user:
"I couldn't find the sender's email address for this todo. Can you provide it?"
Do not guess an email address.
Generate a short, professional reply body:
Hi [first name],
[1-2 sentences describing what was done, in plain past tense. Reference the todo action specifically. No filler phrases like "I hope this finds you well".]
Let me know if you need anything else.
Best,
[Your Name]
Rules:
Run the draft provider dispatch:
providers/_dispatch.sh draft "[email protected]" "Re: Original Subject" "Draft body text here"
The dispatch routes to the active draft provider (e.g., Outlook, Gmail) and creates a draft message with the To, Subject, and body fields populated. It does not send the email — the user must review and send manually.
If the dispatch fails (no draft provider configured, email client not running, etc.), print the draft body in the terminal so the user can copy it manually.
Print:
Draft created for [sender first name] ([sender email]). Review and send when ready.
From: field is missing or ambiguous, ask the user.Archived todos from email providers look like this in the archive file:
- [x] Follow up with Jane about the budget report #source/outlook
- From: [email protected] | [view](https://outlook.office.com/...) | 2026-03-28
The #source/{provider} tag identifies the email provider (e.g., #source/outlook, #source/gmail).
The metadata sub-item is always indented under the todo checkbox item. The From: field, view link, and date may appear in any order separated by |.