agent-notifier について
agent-notifier は、AI コーディングエージェントの利用者向けに、各プラットフォームのフックで通知を実行するスキルです。複数のエージェント環境に対応し、入力待ちや作業完了を有効な複数のチャネルへ知らせます。
主な機能
- 01フックによる通知の実行
- 02複数の AI エージェント環境に対応
- 03サウンドと macOS 通知
- 04Telegram、メール、Webhook に対応
- 05有効なチャネルへ同時送信
活用シーン
- 01エージェントの入力待ちを検知
- 02エージェントのセッション終了を把握
- 03Slack や Discord に通知を送信
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ crossoverjie/ skills --skill agent-notifierインストール後、Claude Code で/agent-notifierを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
notify-config.jsonnotify.pyopencode-plugin.jsREADME.mdrequirements.txtsetup.pytest_notify.py詳細
Agent Notifier Skill
AI コーディングエージェント向けの、フック駆動による確実な通知です。エージェントからの入力要求やタスクの完了を見逃しません。
概要
LLM ベースの「完了したら音を鳴らす」というプロンプトは信頼性に欠けます。コンテキストの圧縮で指示が失われたり、モデルによる「完了」の判断に一貫性がなかったりするためです。このスキルは、各プラットフォームのフックシステムを使い、確実に通知を実行します。
前提条件
- Python 3(標準ライブラリのみ。外部依存関係はありません)
- 対応する AI エージェントプラットフォームが少なくとも 1 つあること
対応プラットフォーム
| プラットフォーム | フックイベント |
|---|---|
| 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 (プラグイン) |
クイックスタート
# Interactive setup — detects platforms, configures channels, installs hooks
python3 skills/agent-notifier/setup.py
Copilot CLI ユーザー向け
Copilot CLI はプロジェクトの .github/hooks/ ディレクトリからフックを読み込みます(グローバルフックには対応していません)。通知を使いたい各プロジェクトにフックファイルを作成してください。
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 ユーザー向け
OpenCode は JavaScript プラグインシステムを使用します。プラグインをプラグインディレクトリにコピーしてください。
mkdir -p ~/.config/opencode/plugins
cp skills/agent-notifier/opencode-plugin.js ~/.config/opencode/plugins/agent-notifier.js
手動での使用方法
# 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"
通知チャンネル
| チャンネル | デフォルト | 必要条件 |
|---|---|---|
| サウンド | 有効 | macOS (afplay) または Linux (paplay/aplay) |
| macOS 通知 | 有効 | macOS のみ |
| Telegram | 無効 | ボットトークン + チャット ID |
| メール | 無効 | SMTP 認証情報 |
| Slack | 無効 | Incoming Webhook URL |
| Discord | 無効 | Webhook URL |
| DingTalk | 無効 | Webhook URL + 任意の Secret |
設定
設定ファイルは次の順に検索されます。
~/.claude/notify-config.jsonskills/agent-notifier/notify-config.json(テンプレート)
python3 skills/agent-notifier/setup.py を実行して対話形式で設定するか、JSON を直接編集してください。
出力
有効になっているすべてのチャンネルに通知を並行して送信します。個々のチャンネルで発生したエラーは stderr に記録され、ほかのチャンネルには影響しません。