jpskill.com
🛠️ 開発・MCP コミュニティ

ai-maestro-agent-messaging

AI Maestroのメッセージングシステムを利用して、AIエージェント間でメッセージの送受信を行い、エージェントへの通知や伝言など、エージェント間のコミュニケーションを円滑にするSkill。

📜 元の英語説明(参考)

Send and receive messages between AI agents using AI Maestro's messaging system. Use this skill when the user asks to "send a message", "check inbox", "read messages", "notify [agent]", "tell [agent]", or any inter-agent communication.

🇯🇵 日本人クリエイター向け解説

一言でいうと

AI Maestroのメッセージングシステムを利用して、AIエージェント間でメッセージの送受信を行い、エージェントへの通知や伝言など、エージェント間のコミュニケーションを円滑にするSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o ai-maestro-agent-messaging.zip https://jpskill.com/download/16738.zip && unzip -o ai-maestro-agent-messaging.zip && rm ai-maestro-agent-messaging.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/16738.zip -OutFile "$d\ai-maestro-agent-messaging.zip"; Expand-Archive "$d\ai-maestro-agent-messaging.zip" -DestinationPath $d -Force; ri "$d\ai-maestro-agent-messaging.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して ai-maestro-agent-messaging.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → ai-maestro-agent-messaging フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

AI Maestro Agent Messaging

目的

AI Maestroのデュアルチャネルメッセージングシステムを使用して、AIコーディングエージェント間の通信を可能にします。エージェントは、エージェントIDまたはエイリアスによって識別され、tmuxセッション名がフォールバックとして使用されます。メッセージの送信と受信の両方をサポートします。

重要: エージェント間通信

あなたはエージェントです - このスキルは、エージェント間通信のためのものであり、人間とエージェントの通信のためのものではありません。

重要: 「あなたのメッセージ」の理解

人間のオペレーターが「メッセージを確認して」または「メッセージを読んで」と言う場合:

  • あなたの受信箱 = あなたのエージェント宛のメッセージ(オペレーター、他のエージェントなど、誰からでも)
  • オペレーターの受信箱ではない = あなたはあなたの受信箱を確認し、オペレーターの受信箱は確認しません

例:

  • 人間が言う:「メッセージを確認して」
  • あなたはエージェント:backend-api
  • あなたが確認する場所:~/.aimaestro/messages/inbox/backend-api/(あなたの受信箱)
  • これらはbackend-api宛のメッセージです(誰からの送信でも)
  • あなたが確認しない場所:オペレーターの受信箱または他のエージェントの受信箱

エージェントの識別

  • あなたの受信箱 = あなたのエージェント宛のメッセージ(誰からの送信でも)
  • あなたのエージェントID = このエージェントの一意の識別子(エージェント名もフォールバックとして使用できます)
  • あなたのエージェント名 = あなたが実行しているtmuxセッション(tmux display-message -p '#S'で取得)
  • あなたの受信箱の場所 = ~/.aimaestro/messages/inbox/YOUR-AGENT-ID/ または ~/.aimaestro/messages/inbox/YOUR-AGENT-NAME/

あなたが読まないもの:

  • ❌ オペレーターの受信箱
  • ❌ 他のエージェントの受信箱
  • ❌ あなたのエージェント宛ではないメッセージ

あなたが読むもの:

  • ✅ あなたのエージェント宛のメッセージ
  • ✅ あなた自身の受信箱のみ
  • ✅ あなたのエージェントの受信箱:~/.aimaestro/messages/inbox/YOUR-AGENT-ID/

このスキルを使用するタイミング

送信(エージェント間):

  • ユーザー(オペレーター)が「[別のエージェント]にメッセージを送信して」と言う
  • ユーザーが「[別のエージェント]に通知して」または「[別のエージェント]に警告して」と言う
  • ユーザーがあなたに別のエージェントと通信させたい
  • あなたが他のエージェントに緊急の警告またはリクエストを送信する必要がある

受信(あなた自身の受信箱を確認):

  • ユーザーが「私の受信箱を確認して」または「私のメッセージを確認して」と言う = check-aimaestro-messages.shを使用
  • ユーザーが「私のメッセージを読んで」または「メッセージXを読んで」と言う = read-aimaestro-message.sh <id>を使用
  • ユーザーが「新しいメッセージはありますか?」と尋ねる = check-aimaestro-messages.shを使用
  • エージェントが起動したばかり(ベストプラクティス:最初にあなたの受信箱を確認する)
  • あなたが他のエージェントがあなたに送信したものを確認したい

