はじめに

Claude Code を使った自動化システムを運用していると、「今どこまで進んだ?」「次は何をやる?」といったカジュアルなコミュニケーションが必要になることがあります。 チケットシステムだけでは堅苦しいし、かといってログファイルを直接見るのも面倒。そこで、管理者とワーカー(Claude Code インスタンス)が気軽にメッセージをやり取りできる「会話ログシステム」を作りました。

システム概要

基本構造

/Users/masaka/Documents/conversation_logs/
├── manager.log          # 管理者の会話ログ
└── worker-1.log         # worker-1の会話ログ
シンプルに各参加者ごとのログファイルで管理。タイムスタンプ付きのメッセージを追記していく形式です。

主な機能

1. メッセージ送信: 会話 add <相手> "メッセージ" 2. 未読確認: 会話 check で自分宛の未読メッセージを表示 3. 返信: 会話 reply "返信内容" で最後の送信者に自動返信 4. 既読マーク: 会話 mark-read で未読メッセージを既読に

スラッシュコマンド統合

Claude Code の .claude/commands/check-messages.md にコマンド定義を追加することで、/check-messages と入力するだけで:

1. 未読メッセージを確認 2. 内容を読んで理解 3. 適切な返信を生成 4. 自動的に既読マーク

という一連の流れを自動実行できます。

実装のポイント

1. タイムスタンプ付きログ形式

[2025-11-03 09:40:49] manager -> worker-1: こんにちは!
[2025-11-03 09:40:52] worker-1 -> manager: こんにちは!何かお手伝いできることはありますか?
秒単位のタイムスタンプで、メッセージの順序関係が明確になります。

2. 未読管理

各参加者ごとに .last_read ファイルを用意し、最後に読んだタイムスタンプを記録。これより新しいメッセージを「未読」として扱います。

.last_read ファイルの例

2025-11-03 09:40:00

3. 自動返信先検出

会話 reply コマンドは、自分宛のメッセージを送信した相手を自動検出。いちいち相手を指定する必要がありません。

最後に自分にメッセージを送った人を検出

last_sender=$(grep " -> $SENDER:" "$LOG_FILE" | tail -1 | awk '{print $2}')

使用例

管理者側

worker-1にメッセージ送信

$ 会話 add worker-1 "CLIチャットボットの進捗はどう?"

返信を確認

$ 会話 check 🔔 新着メッセージ: worker-1 送信者: worker-1 時刻: 2025-11-03 09:31 内容: ✅ 完成しました!chat_trial13.py(147行)と...

ワーカー側(Claude Code)

スラッシュコマンドで自動処理

/check-messages

すると Claude Code が: 1. メッセージ内容を読む 2. 「CLIチャットボット完成した」という情報を返信 3. 自動的に既読マーク

実際の会話ログ例

[2025-11-03 09:31:00] manager -> worker-1: CLIチャットボットの進捗はどう?完成した?
[2025-11-03 09:31:15] worker-1 -> manager: ✅ 完成しました!chat_trial13.py(147行)とCHATBOT_README.mdを実装済み。
[2025-11-03 09:34:00] manager -> worker-1: スラッシュコマンドのテストです。
[2025-11-03 09:34:10] worker-1 -> manager: メッセージ確認しました!/check-messagesコマンド正常に動作しています。
[2025-11-03 09:39:58] manager -> worker-1: Hello
[2025-11-03 09:40:05] worker-1 -> manager: こんにちは!worker-1です。何かお手伝いできることはありますか?

チケットシステムとの棲み分け

チケットシステム(正式な作業管理)

  • タスクの定義、進捗管理
  • 技術的な詳細、実装メモ
  • Git連携でバージョン管理

会話ログシステム(カジュアルなコミュニケーション)

  • 「今どう?」「終わった?」みたいな確認
  • 簡単な指示や質問
  • リアルタイムな状況共有
両者を使い分けることで、堅苦しくなりすぎず、かつ必要な情報はしっかり記録できます。

技術的な工夫

環境変数でワーカー識別

export CLAUDE_WORKER_NAME=worker-1
複数の Claude Code インスタンスを同時運用する場合、環境変数で識別します。

シェルスクリプトのシンプルさ

AWK、grep、tail などの Unix 標準ツールだけで実装。特別なライブラリ不要で、どこでも動きます。

Claude Code のスラッシュコマンド

.claude/commands/ ディレクトリに Markdown ファイルを置くだけで、カスタムコマンドを定義できる Claude Code の機能を活用。

まとめ

Claude Code を使った自動化システムに「会話ログシステム」を追加することで:
  • ✅ カジュアルなコミュニケーションが可能に
  • ✅ リアルタイムな進捗確認が簡単
  • ✅ チケットシステムと使い分けて効率的
  • ✅ スラッシュコマンドで自動応答
という形で、より使いやすいシステムになりました。 シンプルなログファイルベースの実装ですが、意外と実用的です。Claude Code を複数インスタンス運用している方は、ぜひ試してみてください!

関連リンク

--- タグ: #ClaudeCode #自動化 #AI開発 #コミュニケーション #シェルスクリプト