原文(日本語)
マルチエージェントワークフロー向けに TeammateIdle と TaskCompleted フックイベントが追加されました。
原文(英語)
Added TeammateIdle and TaskCompleted hook events for multi-agent workflows
概要
マルチエージェントワークフローを制御するための新しいフックイベント、TeammateIdle と TaskCompleted が追加されました。これらのイベントを使用することで、エージェントチームメイトがアイドル状態になったときや、タスクが完了したときに、カスタムスクリプトやコマンドを自動実行できるようになります。
基本的な使い方
フックイベントは、Claude Codeの設定ファイル(~/.claude/settings.json)で定義します。
json
{
"hooks": {
"TeammateIdle": "echo 'Teammate is now idle'",
"TaskCompleted": "echo 'Task has been completed'"
}
}実践例
タスク完了時の通知システム
タスクが完了したときに、デスクトップ通知を送信する例:
json
{
"hooks": {
"TaskCompleted": "notify-send 'Claude Code' 'タスクが完了しました' --urgency=normal"
}
}macOSの場合:
json
{
"hooks": {
"TaskCompleted": "osascript -e 'display notification \"タスクが完了しました\" with title \"Claude Code\"'"
}
}エージェントのアイドル状態を検知してログ記録
エージェントチームメイトがアイドル状態になったときに、ログファイルにタイムスタンプを記録:
json
{
"hooks": {
"TeammateIdle": "echo \"[$(date '+%Y-%m-%d %H:%M:%S')] Teammate idle\" >> ~/.claude/agent-activity.log"
}
}複数のコマンドを連鎖実行
タスク完了時に、複数のアクションを実行する例:
json
{
"hooks": {
"TaskCompleted": "notify-send 'Task Complete' && echo \"Task completed at $(date)\" >> task-log.txt && curl -X POST https://your-webhook.com/task-complete"
}
}CI/CDとの統合
タスク完了時に、外部のCI/CDパイプラインをトリガーする:
json
{
"hooks": {
"TaskCompleted": "gh workflow run deploy.yml --ref main"
}
}チーム連携での活用
Slackに通知を送信して、チームメンバーに進捗を共有:
json
{
"hooks": {
"TaskCompleted": "curl -X POST -H 'Content-type: application/json' --data '{\"text\":\"Claude Code: タスクが完了しました\"}' https://hooks.slack.com/services/YOUR/WEBHOOK/URL",
"TeammateIdle": "curl -X POST -H 'Content-type: application/json' --data '{\"text\":\"エージェントがアイドル状態です\"}' https://hooks.slack.com/services/YOUR/WEBHOOK/URL"
}
}開発環境の自動管理
エージェントがアイドル状態になったら、リソースを節約するために自動でクリーンアップを実行:
json
{
"hooks": {
"TeammateIdle": "docker system prune -f && echo 'Docker cleanup completed'"
}
}注意点
- フックコマンドは、Claude Codeを実行しているユーザーの権限で実行されます
- 長時間実行されるコマンドは避けてください。フックは同期的に実行されるため、処理が完了するまでワークフローがブロックされる可能性があります
- フックコマンドのエラーは、Claude Codeのログに記録されます
- セキュリティ上の理由から、フックコマンド内で機密情報(APIキーなど)を直接記述することは避け、環境変数を使用してください
TeammateIdleイベントは、エージェントチームメイトが作業を完了してアイドル状態になったときにトリガーされますTaskCompletedイベントは、Task tool を使用して起動されたタスクが完了したときにトリガーされます- これらのフックは、マルチエージェントワークフローに特化しており、単一エージェントでの通常のタスクでは発動しない場合があります