Daily Action Agent
Turns a work mailbox into a durable register of what you owe people and who you are waiting on.
Most inbox tools summarise. This one answers two questions and discards everything else: what do I owe someone, and who do I need to chase? Anything purely informational is dropped. The value is not the summary. It is that an obligation, once seen, cannot silently disappear.
Built for: delivery leads, programme and project managers, and PMO. Anyone whose commitments arrive by email and get lost there.
What it does
- Reads the last few days of email on a schedule and proposes DO items (things you owe) and WAIT items (things you are chasing).
- Nothing enters the register without your approval. You reply with plain-text commands such as “approve 1,3” or “2 → due Thursday”.
- Escalates severity automatically on two independent clocks, and syncs every item to a calendar event with reminders.
- Maintains one daily alarm whose title carries the counts, so it is readable from a lock screen without opening anything.
- Renders a one-page HTML triage brief each morning that composes your reply as you click.
- Nothing is ever deleted. Closing moves an item to an archive that keeps its full provenance.
Design decisions worth knowing
Each of these is a real failure that was designed out.
Two escalation clocks, not one
Severity escalates at five days in the list or five days past the deadline, whichever comes first. An item that arrived already overdue is not fresh, and time-in-list counts how long you have known about something, not how long it has been outstanding.
An item can never go quiet
A WAIT item past its chase date always carries a flag: CHASE if nobody replied, ANSWERED if they did. ANSWERED does not mean done; only you decide that. The engine enforces this as a hard rule and refuses to write if it is ever broken, because an item that silently loses every flag drops out of view permanently. That is the exact failure the tool exists to prevent.
Every write is proven, not assumed
After saving, the register is read back from storage and checked against assertions generated from the changes that run actually made, never a hardcoded list, which would either fail every morning or get quietly skipped. If an assertion fails, the run stops and the brief opens with what was lost, rather than reporting success over a truncated file.
The calendar can be reconciled without the register
Every event carries a marker in its description. The daily sweep finds its own events by that marker rather than by consulting the register, so a calendar write that succeeds while a storage write fails still leaves something that can be found and cleaned up.
It will not silence a person
The suppression mechanism exists for ticketing systems, bots and circulars. Applying it to a named colleague is blocked in code, because their next real request would vanish before anyone saw it and, by construction, nobody would notice.
What you need
- Claude, with an email connector (read access) and a calendar connector (write access).
- Durable document storage for the register: a Claude Project, a synced drive or a repo. Not a scratch filesystem.
- A scheduled run, typically weekday mornings.
Setting it up
- Unzip into your skills directory so the folder sits as
daily-action-agent/. - Fill the CONFIG block at the top of
SKILL.md: mailbox, timezone, storage paths. Nothing works until every placeholder is a real value. - Connect an email and a calendar account, then run one manual pass and confirm it reports the right mailbox back to you.
- Leave approval mode on manual until you have run it for a few weeks.
This is a Claude skill, not a hosted service
It runs in your own Claude account against your own mailbox and calendar. MBS Infotech never sees your email or calendar, and holds no access to either.