desktop-notify
Send desktop notifications (macOS/Linux) with a project-title wrapper.
When & Why to Use This Skill
The Desktop Notify skill enables Claude agents to send native system notifications on macOS and Linux, providing a bridge between background agent tasks and the user's desktop environment. It allows for real-time status updates, error alerts, and progress tracking with support for project-specific branding and multiple severity levels, significantly improving the developer experience during long-running automated workflows.
Use Cases
- Long-Running Task Completion: Alert the user immediately when a time-consuming process, such as a large-scale data transformation or a full system build, is finished.
- Error and Failure Monitoring: Surface critical runtime errors or failed test suites directly to the desktop, ensuring developers can react to issues without constantly checking the terminal.
- Workflow Milestone Tracking: Send 'success' or 'info' notifications when an agent successfully completes specific stages of a complex multi-step coding or deployment task.
- Multi-Project Context Awareness: Use the project-title wrapper to distinguish notifications coming from different repositories or workspaces, helping users manage multiple agent activities simultaneously.
| name | desktop-notify |
|---|---|
| description | Send desktop notifications (macOS/Linux) with a project-title wrapper. |
Desktop Notify
Contract
Prereqs:
bashavailable onPATH.- Notification backend:
- macOS:
terminal-notifier - Linux:
notify-send
- macOS:
Inputs:
- Message string (required) and
--level info|success|warn|error. - Optional env:
AGENT_KIT_DESKTOP_NOTIFY=0to disable;PROJECT_PATHfor project title derivation.
Outputs:
- A desktop notification (best-effort); silent no-op when disabled or backend missing.
Exit codes:
0: success or no-op- non-zero: invalid usage or unexpected script/runtime failure
Failure modes:
- Backend not installed (script no-ops by default).
- Notifications disabled via
AGENT_KIT_DESKTOP_NOTIFY=0.
Use this skill when you need to surface a short status update to the user via a desktop notification.
Prefer using the project wrapper (auto title) to avoid repeating title rules:
$AGENT_KIT_HOME/skills/desktop-notify/scripts/project-notify.sh "your short message" --level success
If you need a custom title, call the notifier directly:
$AGENT_KIT_HOME/skills/desktop-notify/scripts/desktop-notify.sh \
--title "custom title" \
--message "your short message" \
--level info
Behavior
- macOS: uses
terminal-notifierwhen installed. - Linux: uses
notify-send(libnotify) when installed. - Missing backend: silent no-op by default.
Environment
AGENT_KIT_DESKTOP_NOTIFY=0: disable notifications (default: enabled)AGENT_KIT_DESKTOP_NOTIFY_HINTS=1: print a one-line install hint when backend is missing (default: disabled)PROJECT_PATH: used byskills/desktop-notify/scripts/project-notify.shto derive the project title (fallback: git root, then$PWD)
Install hints
- macOS:
brew install terminal-notifier - Linux (Debian/Ubuntu):
sudo apt-get install libnotify-bin - Linux (Fedora):
sudo dnf install libnotify