Productivity
omnifocus avatar

omnifocus

Programmatically manage OmniFocus tasks and projects. Supports creation, querying, updates, and completion tracking across all OmniFocus versions using native automation and fallback methods.

Introduction

The OmniFocus Manager is a specialized skill designed for power users who need to integrate their task management workflows directly into their terminal or Claude interaction environment. It provides a robust interface for interacting with OmniFocus projects and tasks, bridging the gap between manual entry and automated data processing. This tool is ideal for developers, project managers, and anyone relying on OmniFocus for GTD (Getting Things Done) who wants to reduce context switching by programmatically manipulating their task lists.

  • Intelligent method detection automatically selects the most efficient path between Omni Automation (JavaScript API), AppleScript, or a SQLite read-only fallback to ensure maximum compatibility across all versions of OmniFocus.

  • Comprehensive task lifecycle management allows you to create new tasks with metadata, query existing tasks using specific filters like tags or project names, and perform status updates like marking items as complete.

  • Native project listing enables you to retrieve structured JSON data about your current projects, including task counts and status indicators, facilitating better data visibility.

  • Robust command-line integration supports common shell operations, allowing you to chain tasks, pipe output to tools like jq for further processing, and incorporate OmniFocus data into larger reporting or analytic workflows.

  • Flexible parameter support handles task titles, notes, due dates in ISO 8601 format, and complex tag structures to maintain high-fidelity task data.

  • Always look up exact project names before creating tasks, as they may contain special characters or folder prefixes; utilize the --list-projects command for verification.

  • When performing updates, retrieve the specific task ID first via the --read command to ensure precision in your operations.

  • AppleScript fallback is recommended for projects with complex names, while the SQLite mode serves as a read-only solution when no automation permissions are available.

  • Requires specific system-level automation permissions (Privacy & Security settings) for full write capabilities; refer to the local setup instructions if you encounter access errors.

  • The tool is designed to work efficiently with JSON output, making it highly compatible with programmatic parsing and integration into custom scripts.

Repository Stats

Stars
4
Forks
0
Open Issues
0
Language
Python
Default Branch
main
Sync Status
Idle
Last Synced
May 3, 2026, 09:09 PM
View on GitHub