plugins/omnifocus-automation/skills/ofocus-triage/SKILL.md
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.
npx skillsauth add mike-north/ofocus ofocus-triageInstall 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.
Use the ofocus CLI (see the ofocus skill for the full command reference). For a proactive "what should I focus on" summary, use the ofocus-brief skill instead; this skill is for acting — triaging, planning, reviewing.
Compute, don't reason. OmniFocus has already computed the hard parts — call the deterministic commands rather than pulling raw task lists into context and reasoning over them:
| Need | Command |
| ------------------------------------------------- | ----------------------------------------- |
| Due today / overdue / flagged | ofocus today |
| The week ahead | ofocus this-week |
| Stuck projects (active, no available next action) | ofocus stalled-projects |
| The next action per active project | ofocus next-actions |
| Raw inbox / flagged / filtered lists | ofocus tasks --in-inbox, --flagged, … |
| Workload stats | ofocus stats |
| What changed | ofocus changes |
Always read machine output with --format toon — identical data to JSON in ~40% fewer tokens, no information loss.
ofocus tasks --in-inbox --format toon.ofocus next-actions / stalled-projects to place an item where it actually moves work forward.ofocus update <id> … (or ofocus update-batch <ids…> for shared changes; ofocus complete / drop / delete as decided).ofocus subtask <parent-id> "<title>".ofocus stalled-projects), the fix is usually a decision: propose a concrete next action and, on approval, add it so the project becomes unstuck.ofocus projects-for-review → walk each; after reviewing, ofocus review <project-id>.ofocus stalled-projects → for each, propose a next action (or on-hold/drop) so nothing sits silently stuck.ofocus next-actions → sanity-check that every active project has a sensible next step.When the assistant surfaces an OmniFocus change (a SessionStart/end-of-turn digest, an urgent interjection, or a soft nudge to add a follow-up task), review live state — ofocus today, ofocus tasks --in-inbox, ofocus tasks --flagged — and triage what's there. Do not rely on the change log; the notification is only the signal that something is worth a look. For a soft nudge, add a task to your task list to follow up when you finish your current work (skip if you already have one).
data-ai
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.
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.
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.