推奨されるワークフロー:

  1. 最初に未読メッセージを確認します:check-aimaestro-messages.sh
  2. 次に、特定のメッセージを読みます:read-aimaestro-message.sh <message-id>
  3. メッセージは、読み取り後に自動的に既読としてマークされます

利用可能なツール

パート1:メッセージの受信(あなた自身の受信箱)

📖 クイックスタート - メッセージの確認と読み取り:

# ステップ1:未読メッセージを確認します
check-aimaestro-messages.sh

# 出力例:
# [msg-1234...] 🔴 From: backend-api | 2025-10-29 14:30
#     Subject: Authentication endpoint ready
#     Preview: The /api/auth/login endpoint is now...

# ステップ2:特定のメッセージを読みます(自動的に既読としてマークされます)
read-aimaestro-message.sh msg-1234...

# ステップ3:再度確認します - そのメッセージは未読から消えています
check-aimaestro-messages.sh
# 出力:"📭 未読メッセージはありません"

⚠️ 重要:「あなたの受信箱」の意味:

  • あなた = このtmuxセッションで実行されているAIエージェント
  • あなたの受信箱 = ~/.aimaestro/messages/inbox/YOUR-AGENT-ID/(またはエージェント名をフォールバックとして使用)
  • あなたの受信箱のメッセージ = 他のエージェントがあなたに送信したメッセージ
  • オペレーターのメッセージではなく、他のエージェントのプライベートメッセージでもありません

重要:これらのコマンドは、あなた自身のエージェントの受信箱のみを確認します。これらは自動的に:

  1. 現在のエージェントIDまたはエージェント名を検出します
  2. ~/.aimaestro/messages/inbox/YOUR-AGENT-ID/から読み取ります
  3. 他のエージェントがあなたに送信したメッセージを表示します
  4. 他の誰かの受信箱にはアクセスしません

1. 未読メッセージの受信箱の確認(推奨)

コマンド:

check-aimaestro-messages.sh [--mark-read]

何をするか:

  • あなたの受信箱にある未読メッセージのみを表示します(あなたのエージェントに送信されたメッセージ)
  • あなたのエージェントのセッションを自動的に検出します
  • 優先度インジケーター、送信者、件名、プレビュー、タイムスタンプを表示します
  • オプションの--mark-readフラグを使用して、表示後にすべてのメッセージを既読としてマークします
  • これはメッセージを確認するための推奨される方法です - 古いメッセージを再度読み取ることを回避します

例:

# 既読としてマークせずに未読メッセージを確認します
check-aimaestro-messages.sh

# 確認してすべてを既読としてマークします
check-aimaestro-messages.sh --mark-read

出力形式:

📬 3件の未読メッセージがあります
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[msg-167...] 🔴 From: backend-architect | 2025-10-29 13:45
    Subject: API endpoint ready
    Preview: The POST /api/auth/login endpoint is now...

[msg-168...] 🔵 From: frontend-dev | 2025-10-29 14:20
    Subject: Need help with styling
    Preview: Can you review the CSS for the navigation...

2. 特定のメッセージを読み、既読としてマークする

コマンド:

read-aimaestro-message.sh <message-id> [--no-mark-read]

何をするか:

  • メッセージの完全な内容を取得して表示します
  • メッセージを自動的に既読としてマークします--no-mark-readフラグがない場合)
  • すべてのメッセージの詳細(内容、コンテキスト、転送情報)を表示します
  • リストを確認した後、特定のメッセージを読むのに最適です

例:

# メッセージを読みます(自動的に既読としてマークされます)
read-aimaestro-message.sh msg-1234567890-abc

# 既読としてマークせずにメッセージを覗き見ます
read-aimaestro-message.sh msg-1234567890-abc --no-mark-read

出力形式:


═══════════════════════════════════════════════════════════════
📧 Message: API endpoint ready
═══════════════════════════════════════════════════════════════

From:     backend-architect
To:       frontend-dev
Date:     2025-10-29 13:45:00
Priority: 🔴 urgent
Type:     response

───────────────────────────────────────────────────────────────

The POST /api/auth/login endpoint is now deployed and ready...

───────────────────────────────────────────────────────────────
📎 Context:
{
  "endpoint": "/api/auth/login"
}

✅ Message marked as 

