36 tools with consistent naming (verb_noun pattern) and complete input schemas. Descriptions present but generic, most are 30-80 chars, below the 50-200 char LLM-optimized baseline. Parameter descriptions are minimal (e.g., 'ID of the tag to delete'). No output schemas documented. Error handling absent. Risk annotations (READ_ONLY, WRITE, DESTRUCTIVE) are present in metadata but not exposed in tool definitions. Missing idempotency guidance for retry-heavy operations like mark_project_reviewed.
Mark multiple projects as reviewed in a single operation
Mark a task as complete
Convert a task into a project
Create a new folder in OmniFocus
Create a new project in OmniFocus
Create subtasks under a parent task
Create a new tag in OmniFocus
Delete an empty folder
Delete a tag from OmniFocus
No output schemas documented. LLMs cannot predict response structure or plan downstream tool calls. E.g., get_projects returns unknown fields; agents cannot extract project_id for use in get_project_tasks.
Descriptions are generic and under 50 chars (baseline 50-200 for LLM optimization). E.g., 'Delete a tag from OmniFocus' lacks context on when to use vs update_tag or consequences. Agents cannot distinguish similar tools.
No error handling guidance. Tools lack recovery hints (e.g., 'If tag not found, call get_tags() to list available tags'). Agents cannot self-correct on failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Delete a task from OmniFocus
Get available (unblocked and not deferred) tasks in a project
Get tasks completed since a specified date
Get flagged tasks with optional defer date filtering
Get all folders in OmniFocus
Get tasks due within a specified number of days
Get tasks from the inbox with pagination
Get tasks that are overdue
Get a project by name with optional substring matching
Get tasks from a specific project's inbox
Get tasks from a specific project
Get all projects with optional filtering
Get projects that are due for review
Get a digest of projects for weekly review with filtering options
Get tasks that haven't been modified in a specified number of days
Get all tags or search tags by name
Get details of a specific task
Get tasks with specific tags
Mark a project as reviewed
Move a project to a different folder
Process an inbox task by moving it to a project, adding tags, and setting dates
Create a new task in OmniFocus via quick entry
Search for tasks by name
Mark a task as incomplete
Update a folder's name
Update a tag's name or parent
Update task properties including name, note, dates, tags, and recurrence
Idempotency not documented. mark_project_reviewed, batch_mark_reviewed, and complete_task lack guidance on retry safety. Agents may double-mark or double-complete on transient failures.
Risk annotations (READ_ONLY, WRITE, DESTRUCTIVE) present in metadata but not exposed in tool definitions. LLMs cannot see which tools are safe to retry or have side effects.