Install
$ agentstack add skill-zty42-codex-sound-notifications-codex-sound-notifications ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Setup Sound Notifications
Install a reusable completion sound for Codex with the bundled scripts and bundled WAV assets. Prefer the installer script so the selected asset file and notify command stay in sync.
Prerequisites
- Run on macOS with
afplayavailable. - Bundled sounds live under
assets/sounds/. - Use a local sound zip only when importing a new sound pack into the skill.
- Expect write access to
~/.codex/config.toml. - If importing a new sound pack, expect write access to
assets/sounds/inside the skill folder.
Workflow
- Confirm the user wants a persistent Codex completion sound, not a one-off shell command.
- Prefer an existing bundled sound under
assets/sounds/. - Only if the requested WAV is not bundled, collect a local zip path and import sounds into
assets/sounds/. - If the user asks to update the skill itself, prefer
python3 scripts/manage_sound_notifications.py --check-updatefirst, then--update. - Run
python3 scripts/test_sound_notifications.py. - Prefer
python3 scripts/manage_sound_notifications.pyfor interactive switching with preview and confirmation. - Run
python3 scripts/setup_sound_notifications.pyonly for direct non-interactive installs. - If the user already has
notify = [...]in~/.codex/config.toml, let the installer wrap and forward the old command instead of overwriting it. - Validate on a temp config first when possible, then install to the real config.
--check-updateand--updateneed network access; if the sandbox blocks GitHub orgit fetch, request approval.
Defaults
- Default completion sound:
celebration.wav. - Softer alternative for the same archive family:
notification.wav. - Default event filter:
agent-turn-complete. - Bundled WAV files live under
assets/sounds/.
Commands
python3 scripts/test_sound_notifications.py
python3 scripts/manage_sound_notifications.py
python3 scripts/manage_sound_notifications.py --list
python3 scripts/manage_sound_notifications.py --preview celebration.wav
python3 scripts/manage_sound_notifications.py --apply celebration.wav --yes
python3 scripts/manage_sound_notifications.py --check-update
python3 scripts/manage_sound_notifications.py --update
python3 scripts/setup_sound_notifications.py
python3 scripts/setup_sound_notifications.py --sound-file celebration.wav
python3 scripts/setup_sound_notifications.py --zip-path /path/to/SND03_industrial.zip --sound-file celebration.wav
Interactive Sound Command
python3 scripts/manage_sound_notifications.pystarts an interactive bundled-sound picker.- The command lists all bundled WAV files, marks the current sound, previews the selected sound, and asks for confirmation before applying it.
- Use
--list,--preview, or--apply --yesfor non-interactive sound flows. - Use
--check-updateto compare the local skill with upstream. - Use
--updateto update the installed skill. Git checkouts usegit fetchplusgit pull --ff-only; non-git installs download the latest GitHub archive, overlay upstream files, and keep extra local files such as imported custom sounds.
What The Installer Changes
- Point Codex
notifydirectly at the selected bundled WAV underassets/sounds/. - Optionally import one WAV from a zip into
assets/sounds/when--zip-pathis provided. - Set Codex
notify = [...]to the bundled notifier script. - Preserve an existing
notifycommand by forwarding the same JSON payload to it after local playback.
Notes
- Use Codex official docs as source of truth for config behavior:
https://developers.openai.com/codex/config-referenceandhttps://developers.openai.com/codex/config-advanced. - Update checks for non-git installs use GitHub's REST commits and repository archive endpoints:
https://docs.github.com/en/rest/commits/commitsandhttps://docs.github.com/en/rest/repos/contents. - Rely on
afplayfor playback; verify withcommand -v afplayorman afplay. - The public docs define
notifybut do not fully document every JSON payload shape. The notifier script therefore accepts a few compatible event field names and a legacy after-agent payload shape. notifyandtui.notificationsare separate Codex mechanisms; this skill configuresnotifyonly.- The notifier skips known internal bootstrap prompts such as hidden
You are ...threads to avoid double sounds on a new session's first reply. - Keep reusable sound assets in
assets/sounds/;notifyshould point directly at the selected asset file.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: zty42
- Source: zty42/codex-sound-notifications
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.