User outcome
Let users create or update repeating OmniFocus tasks through the compact task
creation and edit tools instead of managing repetition manually in OmniFocus.
Examples include weekly reviews, monthly bills, and reminders that repeat from
their assigned date or after completion.
Dependency
Implement after the edit-surface consolidation in #91 and task creation in #82
are stable. Extend those tools rather than adding a dedicated repetition tool.
Documented API basis
Omni Automation documents the writable task.repetitionRule property and the
Task.RepetitionRule constructor. Current OmniFocus versions support an ICS
recurrence rule plus schedule type, anchor date, and catch-up behavior. The
legacy repetition method parameter is deprecated when the newer schedule fields
are supplied.
Reference:
https://omni-automation.com/omnifocus/task-repeat.html
Scope to design and implement
- Read the current repetition rule through existing task field selection.
- Set or clear a repetition rule through
edit_tasks.
- Set repetition when creating a task through
add_tasks.
- Represent the documented current schedule type, anchor date, catch-up
behavior, and ICS rule without exposing deprecated combinations.
- Validate the rule and required anchor/due/defer dates before saving.
- Preview the human-readable schedule and raw supported values before writing.
- Verify the saved rule and return compact repetition fields when requested.
- Define how completing or dropping a repeating occurrence is reported so the
assistant does not confuse an advanced original task with a failed update.
Guardrails
- Use only the documented Omni Automation repetition APIs.
- Do not invent or silently repair an invalid ICS rule.
- Reject deprecated/current parameter combinations that OmniFocus rejects.
- Require explicit confirmation before replacing or clearing an existing rule.
- Keep repetition optional so ordinary task schemas and responses remain
compact.
- Do not combine this work with creation, tool consolidation, transport, or
query optimization in one branch.
Acceptance criteria
- A task can be created with a verified repeating schedule.
- An existing task can have its repetition set, replaced, or cleared.
- Regular schedules and schedules based on completion are distinguishable.
- Invalid rules and unsupported combinations fail before changing OmniFocus.
- Preview describes the resulting schedule accurately.
- Readback matches the rule stored by OmniFocus.
- Completion behavior for a repeating task reports the resulting occurrence and
stable IDs truthfully.
- Swift Testing and reversible live integration tests cover set, replace, clear,
invalid, and completion-advance cases.
- MCP/CLI parity and compact catalog-size gates remain satisfied.
User outcome
Let users create or update repeating OmniFocus tasks through the compact task
creation and edit tools instead of managing repetition manually in OmniFocus.
Examples include weekly reviews, monthly bills, and reminders that repeat from
their assigned date or after completion.
Dependency
Implement after the edit-surface consolidation in #91 and task creation in #82
are stable. Extend those tools rather than adding a dedicated repetition tool.
Documented API basis
Omni Automation documents the writable
task.repetitionRuleproperty and theTask.RepetitionRuleconstructor. Current OmniFocus versions support an ICSrecurrence rule plus schedule type, anchor date, and catch-up behavior. The
legacy repetition method parameter is deprecated when the newer schedule fields
are supplied.
Reference:
https://omni-automation.com/omnifocus/task-repeat.html
Scope to design and implement
edit_tasks.add_tasks.behavior, and ICS rule without exposing deprecated combinations.
assistant does not confuse an advanced original task with a failed update.
Guardrails
compact.
query optimization in one branch.
Acceptance criteria
stable IDs truthfully.
invalid, and completion-advance cases.