Skip to content

Instantly share code, notes, and snippets.

@idvorkin
Created October 5, 2025 01:11
Show Gist options
  • Select an option

  • Save idvorkin/3dc1063731687e869d77dd296ac9b1ff to your computer and use it in GitHub Desktop.

Select an option

Save idvorkin/3dc1063731687e869d77dd296ac9b1ff to your computer and use it in GitHub Desktop.
changes - idvorkin/omnifocus_cli.git (7 days ago to 2025-10-05)

Changes to idvorkin/omnifocus_cli.git From [7 days ago] To [2025-10-05]

  • Model: claude-sonnet-4-5-20250929
  • Duration: 37 seconds
  • Date: 2025-10-04 18:11:43

Table of Contents (code)


Summary

  • Added Alfred workflow integration to output tasks in Alfred's JSON format for macOS automation - (omnifocus.py)
    • New ainteresting() command formats tasks with rich metadata including emojis for flags 🚩, URLs 🌐, projects 📁, tags 🏷️, and due dates 📅
    • Tasks sorted by creation date (most recent first) with support for quicklook URLs, clipboard actions, and fuzzy search
    • Enables seamless task selection and command integration through Alfred's workflow system

Table of Changes (LLM)

  • omnifocus.py
    • Added ainteresting() command for Alfred workflow JSON output
    • Implemented rich task display with emoji indicators (🚩🌐📁🏷️📅)
    • Added Alfred action support (quicklook, copy, largetype, autocomplete)
    • Sort tasks by creation date for relevance

omnifocus.py

omnifocus.py: +65, -0, ~65

TL;DR: Add Alfred workflow integration by outputting interesting tasks in Alfred's JSON format for better macOS workflow automation.

  • Add ainteresting() command to format tasks for Alfred workflow consumption
    • Output tasks in Alfred's JSON schema with uid, title, subtitle, arg, and metadata fields
    • Sort tasks by creation date (most recent first) for relevance
  • Enhance task display with rich metadata and icons
    • Include emoji indicators for flags (🚩), URLs (🌐), projects (📁), tags (🏷️), and due dates (📅)
    • Build subtitle with project, tags, due date, creation date, and source information
  • Enable Alfred workflow actions
    • Pass task number as arg for downstream command integration
    • Add quicklook URL support for tasks with embedded URLs
    • Include copy/largetype text for clipboard and preview functionality
    • Set autocomplete and match fields for Alfred's fuzzy search

omnifocus.py

omnifocus.py: +65, -0, ~65

TL;DR: Add Alfred workflow integration by outputting interesting tasks in Alfred's JSON format for better macOS workflow automation.

  • Add ainteresting() command to format tasks for Alfred workflow consumption
    • Output tasks in Alfred's JSON schema with uid, title, subtitle, arg, and metadata fields
    • Sort tasks by creation date (most recent first) for relevance
  • Enhance task display with rich metadata and icons
    • Include emoji indicators for flags (🚩), URLs (🌐), projects (📁), tags (🏷️), and due dates (📅)
    • Build subtitle with project, tags, due date, creation date, and source information
  • Enable Alfred workflow actions
    • Pass task number as arg for downstream command integration
    • Add quicklook URL support for tasks with embedded URLs
    • Include copy/largetype text for clipboard and preview functionality
    • Set autocomplete and match fields for Alfred's fuzzy search

Changes to idvorkin/omnifocus_cli.git From [7 days ago] To [2025-10-05]

  • Model: gemini-2.5-pro
  • Duration: 20 seconds
  • Date: 2025-10-04 18:11:43

Table of Contents (code)


Summary

A new ainteresting command has been added to omnifocus.py for deep integration with Alfred workflows. This command formats "interesting" tasks into the Alfred Script Filter JSON format, enriching the output with icons for flagged (🚩) or web-linked (🌐) tasks, a detailed subtitle with project and tag information, and enabling Quick Look for tasks with URLs. This allows for a richer, more interactive experience when viewing OmniFocus tasks within Alfred.

Table of Changes (LLM)

  • omnifocus.py
    • Added the ainteresting command to output tasks in Alfred's Script Filter JSON format.
    • Enriched Alfred item titles with icons for flagged tasks (🚩) and tasks with URLs (🌐).
    • Created detailed subtitles including project, tags, and due/defer dates.
    • Enabled Alfred's Quick Look feature for tasks containing a URL.

omnifocus.py

