plugins/omnifocus-automation/skills/ofocus-brief/SKILL.md
Give the user a proactive OmniFocus "chief of staff" briefing — what changed, what's due today, what's overdue, what's stuck, and the next action per project, synthesized into the few things that matter. Use when the user asks for a brief, standup, daily review, "what should I focus on", "what's on my plate", "catch me up on OmniFocus", or at the start of a working session.
npx skillsauth add mike-north/ofocus ofocus-briefInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Act as the user's chief of staff: do the homework with deterministic commands, then hand them the few things that matter — not a data dump. Synthesize and prioritize; offer to handle the rest.
Run these and read the output. When you (an agent) run the CLI it auto-detects you and returns TOON by default — identical data to JSON in ~40% fewer tokens, no flag needed. Don't pull raw task lists into context and reason over them; these commands have already done the computing:
| What | Command |
| ----------------------------------------------------------------------------- | --------------------------------- |
| Due today, overdue, flagged (with how-overdue / how-soon) | ofocus today |
| The week ahead, grouped by day | ofocus this-week |
| Stuck projects — active, with remaining work but no available next action | ofocus stalled-projects |
| The single next action per active project | ofocus next-actions |
| Inbox backlog awaiting triage | ofocus tasks --in-inbox --count |
| What changed since the last review (only if a watch is configured) | ofocus changes --watch agent |
Run them concurrently where you can. If one errors (e.g. OmniFocus not running), note it in a phrase and continue with what you have — never block the whole brief on one missing piece.
Lead with the 3–5 things that actually matter today, chosen in priority order: overdue → due-today → flagged → newly-urgent. Then a tight rundown. Keep it scannable — prefer counts plus the specific high-signal items over full lists.
Suggested shape (adapt to what's actually there; omit empty sections):
Here's your day.
Focus — the few that matter: 1–3 items worth protecting time for, named (the overdue/flagged/due-today that can't slip).
Due today / overdue: the remainder as a short list or a count.
Needs attention: stalled projects by name — these have remaining work but no available next action, so they need a decision, not just doing. And: N inbox items waiting to be triaged.
This week: one line on what's coming.
End by offering to act, concretely — pick the highest-leverage next move and propose it: triage the inbox, unstick a named stalled project (propose its next step), break down a big item, or defer/reschedule what realistically won't happen today. A chief of staff doesn't just report; they tee up the next move.
ofocus-triage skill (propose → confirm → apply). Never mutate OmniFocus without explicit confirmation.tools
Triage the OmniFocus inbox and co-plan with the user. Use when the user asks to process/triage their inbox, plan or break down tasks, run a weekly review, unstick a stalled project, or when acting on an "OmniFocus changed" notification from the assistant. Proposes dispositions for approval and applies them via the ofocus CLI.
tools
Triage the OmniFocus inbox and co-plan with the user. Use when the user asks to process/triage their inbox, plan or break down tasks, run a weekly review, or when acting on an "OmniFocus changed" notification from the assistant. Proposes dispositions for approval and applies them via the ofocus CLI.
tools
Interact with OmniFocus on macOS via CLI. Manage tasks, projects, folders, tags, and perspectives using the ofocus command-line tool.
data-ai
Example TaskFlow authoring pattern for inbox triage. Use when messages need different treatment based on intent, with some routes notifying immediately, some waiting on outside answers, and others rolling into a later summary.