configure-notifications
Configure OMX notifications - unified entry point for all platforms
Skill by Yeachan-Heo
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/yeachan-heo-configure-notifications
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building, monitoring-observability
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/configure-notifications
What's inside
- Skill name
configure-notifications- Description
- Configure OMX notifications - unified entry point for all platforms
- License
- MIT
- Instructions
- 79 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- files: referenced but missing: templates/AGENTS.md
Files (1)
- SKILL.md
SKILL.md (first lines)
# Configure OMX Notifications
Use this card for Discord, Telegram, Slack, generic command aliases, or OpenClaw. Shared safety, lifecycle, hook, team, autonomy, and cancellation rules live in `templates/AGENTS.md`.
## 1. Inspect and choose a path
```bash
CONFIG_FILE="$HOME/.codex/.omx-config.json"
if [ -f "$CONFIG_FILE" ]; then
jq -r '{notifications_enabled:(.notifications.enabled // false), discord:(.notifications.discord.enabled // false), discord_bot:(.notifications["discord-bot"].enabled // false), telegram:(.notifications.telegram.enabled // false), slack:(.notifications.slack.enabled // false), openclaw:(.notifications.openclaw.enabled // false), custom_webhook_command:(.notifications.custom_webhook_command.enabled // false), custom_cli_command:(.notifications.custom_cli_command.enabled // false), verbosity:(.notifications.verbosity // "session"), idleCooldownSeconds:(.notifications.idleCooldownSeconds // 60), reply_enabled:(.notifications.reply.enabled // false)}' "$CONFIG_FILE"
else
echo "NO_CONFIG_FILE"
fi
```
Use AskUserQuestion to choose: Discord native (webhook or bot), Telegram native (bot token + chat id), Slack native (incoming webhook), `custom_webhook_command`, `custom_cli_command`, cross-cutting settings, or disable all notifications.
## 2. Native providers
Collect and validate provider values, then write only these native keys: `notifications.discord`, `notifications["discord-bot"]`, `notifications.telegram`, or `notifications.slack`. Do not represent native providers with generic aliases.
## 3. Generic aliases
For `custom_webhook_command`, collect URL, optional headers, method (`POST` default or `PUT`), events (`session-end`, `ask-user-question`, `session-start`, `session-idle`, `stop`), and an instruction template:
```bash
jq --arg url "$URL" --arg method "${METHOD:-POST}" --arg instruction "${INSTRUCTION:-OMX event {{event}} for {{projectPath}}}" --argjson headers "${HEADERS_JSON:-{}}" '.notifications=(.notifications//{enabled:true})|.notifications.enabled=true|.notifications.custom_webhook_command={enabled:true,url:$url,headers:$headers,method:$method,instruction:$instruction,events:["session-end","ask-user-question"]}' "$CONFIG_FILE" >"$CONFIG_FILE.tmp" && mv "$CONFIG_FILE.tmp" "$CONFIG_FILE"
```
For `custom_cli_command`, collect a command template (`{{event}}`, `{{instruction}}`, `{{sessionId}}`, `{{projectPath}}`), optional events, and an instruction template:
```bash
jq --arg command "$COMMAND_TEMPLATE" --arg instruction "${INSTRUCTION:-OMX event {{event}} for {{projectPath}}}" '.notifications=(.notifications//{enabled:true})|.notifications.enabled=true|.notifications.custom_cli_command={enabled:true,command:$command,instruction:$instruction,events:["session-end","ask-user-question"]}' "$CONFIG_FILE" >"$CONFIG_FILE.tmp" && mv "$CONFIG_FILE.tmp" "$CONFIG_FILE"
```
OpenClaw dispatch requires `OMX_OPENCLAW=1`; command gateways additionally require `OMX_OPENCLAW_COMMAND=1`; timeout precedence is `gateways.<name>.timeout` > `OMX_OPENCLAW_COMMAND_TIMEOUT_MS` > `5000` ms.
## 4. OpenClaw + Clawdbot agent mode
Use this only when the requested route is a `clawdbot agent` turn delivered to Discord. The `session-stop` notification intentionally maps to the OpenClaw `stop` hook. OMX shell-escapes substitutions; keep instructions short, avoid untrusted shell metacharacters, append `|| true`, and append JSONL logs with `>>`.
```bash
jq --arg command "(clawdbot agent --session-id omx-hooks --message {{instruction}} --thinking minimal --deliver --reply-channel discord --reply-to 'channel:CHANNEL_ID' --timeout 120 --json >>/tmp/omx-openclaw-agent.jsonl 2>&1 || true)" '.notifications=(.notifications//{enabled:true})|.notifications.enabled=true|.notifications.verbosity="verbose"|.notifications.openclaw={enabled:true,gateways:{local:{type:"command",command:$command,timeout:120000}},hooks:{"session-start":{enabled:true,gateway:"local",instruction:"OMX hook=session-start project={{projectName}} session={{sessionId}} tmux={{tmuxSession}}. 한국어로 상태를 #omc-dev에 공유하고 SOUL.md를 참고하세요."},"session-idle":{enabled:true,gateway:"local",instruction:"OMX hook=session-idle session={{sessionId}} tmux={{tmuxSession}}. 한국어로 팔로업을 #omc-dev에 안내하세요."},"ask-user-question":{enabled:true,gateway:"local",instruction:"OMX hook=ask-user-question session={{sessionId}} tmux={{tmuxSession}} question={{question}}. 한국어로 응답 필요를 #omc-dev에 알리세요."},"stop":{enabled:true,gateway:"local",instruction:"OMX hook=session-stop session={{sessionId}} tmux={{tmuxSession}}. 한국어로 중단 상태를 전달하세요."},"session-end":{enabled:true,gateway:"local",instruction:"OMX hook=session-end session={{sessionId}} tmux={{tmuxSession}} reason={{reason}}. 한국어로 완료 요약을 #omc-dev에 남기세요."}}}' "$CONFIG_FILE" >"$CONFIG_FILE.tmp" && mv "$CONFIG_FILE.tmp" "$CONFIG_FILE"
```
### Compatibility + precedence contract
Explicit `notifications.openclaw` wins when valid; generic aliases are ignored with a warning.
Verify this mode and inspect evidence without hiding output:
```bash
clawdbot agent --session-id omx-hooks --message "OMX hook test via clawdbot agent path" --thinking minimal --deliver --reply-channel discord --reply-to 'channel:CHANNEL_ID' --timeout 120 --json
tmux list-sessions -F '#{session_name}' | rg '^omx-' || true
jq '.notifications.openclaw.hooks' "$CONFIG_FILE"
tail -n 120 /tmp/omx-openclaw-agent.jsonl | jq -s '.[] | {timestamp:(.timestamp // .time),status:(.status // .error // "ok")}'
rg '"error"|"failed"|"timeout"' /tmp/omx-openclaw-agent.jsonl | tail -20
```
For HTTP integrations, run both a `/hooks/wake` smoke test and `/hooks/agent` delivery verification.
## 5. Cross-cutting settings and disable
- Verbosity: `minimal`, `session` (recommended), `agent`, or `verbose`.
- Idle cooldown: `notifications.idleCooldownSeconds` (environment override: `OMX_IDLE_COOLDOWN_SECONDS`).
- Profiles: `notifications.profiles` and `notifications.defaultProfile`.
- Reply listener: `notifications.reply.enabled`; gates are `OMX_REPLY_ENABLED=true` and, for Discord, `OMX_REPLY_DISCORD_USER_IDS=...`. An authorized Discord bot operator may exact-match `status` on a tracked notification for a bounded read-only session summary.
Disable all notifications:
```bash
jq '.notifications.enabled=false' "$CONFIG_FILE" >"$CONFIG_FILE.tmp" && mv "$CONFIG_FILE.tmp" "$CONFIG_FILE"
```
## Exit evidence
Run `jq empty "$CONFIG_FILE"` after edits. Report the config path, enabled native providers, enabled aliases, whether valid `notifications.openclaw` overrides aliases, verbosity, idle cooldown, reply-listener state, and smoke-test results. Stop when the JSON parses and the selected path has its required evidence; do not claim delivery from configuration alone.From Yeachan-Heo/oh-my-codex, MIT.
More from Yeachan-Heo/oh-my-codex
- 0.849score
performance-goal
Yeachan-Heo
Run an evaluator-gated performance optimization workflow over Codex goal mode with durable OMX artifacts and safe goal handoffs.
SkillAFreshness: A★ 33.6KClaude Code +9 - 0.847score
analyze
Yeachan-Heo
Run read-only deep repository analysis and return a ranked synthesis with explicit confidence, concrete file references, and clear evidence-vs-inference…
SkillAFreshness: A★ 33.6KClaude Code +9 - 0.845score
autopilot
Yeachan-Heo
[OMX] Canonical autonomous orchestrator: $deep-interview -> $ralplan -> $ultragoal
SkillAFreshness: A★ 33.6KClaude Code +9 - 0.845score
wiki
Yeachan-Heo
Persistent markdown project wiki stored under repository omx_wiki with keyword search and lifecycle capture
SkillAFreshness: A★ 33.6KClaude Code +9 - 0.845score
best-practice-research
Yeachan-Heo
[OMX] Bounded best-practice research wrapper using official/upstream evidence first
SkillAFreshness: A★ 33.6KClaude Code +9 - 0.845score
cancel
Yeachan-Heo
Cancel any active OMX mode (autopilot, ralph, ultrawork, ecomode, ultraqa, swarm, ultrapilot, pipeline, team)
SkillAFreshness: A★ 33.6KClaude Code +9 - 0.845score
ultragoal
Yeachan-Heo
Create and execute durable repo-native multi-goal plans over Codex goal mode artifacts.
SkillAFreshness: A★ 33.6KClaude Code +9 - 0.845score
git-master
Yeachan-Heo
Git expert for atomic commits, rebasing, and history management
SkillAFreshness: A★ 33.6KClaude Code +9 - 0.845score
autoresearch
Yeachan-Heo
Stateful validator-gated research loop with native-hook persistence
SkillAFreshness: A★ 33.6KClaude Code +9 - 0.845score
worker
Yeachan-Heo
Team worker protocol (ACK, mailbox, task lifecycle) for tmux-based OMX teams
SkillAFreshness: A★ 33.6KClaude Code +9 - 0.845score
ask
Yeachan-Heo
Ask a local external advisor CLI (Claude or Gemini) and capture a reusable artifact
SkillAFreshness: A★ 33.6KClaude Code +9 - 0.844score
visual-ralph
Yeachan-Heo
Visual Ralph orchestration for frontend UI from generated references, static references, or live URL targets, using $ultragoal with built-in visual verdict…
SkillAFreshness: A★ 33.6KClaude Code +9
Signals
- Stars
- 33,621
- Forks
- 2,549
- Open issues
- 1
- Last commit (this folder)
- Aug 12, 2026 (2 months ago)
- Last release
- Oct 24, 2026 (6 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Yeachan-Heo/oh-my-codex
- Website
- oh-my-codex.dev
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
- 0.439score
configure-notifications
Yeachan-Heo
Configure OMX notifications - unified entry point for all platforms
SkillAFreshness: A★ 33.6KClaude Code +9 - 0.278score
configure-notifications
krisadas
Configure OMX notifications - unified entry point for all platforms
SkillCFreshness: CClaude Code +9 - 0.273score
configure-notifications
Goblin1024
Configure OMX notifications - unified entry point for all platforms
SkillDFreshness: D★ 6Claude Code +9 - 0.242score
configure-notifications
pubgo
Configure OMX notifications - unified entry point for all platforms
SkillDFreshness: DClaude Code +9 - 0.242score
configure-notifications
ErenYegar
Configure OMX notifications - unified entry point for all platforms
SkillDFreshness: DClaude Code +9 - 0.239score
configure-notifications
gtpgg1013
Configure OMX notifications - unified entry point for all platforms
SkillDFreshness: DClaude Code +9 - 0.239score
configure-notifications
Ciward
Configure OMX notifications - unified entry point for all platforms
SkillDFreshness: DClaude Code +9 - 0.239score
configure-notifications
ChatGPT-KB
Configure OMX notifications - unified entry point for all platforms
SkillDFreshness: DClaude Code +9 - 0.239score
configure-notifications
pextacy
Configure OMX notifications - unified entry point for all platforms
SkillDFreshness: DClaude Code +9
More from Yeachan-Heo
- 0.849score
performance-goal
Yeachan-Heo
Run an evaluator-gated performance optimization workflow over Codex goal mode with durable OMX artifacts and safe goal handoffs.
SkillAFreshness: A★ 33.6KClaude Code +9 - 0.847score
analyze
Yeachan-Heo
Run read-only deep repository analysis and return a ranked synthesis with explicit confidence, concrete file references, and clear evidence-vs-inference…
SkillAFreshness: A★ 33.6KClaude Code +9 - 0.845score
cancel
Yeachan-Heo
Cancel any active OMX mode (autopilot, ralph, ultrawork, ecomode, ultraqa, swarm, ultrapilot, pipeline, team)
SkillAFreshness: A★ 33.6KClaude Code +9 - 0.845score
git-master
Yeachan-Heo
Git expert for atomic commits, rebasing, and history management
SkillAFreshness: A★ 33.6KClaude Code +9 - 0.845score
autoresearch
Yeachan-Heo
Stateful validator-gated research loop with native-hook persistence
SkillAFreshness: A★ 33.6KClaude Code +9 - 0.845score
best-practice-research
Yeachan-Heo
[OMX] Bounded best-practice research wrapper using official/upstream evidence first
SkillAFreshness: A★ 33.6KClaude Code +9
Cite this page
configure-notifications skill. Agent Mart. https://agentmart.dev/skills/yeachan-heo-configure-notifications (last updated 2026-10-24)