agent-notifier
Multi-platform, multi-channel notification skill for AI code agents. Sends notifications (sound, macOS alert, Telegram, Email, Slack, Discord) when the agent needs user interaction or completes a task. Supports Claude Code, GitHub Copilot CLI, Cursor, Codex, Aider, and OpenCode.
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
Agent Notifier Skill
Deterministic, hook-driven notifications for AI code agents. Never miss when your agent needs input or finishes a task.
Why
LLM-based "play a sound when done" prompts are unreliable — context compression drops them, and the model's judgement of "done" is inconsistent. This skill uses each platform's Hooks system for guaranteed triggering.
Prerequisites
- Python 3 (standard library only, no external dependencies)
- At least one supported AI agent platform
Supported Platforms
| Platform | Hook Event |
|---|---|
| Claude Code | Notification (idle_prompt, permission_prompt) |
| GitHub Copilot CLI | sessionEnd, postToolUse |
| Cursor | stop, afterFileEdit |
| Codex | agent-turn-complete |
| Aider | --notifications-command |
| OpenCode | session.idle (plugin) |
Quick Start
# Interactive setup — detects platforms, configures channels, installs hooks
python3 skills/agent-notifier/setup.py
Copilot CLI Users
Copilot CLI loads hooks from the project's .github/hooks/ directory (no global hook support). Create the hook file in each project where you want notifications:
mkdir -p .github/hooks
cat > .github/hooks/agent-notifier.json << 'EOF'
{
"version": 1,
"hooks": {
"sessionEnd": [
{"type": "command", "bash": "python3 $HOME/.claude/skills/agent-notifier/notify.py"}
],
"postToolUse": [
{"type": "command", "bash": "python3 $HOME/.claude/skills/agent-notifier/notify.py"}
]
}
}
EOF
OpenCode Users
OpenCode uses a JavaScript plugin system. Copy the plugin to your plugins directory:
mkdir -p ~/.config/opencode/plugins
cp skills/agent-notifier/opencode-plugin.js ~/.config/opencode/plugins/agent-notifier.js
Manual Usage
# Test with simulated Claude Code event
echo '{"notification_type":"idle_prompt","message":"Waiting for input"}' | python3 skills/agent-notifier/notify.py
# Test with simulated OpenCode event
echo '{"platform":"opencode","event_type":"session.idle","message":"Session completed"}' | python3 skills/agent-notifier/notify.py
# Test with command-line args (Aider style)
python3 skills/agent-notifier/notify.py "Task completed"
Notification Channels
| Channel | Default | Requirements |
|---|---|---|
| Sound | Enabled | macOS (afplay) or Linux (paplay/aplay) |
| macOS Notification | Enabled | macOS only |
| Telegram | Disabled | Bot token + Chat ID |
| Disabled | SMTP credentials | |
| Slack | Disabled | Incoming Webhook URL |
| Discord | Disabled | Webhook URL |
Configuration
Config file is searched in order:
-
~/.claude/notify-config.json -
skills/agent-notifier/notify-config.json(template)
Run python3 skills/agent-notifier/setup.py to configure interactively, or edit the JSON directly.
Output
Notifications are sent concurrently to all enabled channels. Individual channel failures are logged to stderr without affecting other channels.
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-03-11
- 索引更新时间
- 2026-03-11
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!