omnifocus.py: +67, -0, ~67 TL;DR: Add a new ainteresting command to output tasks in a JSON format compatible with Alfred workflows, enabling rich integration.

  • Integrate with Alfred by adding the ainteresting command, which formats "interesting" tasks into the Alfred Script Filter JSON format.
  • Enhance task display within Alfred by adding icons to the title (🚩 for flagged, 🌐 for URLs) and creating a detailed subtitle with project, tags, and dates.
  • Enable Alfred's Quick Look feature for tasks containing a URL by setting the quicklookurl property.
  • Allow subsequent Alfred actions to operate on a selected task by passing the task's index number as the arg for each item.

Changes to idvorkin/omnifocus_cli.git From [7 days ago] To [2025-10-05]

  • Model: grok-4-fast
  • Duration: 5 seconds
  • Date: 2025-10-04 18:11:43

Table of Contents (code)


Summary

  • Added new ainteresting command to the CLI tool for Alfred integration, enabling JSON output of interesting tasks sorted by recent creation date, with enhanced details like icons, subtitles (project/tag/due info), metadata, and quicklook URLs for better workflow usability (omnifocus.py).

Table of Changes (LLM)

  • omnifocus.py
    • Integrated Alfred support via new ainteresting command that fetches, sorts (by creation date descending), and formats tasks as JSON items.
    • Enhanced task item details with icons for flags/URLs, subtitles including project/tag/due date info, and copyable large text for quick access.

omnifocus.py

omnifocus.py: +65, -0, ~65

TL;DR: Add Alfred JSON output for interesting tasks to enable workflow integration.

  • Integrate with Alfred by adding ainteresting command that fetches, sorts, and formats interesting tasks as JSON items with titles, subtitles, metadata, and quicklook URLs.
  • Sort tasks by creation date descending to prioritize recent ones in Alfred results.
  • Enhance item details with icons for flags/URLs, project/tag/due date info in subtitles, and copyable large text for quick access.

Changes to idvorkin/omnifocus_cli.git From [7 days ago] To [2025-10-05]

  • Model: meta-llama/llama-4-maverick-17b-128e-instruct
  • Duration: 1 seconds
  • Date: 2025-10-04 18:11:43

Table of Contents (code)


Summary

  • Added a new command to omnifocus.py to output interesting tasks in Alfred JSON format, enhancing integration with Alfred workflows. This includes sorting tasks by creation date, including task metadata, and using icons for flagged tasks and tasks with URLs.
  • The new command enables quicklook functionality by including URLs in the output when available.

Table of Changes (LLM)

  • omnifocus.py
    • Added command to output interesting tasks in Alfred JSON format
    • Sorted tasks by creation date in descending order
    • Included task metadata such as project, tags, due date, and creation date
    • Used icons to visually distinguish between flagged tasks and tasks with URLs
    • Enabled quicklook functionality by including URLs in the output when available

Report

omnifocus.py

/Users/idvorkin/gits/omnifocus_cli/blob/cb0e349e2fd30ff664986a08cc975b28a46d9f76/omnifocus.py: +71, -0, ~0 TL;DR: Add command to output interesting tasks in Alfred JSON format for workflow integration

  • Enhance integration with Alfred by adding a command to output interesting tasks in Alfred JSON format
  • Sort tasks by creation date in descending order to prioritize recent tasks
  • Include task metadata such as project, tags, due date, and creation date in the output
  • Use icons to visually distinguish between flagged tasks and tasks with URLs
  • Enable quicklook functionality by including URLs in the output when available

omnifocus.py

/Users/idvorkin/gits/omnifocus_cli/blob/cb0e349e2fd30ff664986a08cc975b28a46d9f76/omnifocus.py: +71, -0, ~0 TL;DR: Add command to output interesting tasks in Alfred JSON format for workflow integration

  • Enhance integration with Alfred by adding a command to output interesting tasks in Alfred JSON format
  • Sort tasks by creation date in descending order to prioritize recent tasks
  • Include task metadata such as project, tags, due date, and creation date in the output
  • Use icons to visually distinguish between flagged tasks and tasks with URLs
  • Enable quicklook functionality by including URLs in the output when available

Changes to idvorkin/omnifocus_cli.git From [7 days ago] To [2025-10-05]

  • Model: openai/gpt-oss-120b
  • Duration: 3 seconds
  • Date: 2025-10-04 18:11:43

Table of Contents (code)


Summary

  • Added ainteresting CLI command to omnifocus.py for exporting “interesting” tasks in Alfred‑compatible JSON format, enabling direct use in Alfred workflows.
  • The new command mirrors the existing interesting command’s task selection but adds rich metadata (project, tags, due/creation dates, source, icons, Quick Look URL) and formats each entry for Alfred’s JSON schema.
  • Tasks are sorted by creation date (newest first), and the output is pretty‑printed JSON printed to stdout, ready for consumption by an Alfred script filter.

