Add desktop-notify skill (macOS/Linux) #40
+541
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a new experimental skill:
desktop-notify, which lets Codex (or any agent workflow) send a short desktop notification on macOS and Linux. I use this when Codex runs long tasks so I can see completion status immediately.External dependencies / Install hints
This skill relies on OS-specific notification utilities:
brew install terminal-notifiersudo apt-get install libnotify-binsudo dnf install libnotifyIf the backend is missing, the scripts default to a silent no-op.
What’s included
scripts/desktop-notify.sh--title,--message, and--level(info|success|warn|error).terminal-notifier(if installed)notify-send(if installed)scripts/project-notify.shPROJECT_PATHbasename (preferred), otherwise git root basename, otherwise$PWDbasename.scripts/desktop-notify.sh.LICENSE.txt(Apache 2.0)Behavior notes
CODEX_DESKTOP_NOTIFY_HINTS=1to print a one-line hint to stderr.CODEX_DESKTOP_NOTIFY=0.Usage
Recommended (project-title wrapper):
Custom title:
Testing
bash -n scripts/desktop-notify.sh scripts/project-notify.shCODEX_DESKTOP_NOTIFY=0to verify no-op pathCODEX_DESKTOP_NOTIFY_HINTS=1to verify install hint output when backend is missingChecklist
LICENSE.txtfor the new skill