(原文はここで切り捨てられています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

AI Maestro Agent Messaging

Purpose

Enable communication between AI coding agents using AI Maestro's dual-channel messaging system. Agents are identified by their agent ID or alias, with tmux session names as a fallback. Supports both SENDING and RECEIVING messages.

CRITICAL: Inter-Agent Communication

YOU ARE AN AGENT - This skill is for agent-to-agent communication, NOT human-agent communication.

IMPORTANT: Understanding "Your Messages"

When the human operator says "check your messages" or "read your messages":

  • YOUR inbox = Messages addressed TO YOUR AGENT (from anyone - operator, other agents, etc.)
  • NOT the operator's inbox = You check YOUR inbox, not the operator's

Example:

  • Human says: "Check your messages"
  • You are agent: backend-api
  • You check: ~/.aimaestro/messages/inbox/backend-api/ (YOUR inbox)
  • These are messages addressed TO backend-api (from any sender)
  • You DO NOT check: The operator's inbox or any other agent's inbox

Agent Identity

  • Your inbox = Messages addressed TO YOUR AGENT (from any sender)
  • Your agent ID = Unique identifier for this agent (can also use agent name as fallback)
  • Your agent name = The tmux session you're running in (get with tmux display-message -p '#S')
  • Your inbox location = ~/.aimaestro/messages/inbox/YOUR-AGENT-ID/ or ~/.aimaestro/messages/inbox/YOUR-AGENT-NAME/

You do NOT read:

  • ❌ The operator's inbox
  • ❌ Other agents' inboxes
  • ❌ Messages not addressed to your agent

You DO read:

  • ✅ Messages addressed TO YOUR AGENT
  • ✅ YOUR OWN inbox only
  • ✅ Your agent's inbox: ~/.aimaestro/messages/inbox/YOUR-AGENT-ID/

When to Use This Skill

Sending (Agent-to-Agent):

  • User (operator) says "send a message to [another-agent]"
  • User says "notify [another-agent]" or "alert [another-agent]"
  • User wants YOU to communicate with ANOTHER agent
  • You need to send urgent alerts or requests to OTHER AGENTS

Receiving (Check YOUR OWN Inbox):

  • User says "check my inbox" or "check my messages" = Use check-aimaestro-messages.sh
  • User says "read my messages" or "read message X" = Use read-aimaestro-message.sh <id>
  • User asks "any new messages?" = Use check-aimaestro-messages.sh
  • Agent just started (best practice: check YOUR inbox first)
  • You want to see what OTHER AGENTS have sent TO YOU

RECOMMENDED WORKFLOW:

  1. First check for unread messages: check-aimaestro-messages.sh
  2. Then read specific message: read-aimaestro-message.sh <message-id>
  3. Message is automatically marked as read after reading

Available Tools

PART 1: RECEIVING MESSAGES (YOUR OWN INBOX)

📖 QUICK START - Check and Read Messages:

# Step 1: Check what unread messages you have
check-aimaestro-messages.sh

# Output shows:
# [msg-1234...] 🔴 From: backend-api | 2025-10-29 14:30
#     Subject: Authentication endpoint ready
#     Preview: The /api/auth/login endpoint is now...

# Step 2: Read the specific message (automatically marks as read)
read-aimaestro-message.sh msg-1234...

# Step 3: Check again - that message is now gone from unread
check-aimaestro-messages.sh
# Output: "📭 No unread messages"

⚠️ CRITICAL: What "YOUR inbox" means:

  • YOU = The AI agent running in this tmux session
  • YOUR inbox = ~/.aimaestro/messages/inbox/YOUR-AGENT-ID/ (or agent name as fallback)
  • Messages in YOUR inbox = Messages OTHER AGENTS sent TO YOU
  • NOT the operator's messages, NOT other agents' private messages

IMPORTANT: These commands check YOUR AGENT'S inbox only. They automatically:

  1. Detect your current agent ID or agent name
  2. Read from ~/.aimaestro/messages/inbox/YOUR-AGENT-ID/
  3. Show messages that OTHER AGENTS sent TO YOU
  4. Do NOT access anyone else's inbox

1. Check YOUR Inbox for UNREAD Messages (Recommended)

Command:

check-aimaestro-messages.sh [--mark-read]

What it does:

  • Shows ONLY UNREAD messages in YOUR inbox (messages sent TO YOUR AGENT)
  • Automatically detects YOUR agent's session
  • Displays: priority indicator, sender, subject, preview, timestamp
  • Optional --mark-read flag to mark all messages as read after viewing
  • This is the recommended way to check messages - avoids re-reading old messages

Example:

# Check unread messages without marking as read
check-aimaestro-messages.sh

# Check and mark all as read
check-aimaestro-messages.sh --mark-read

Output format:

📬 You have 3 unread message(s)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[msg-167...] 🔴 From: backend-architect | 2025-10-29 13:45
    Subject: API endpoint ready
    Preview: The POST /api/auth/login endpoint is now...

[msg-168...] 🔵 From: frontend-dev | 2025-10-29 14:20
    Subject: Need help with styling
    Preview: Can you review the CSS for the navigation...

2. Read Specific Message and Mark as Read

Command:

read-aimaestro-message.sh <message-id> [--no-mark-read]

What it does:

  • Retrieves and displays the full message content
  • Automatically marks the message as read (unless --no-mark-read flag)
  • Shows all message details: content, context, forwarding info
  • Perfect for reading a specific message after checking the list

Example:

# Read message (automatically marks as read)
read-aimaestro-message.sh msg-1234567890-abc

# Peek at message without marking as read
read-aimaestro-message.sh msg-1234567890-abc --no-mark-read

Output format:

═══════════════════════════════════════════════════════════════
📧 Message: API endpoint ready
═══════════════════════════════════════════════════════════════

From:     backend-architect
To:       frontend-dev
Date:     2025-10-29 13:45:00
Priority: 🔴 urgent
Type:     response

───────────────────────────────────────────────────────────────

The POST /api/auth/login endpoint is now deployed and ready...

───────────────────────────────────────────────────────────────
📎 Context:
{
  "endpoint": "/api/auth/login"
}

✅ Message marked as read
═══════════════════════════════════════════════════════════════

3. Auto-Display on Agent Start (Legacy - DO NOT USE MANUALLY)

Command:

check-and-show-messages.sh

What it does:

  • Automatically runs when you attach to a tmux session
  • Shows a summary of unread messages
  • DO NOT run this command manually - it's for auto-display only
  • For manual checking, use check-aimaestro-messages.sh instead

Why not use this manually?

  • It's designed for auto-display (runs on tmux attach)
  • Output format is optimized for quick glance, not interactive reading
  • Use the new commands (#1 and #2 above) for better experience

Output format:

Message: msg_1234567890_abcde
From: backend-architect          ← Another agent sent this TO YOU
To: frontend-dev                 ← YOUR session name
Subject: Need API endpoint
Priority: high
Type: request
Status: unread
Timestamp: 2025-01-17 14:23:45
Content: Please implement POST /api/users with pagination...

4. Check for New Messages Count (Quick)

Command:

check-new-messages-arrived.sh

What it does:

  • Shows count of unread messages in YOUR inbox
  • Automatically checks YOUR session's inbox
  • Quick check without full details
  • Returns "No new messages" or "You have X new message(s)"

Example:

check-new-messages-arrived.sh
# Output: "You have 3 new message(s)"  ← Messages sent TO YOU

5. Read Specific Message FROM YOUR Inbox (Direct File Access - Advanced)

Command:

cat ~/.aimaestro/messages/inbox/$(tmux display-message -p '#S')/<message-id>.json | jq

What it does:

  • Read a specific message file from YOUR inbox
  • $(tmux display-message -p '#S') = YOUR session name (auto-detected)
  • Use jq for pretty formatting
  • Useful when you know the message ID

Directory structure:

~/.aimaestro/messages/
├── inbox/YOUR-SESSION-NAME/     # Messages TO YOU from other agents
│   └── msg_*.json
├── sent/YOUR-SESSION-NAME/      # Messages FROM YOU to other agents
│   └── msg_*.json
└── archived/YOUR-SESSION-NAME/  # YOUR archived messages
    └── msg_*.json

Example:

# Get YOUR session name
tmux display-message -p '#S'
# Output: frontend-dev  ← This is YOU

# List all messages in YOUR inbox
ls ~/.aimaestro/messages/inbox/$(tmux display-message -p '#S')/

# Read specific message sent TO YOU
cat ~/.aimaestro/messages/inbox/$(tmux display-message -p '#S')/msg_1234567890_abcde.json | jq

4. Mark Message as Read (via API)

Command:

# Get current session name
SESSION_NAME=$(tmux display-message -p '#S')

# Mark message as read
curl -X PATCH "http://localhost:23000/api/messages?agent=$SESSION_NAME&id=<message-id>&action=read" \
  -H 'Content-Type: application/json'

PART 2: SENDING MESSAGES (TO OTHER AGENTS)

⚠️ CRITICAL: What "sending a message" means:

  • Operator tells YOU to send a message TO ANOTHER AGENT
  • NOT sending messages to the operator
  • Message goes to ANOTHER AGENT's inbox
  • Target = Another agent (identified by their tmux session name)

5. File-Based Messages (Persistent, Structured)

Use for detailed, non-urgent communication that needs to be referenced later BY OTHER AGENTS.

Command:

send-aimaestro-message.sh <to_agent[@host]> <subject> <message> [priority] [type]

Parameters:

  • to_agent[@host] (required) - Target agent with optional host:
    • backend-api - Send to agent on same host (local)
    • backend-api@mac-mini - Send to agent on remote host "mac-mini"
    • backend-api@local - Explicitly send to local agent
  • subject (required) - Brief subject line
  • message (required) - Message content to send TO OTHER AGENT
  • priority (optional) - low | normal | high | urgent (default: normal)
  • type (optional) - request | response | notification | update (default: request)

Examples:

# Simple request (local agent)
send-aimaestro-message.sh backend-architect "Need API endpoint" "Please implement POST /api/users with pagination"

# Cross-host message (agent on remote machine)
send-aimaestro-message.sh crm-api@mac-mini "Customer data sync" "Please sync customer records from CRM" high request

# Urgent notification (local)
send-aimaestro-message.sh frontend-dev "Production issue" "API returning 500 errors" urgent notification

# Response to request
send-aimaestro-message.sh orchestrator "Re: Task complete" "User dashboard finished at components/Dashboard.tsx" normal response

# Progress update
send-aimaestro-message.sh project-lead "Payment integration: 60% done" "Stripe API integrated. Working on webhooks. ETA: 2 hours." normal update

PART 2.5: CROSS-HOST MESSAGING

AI Maestro supports sending messages to agents running on different machines (hosts). This enables distributed agent workflows across your infrastructure.

Host Configuration

Hosts are configured in ~/.aimaestro/hosts.json:

{
  "hosts": [
    {
      "id": "local",
      "name": "macbook-pro",
      "url": "http://localhost:23000",
      "type": "local",
      "enabled": true
    },
    {
      "id": "mac-mini",
      "name": "mac-mini-server",
      "url": "http://100.80.12.6:23000",
      "type": "remote",
      "enabled": true
    }
  ]
}

Addressing Agents on Remote Hosts

Use the agent@host format to send messages to remote agents:

# Send to agent "crm-api" on host "mac-mini"
send-aimaestro-message.sh crm-api@mac-mini "Sync request" "Please sync customer data"

# Send to agent "data-processor" on host "cloud-server"
send-aimaestro-message.sh data-processor@cloud-server "Process batch" "Run nightly ETL" high request

How Cross-Host Messaging Works

  1. Parse destination: Script parses agent@host format
  2. Resolve host URL: Looks up host URL from ~/.aimaestro/hosts.json
  3. Resolve agent: Queries remote host's API to verify agent exists
  4. Send directly: POST message to remote host's /api/messages endpoint
  5. Local copy: Saves copy in sender's sent folder

Message Display with Hosts

When viewing messages, sender info includes their host:

From: backend-api@macbook-pro
To: crm-api@mac-mini
Subject: Data sync complete

Troubleshooting Cross-Host Messaging

Cannot find host:

# List available hosts
source ~/.local/share/aimaestro/shell-helpers/common.sh
list_hosts

Remote host unreachable:

  • Check host URL in ~/.aimaestro/hosts.json
  • Verify network connectivity: curl http://<host-url>/api/sessions
  • Ensure AI Maestro is running on remote host

Agent not found on remote host:

  • Verify agent exists on remote: curl http://<host-url>/api/agents
  • Check agent alias spelling

6. Instant Notifications (Real-time, Ephemeral)

Use for urgent alerts that need immediate attention FROM OTHER AGENTS.

Command:

send-tmux-message.sh <target_session> <message> [method]

Parameters:

  • target_session (required) - Target agent's name (ANOTHER AGENT, not operator)
  • message (required) - Alert text to send TO OTHER AGENT
  • method (optional) - display | inject | echo (default: display)

Methods:

  • display - Popup notification (non-intrusive, auto-dismisses)
  • inject - Inject into terminal history (visible but interrupts)
  • echo - Formatted output (most visible, most intrusive)

Examples:

# Quick alert (popup)
send-tmux-message.sh backend-architect "Check your inbox!"

# Urgent visible alert
send-tmux-message.sh frontend-dev "Build failed! Check logs" inject

# Critical formatted alert
send-tmux-message.sh backend-architect "PRODUCTION DOWN!" echo

7. Combined Approach (Urgent + Detailed)

For critical issues, use both methods:

# 1. Get attention immediately
send-tmux-message.sh backend-architect "🚨 Check inbox NOW!"

# 2. Provide full details
send-aimaestro-message.sh backend-architect \
  "Production: Database timeout" \
  "All /api/users endpoints failing since 14:30. Connection pool exhausted. ~200 users affected. Need immediate fix." \
  urgent \
  notification

Decision Guide

Use file-based (send-aimaestro-message.sh) when:

  • Message contains detailed requirements or context
  • Recipient needs to reference it later
  • Communication is structured (priority, type)
  • Not time-critical (within hours)

Use instant (send-tmux-message.sh) when:

  • Urgent attention needed (minutes)
  • Quick FYI ("build done", "tests passing")
  • Making sure file message gets seen
  • Production emergency

Use both when:

  • Critical AND detailed information needed
  • Blocking another agent's work
  • Production issues affecting users

Message Type Guidelines

  • request - Need someone to do something (implement, review, help)
  • response - Answering a request (task complete, here's the result)
  • notification - FYI update, no action needed (deploy done, tests passing)
  • update - Progress report on ongoing work (50% complete, ETA 2 hours)

Priority Guidelines

  • urgent - Production down, data loss, security issue (respond in < 15 min)
  • high - Blocking work, important feature needed soon (respond in < 1 hour)
  • normal - Standard workflow (respond within 4 hours)
  • low - Nice-to-have, when free time available

Examples by Scenario

RECEIVING Examples (Checking YOUR OWN Inbox)

Scenario R1: Check YOUR Inbox on Agent Start

# YOU are agent "frontend-dev"
# Best practice: Always check YOUR inbox when starting work

check-and-show-messages.sh
# This checks ~/.aimaestro/messages/inbox/frontend-dev/
# Shows messages OTHER AGENTS sent TO YOU

# If messages found from other agents, read and respond appropriately

Scenario R2: Quick Check for New Messages in YOUR Inbox

# Operator asks: "Any new messages?"
# YOU (the agent) check YOUR inbox

check-new-messages-arrived.sh
# Output: "You have 2 new message(s)"  ← Sent TO YOU by other agents

# Then show full details from YOUR inbox
check-and-show-messages.sh

Scenario R3: Read Message FROM YOUR Inbox and Respond

# YOU are agent "backend-architect"
# 1. Check YOUR inbox for messages sent TO YOU

check-and-show-messages.sh

# Output shows message sent TO YOU:
# Message: msg_1705502625_abc123
# From: frontend-dev          ← Another agent sent this
# To: backend-architect       ← YOU (your session)
# Subject: Need API endpoint
# Priority: high
# Type: request
# Content: Please implement POST /api/users with pagination...

# 2. Work on the request (implement the feature)

# 3. Send response TO THE AGENT who messaged you
send-aimaestro-message.sh frontend-dev \
  "Re: API endpoint ready" \
  "Implemented POST /api/users at routes/users.ts:45. Includes pagination support." \
  normal \
  response

Scenario R4: Handle Urgent Message in YOUR Inbox

# YOU are agent "frontend-dev"
# Check YOUR inbox

check-and-show-messages.sh

# Output shows urgent message sent TO YOU:
# 🚨 Priority: urgent
# From: backend-architect     ← Sent by another agent
# To: frontend-dev            ← YOU (your session)
# Subject: Production: Database down
# Content: All queries failing since 15:30...

# 1. Acknowledge immediately TO THE AGENT who sent it
send-tmux-message.sh backend-architect "Received urgent alert - investigating now!" inject

# 2. Work on issue

# 3. Send detailed update TO THE AGENT who alerted you
send-aimaestro-message.sh backend-architect \
  "Re: Database issue - RESOLVED" \
  "Issue identified: connection pool exhausted. Increased max_connections. System stable." \
  urgent \
  response

SENDING Examples

Scenario S1: Request Work from Another Agent

send-aimaestro-message.sh backend-api \
  "Need GET /api/users endpoint" \
  "Building user list UI. Need endpoint returning array of users with {id, name, email}. Pagination optional but nice." \
  high \
  request

Scenario S2: Urgent Alert

# Get attention
send-tmux-message.sh backend-api "🚨 Urgent: Check inbox!"

# Provide details
send-aimaestro-message.sh backend-api \
  "Production: API failing" \
  "All /users endpoints returning 500. Database connection timeout. ~100 users affected." \
  urgent \
  notification

Scenario S3: Progress Update

send-aimaestro-message.sh project-lead \
  "User auth: 75% complete" \
  "✅ Database schema done
✅ Registration endpoint done
✅ Login endpoint done
⏳ Password reset in progress

ETA: 1 hour. No blockers." \
  normal \
  update

Scenario S4: Reply to Request

send-aimaestro-message.sh frontend-dev \
  "Re: GET /api/users endpoint" \
  "Endpoint ready at routes/users.ts:120. Returns {users: Array<User>, total: number, page: number}. Supports pagination with ?page=1&limit=20." \
  normal \
  response

Workflow

Receiving Messages Workflow (Checking YOUR OWN Inbox)

Remember: You are checking YOUR inbox for messages other agents sent TO YOU

  1. Check YOUR inbox proactively - Run check-and-show-messages.sh when starting work or operator asks

    • This reads ~/.aimaestro/messages/inbox/YOUR-AGENT-ID/
    • Shows messages OTHER AGENTS sent TO YOU
  2. Read message content - Display full message details

    • From: Which agent sent this TO YOU
    • To: YOUR session name
    • Subject, priority, content: What they want YOU to know/do
  3. Assess urgency - Check priority level (urgent = respond immediately TO THAT AGENT)

  4. Take action - Work on the request that was sent TO YOU

    • Investigate issue
    • Implement feature
    • Or acknowledge receipt
  5. Respond TO THE AGENT who messaged you - Send reply using appropriate method

    • File-based: Send TO the agent who messaged you
    • Instant: Send TO the agent who messaged you
  6. Mark as read - (Optional) Update YOUR message status via API

Sending Messages Workflow (TO Other Agents)

Remember: Operator tells YOU to send a message TO ANOTHER AGENT

  1. Understand the request - What does the operator want YOU to communicate TO ANOTHER AGENT?

  2. Identify target agent - Which OTHER agent should receive this message FROM YOU?

    • Target = Another agent's name
    • NOT the operator
    • NOT your own inbox
  3. Choose method - Urgent? Use instant. Detailed? Use file-based. Both? Use both.

    • File-based: Goes to OTHER AGENT's inbox
    • Instant: Popup in OTHER AGENT's terminal
  4. Select priority - How urgent is this for THE OTHER AGENT?

  5. Choose type - Is it a request, response, notification, or update TO THE OTHER AGENT?

  6. Execute command - Run the appropriate send-* script

    • Sends FROM YOU TO OTHER AGENT
    • Message appears in OTHER AGENT's inbox
  7. Confirm - Tell operator: "Message sent to [other-agent-name]"

Error Handling

Receiving Errors (Checking YOUR Inbox)

No messages found:

  • This is normal if YOUR inbox is empty
  • Output: "No messages in your inbox"
  • Means: No other agents have sent messages TO YOU yet

Script not found:

  • Check PATH: which check-and-show-messages.sh
  • Verify scripts installed: ls -la ~/.local/bin/check-*.sh

Cannot read inbox directory:

  • Check YOUR inbox directory exists: ls -la ~/.aimaestro/messages/inbox/$(tmux display-message -p '#S')/
  • Verify YOUR session name: tmux display-message -p '#S'
  • Remember: You're reading YOUR inbox, not someone else's

Important: If you can't find messages:

  • Make sure you're checking the RIGHT inbox (yours)
  • Don't try to read other agents' inboxes
  • Don't try to read the operator's messages

Sending Errors

Command fails:

  • Check target session exists: tmux list-sessions
  • Verify AI Maestro is running: curl http://localhost:23000/api/sessions
  • Check PATH: which send-aimaestro-message.sh

Invalid session name:

  • Session names must match tmux session names exactly
  • Use tmux list-sessions to see valid names

References