Table of Changes

  • omnifocus.py
    • Introduced ainteresting command with Alfred JSON output.
    • Added metadata fields (uid, arg, autocomplete, match, subtitle, title, quicklookurl, text).
    • Implemented sorting by creation date and pretty‑printed JSON serialization.

omnifocus.py

Change Summary

  • New CLI command: ainteresting
    • Retrieves the same set of “interesting” tasks as the existing interesting command.
    • Formats each task as an Alfred item JSON object, including:
      • uid – unique identifier.
      • arg – task URL for opening in OmniFocus.
      • autocomplete – task name for quick typing.
      • match – composite string for Alfred’s fuzzy matching.
      • subtitle – combines project, tags, due date, creation date, and source.
      • title – includes flag and URL icons plus the task name.
      • quicklookurl – points to any extracted URL within the task for instant preview.
      • text – copy and large‑type fields for further Alfred actions.
  • Sorting: Tasks are ordered by creation date (newest first) to surface recent items.
  • Output: The list of items is serialized to pretty‑printed JSON and printed to stdout, making it directly usable by an Alfred script filter.

Implementation Highlights

  • Added a new function handling the ainteresting sub‑command, reusing the existing task‑selection logic.
  • Constructed a dictionary per task adhering to Alfred’s JSON schema, populating all required and optional fields.
  • Utilized Python’s json.dumps(..., indent=2, ensure_ascii=False) for clean, readable output.
  • Integrated Quick Look support by detecting URLs in task notes and attaching them via the quicklookurl field.

These changes expand the CLI tool’s capabilities, allowing users to pipe “interesting” tasks straight into Alfred for rapid access, preview, and further automation.


omnifocus.py

omnifocus.py: +71, -0, ~71

TLDR: Add ainteresting command to emit “interesting” tasks in Alfred‑compatible JSON, enabling direct workflow integration.

  • Introduce ainteresting CLI command
    • Retrieves the same set of “interesting” tasks as interesting but formats them for Alfred’s JSON schema.
    • Sorts tasks by creation date (newest first) to prioritize recent items.
  • Enrich each Alfred item with rich metadata
    • Subtitle combines project, tags, due date, creation date, and source.
    • Title includes flag and URL icons, plus the task name.
    • Provides uid, arg, autocomplete, match, and copy/large‑type text fields.
  • Attach Quick Look URL when a task contains an extracted URL, allowing instant preview in Alfred.
  • Serialize the item list as pretty‑printed JSON and print to stdout, ready for Alfred workflow consumption.

Detailed LLM Call Timing Debug

Changes to idvorkin/omnifocus_cli.git From [7 days ago] To [2025-10-05]

Overall Timing Summary

Phase Duration (s) % of Total
Git Diff Operations 0.02 0.1%
All Models Processing 37.84 99.3%
File Writing 0.00 0.0%
Other/Overhead 0.25 0.7%
Total (so far) 38.12 100%

Note: Gist upload timing will be added after completion.


Git Diff Timing

Total Git Diff Duration: 0.02 seconds

Per-File Git Diff Timings (sorted by duration, longest first)

File Duration (s)
omnifocus.py 0.02

Table of Contents


claude-sonnet-4-5-20250929

Total Duration: 37 seconds Summary Call Duration: 7.87 seconds

Per-File Timings (sorted by duration, longest first)

Order File Duration (s) Delay to Start (s) Queue Wait (s)
1 omnifocus.py 29.97 0.00 0.00

gemini-2.5-pro

Total Duration: 20 seconds Summary Call Duration: 8.40 seconds

Per-File Timings (sorted by duration, longest first)

Order File Duration (s) Delay to Start (s) Queue Wait (s)
1 omnifocus.py 11.61 0.00 0.00

grok-4-fast

Total Duration: 5 seconds Summary Call Duration: 2.63 seconds

Per-File Timings (sorted by duration, longest first)

Order File Duration (s) Delay to Start (s) Queue Wait (s)
1 omnifocus.py 3.04 0.00 0.00

openai/gpt-oss-120b

Total Duration: 3 seconds Summary Call Duration: 1.72 seconds

Per-File Timings (sorted by duration, longest first)

Order File Duration (s) Delay to Start (s) Queue Wait (s)
1 omnifocus.py 1.38 0.00 0.00

meta-llama/llama-4-maverick-17b-128e-instruct

Total Duration: 1 seconds Summary Call Duration: 0.49 seconds

Per-File Timings (sorted by duration, longest first)

Order File Duration (s) Delay to Start (s) Queue Wait (s)
1 omnifocus.py 0.52 0.00 0.00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment