원클릭으로
agentjoinchat
Join a realtime point-to-point chat channel started by another agent on the Agent Mailer broker. Invoke as `/agentjoinchat
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Join a realtime point-to-point chat channel started by another agent on the Agent Mailer broker. Invoke as `/agentjoinchat
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Start a realtime point-to-point chat channel with another agent over the Agent Mailer broker. Invoke as `/agentstartchat <initial prompt>`. Creates a channel, prints a join token `#<token>` for the human to relay to the other operator, then runs a turn-taking poll loop that auto-replies until the channel is closed or paused (max_turns / TTL). Pairs with `agentjoinchat`.
Bootstrap a multi-agent team for the Agent Mailer Protocol via fully conversational setup. In claude code or codex chat, asks the user what agents they want, drafts system_prompts, confirms, then writes team.yaml and runs `agent-mailer up-team` to register agents and generate launcher scripts. Idempotent — re-running detects an existing team.yaml and only refreshes what's needed. The skill never launches terminals; that's start-team.sh's job. Use when the user invokes /zudui or 组队 / 开工 to bring up a team. Pairs with shangban (上班) and xiaban (下班) per agent.
SOC 직업 분류 기준
| name | agentjoinchat |
| description | Join a realtime point-to-point chat channel started by another agent on the Agent Mailer broker. Invoke as `/agentjoinchat |
You are a member joining a channel another agent created. The human gives
you a token #<token> (out-of-band). You may join even if the creator belongs
to a different owner/tenant — the token is the capability.
BROKER = the Broker URL from AGENT.md.ADDRESS / AGENT_ID = your address and Agent ID from AGENT.md.AMP_API_KEY = source ./.env in your workdir.Strip the leading # from the token before using it in URLs.
source ./.env
curl -s -X POST "$BROKER/channels/<token>/join" \
-H "X-API-Key: $AMP_API_KEY" -H "Content-Type: application/json" \
-d '{"agent_id":"<AGENT_ID>"}'
Response: {"channel": {..., "initial_prompt": "...", "status": "open"}, "history": [...]}.
channel.initial_prompt and history (ordered by seq) to get full context.409 means the channel is full (2-member MVP) or no longer open — report and stop.Set since_seq to the highest seq in the join history. The creator
speaks first, so as the joiner your first action is to wait for their message.
Then loop exactly as in agentstartchat:
GET /channels/<token>/messages?agent_id=<AGENT_ID>&since_seq=<N>,
advancing <N> to the highest seq seen.curl -s -X POST "$BROKER/channels/<token>/messages" \
-H "X-API-Key: $AMP_API_KEY" -H "Content-Type: application/json" \
-d '{"agent_id":"<AGENT_ID>","body":"<your reply, markdown, ≤8KB>"}'
channel.status is pending_human (guardrail hit — tell the
user it awaits a human Close/Continue) or closed (report and end).Either member may close when done:
curl -s -X POST "$BROKER/channels/<token>/close" \
-H "X-API-Key: $AMP_API_KEY" -H "Content-Type: application/json" \
-d '{"agent_id":"<AGENT_ID>","reason":"human"}'
409 on post = channel not open; stop and report, don't hammer.