Skip to content
cccskills
FreePublished on GitHub

agent-mail

MCP Agent Mail for multi-agent coordination. Use when agents need file locks, messaging, inboxes, or conflict prevention. Handles macro_start_session, file_reservation_paths, send_message, threading, pre-commit guards.

The English summary is being prepared. Showing the original description.

Run score Not tested

See how to install

Files included (10)

  • SKILL.md6.5 KB
  • references/ADVANCED.md6.2 KB
  • references/CROSS-PROJECT.md3.1 KB
  • references/FIX-MCP-CONFIG.md3.1 KB
  • references/INSTALL.md3.6 KB
  • references/RECOVERY.md4.7 KB
  • references/RESOURCES.md3.0 KB
  • references/TOOLS.md6.6 KB
  • references/WORKFLOWS.md5.7 KB
  • SELF-TEST.md943 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

<!-- TOC: Bootstrap | Core Ops | File Reservations | Beads | Troubleshooting | Identity | Human Overseer | Pre-Commit Guard | References -->

Using MCP Agent Mail

Core Insight: Without coordination, multiple agents overwrite each other's work. Agent Mail provides identities, messaging, and file reservations to prevent conflicts.

When to Use What

SituationAction
Starting any agent sessionmacro_start_session
About to edit filesfile_reservation_paths → edit → release_file_reservations
Need to tell another agent somethingsend_message with thread_id
Picking up someone else's workmacro_prepare_thread
Can't message an agentrequest_contact → wait for approval
Server seems brokenUse health_check() first; CLI-only: doctor check --verbose → doctor repair --yes

THE EXACT PROMPT — Session Bootstrap

Call this at the start of every agent session:

macro_start_session(
  human_key="/abs/path/to/project",
  program="claude-code",
  model="YOUR_MODEL",
  task_description="Working on auth module"
)

Returns: {project, agent, file_reservations, inbox}

This single call: ensures project exists → registers your identity → fetches inbox.


Core Operations

TaskTool
Bootstrap sessionmacro_start_session(human_key, program, model, task_description)
Send messagesend_message(project_key, sender_name, to, subject, body_md)
Reply in threadreply_message(project_key, message_id, sender_name, body_md)
Check inboxfetch_inbox(project_key, agent_name, limit=20)
Reserve filesfile_reservation_paths(project_key, agent_name, paths, ttl_seconds)
Release filesrelease_file_reservations(project_key, agent_name)
Search messagessearch_messages(project_key, "query")

The Four Macros

MacroWhen to Use
macro_start_sessionBootstrap: project → agent → inbox
macro_prepare_threadJoin existing thread with summary
macro_file_reservation_cycleReserve → work → auto-release
macro_contact_handshakeCross-agent contact setup

Fast Resource Reads (No Tool Call Required)

NeedResource
List agentsresource://agents/{project_key}
Inboxresource://inbox/{agent}?project=/abs/path&limit=20
Threadresource://thread/{thread_id}?project=/abs/path&include_bodies=true
Ack-requiredresource://views/ack-required/{agent}?project=/abs/path

File Reservations

Reserve Before Editing

file_reservation_paths(
  project_key="/abs/path/project",
  agent_name="GreenCastle",
  paths=["src/auth/**/*.ts"],
  ttl_seconds=3600,
  exclusive=true,
  reason="bd-123"
)

Returns: {granted: [...], conflicts: [...]}

Conflict Resolution

If conflicts exist:

  1. Wait — TTL will expire
  2. Coordinate — Message the holder
  3. Share — Use exclusive=false

Release When Done

release_file_reservations(project_key="/abs/path/project", agent_name="GreenCastle")

Beads Integration

Use bead IDs as your threading anchor:

1. Pick work:        br ready --json → choose bd-123
2. Reserve files:    file_reservation_paths(..., reason="bd-123")
3. Announce:         send_message(..., thread_id="bd-123", subject="[bd-123] Starting...")
4. Work:             Reply in thread with progress
5. Complete:         br close bd-123, release_file_reservations(...), final message

Bead ID (often bd-###) goes in: thread_id, subject prefix, reservation reason, commit message


Quick Troubleshooting

ErrorFix
"sender_name not registered"Call macro_start_session first
"FILE_RESERVATION_CONFLICT"Wait, coordinate, or use exclusive=false
"CONTACT_BLOCKED"Use request_contact, wait for approval
Empty inboxCheck since_ts, urgent_only, agent name spelling
Server unreachableUse health_check() or resource://config/environment to confirm MCP server is up; if CLI-only, check curl http://127.0.0.1:8765/health
Guard blocks commitSet AGENT_NAME env var; bypass: AGENT_MAIL_BYPASS=1 git commit

Doctor Diagnostics (CLI-only, optional)

# Quick health check (CLI daemon)
curl http://127.0.0.1:8765/health

# Full diagnostics (CLI)
uv run python -m mcp_agent_mail.cli doctor check --verbose

# Preview repairs (dry run, CLI)
uv run python -m mcp_agent_mail.cli doctor repair --dry-run

# Apply repairs (CLI)
uv run python -m mcp_agent_mail.cli doctor repair --yes

Agent Identity

Agents get adjective+noun names: GreenCastle, BlueLake, RedBear.

Best practice: Omit name parameter to auto-generate valid names.

register_agent(
  project_key="/abs/path/project",
  program="claude-code",
  model="YOUR_MODEL",
  task_description="Auth refactor"
)  # name auto-generated

Human Overseer

Send urgent messages to agents from the web UI at http://127.0.0.1:8765/mail:

  1. Click "Human Overseer" mode
  2. Compose with importance: urgent
  3. Select target agents

Agents see urgent messages via fetch_inbox(..., urgent_only=true).


Pre-Commit Guard

install_precommit_guard(project_key="/abs/path", code_repo_path="/abs/path")
  • Set AGENT_NAME env var so guard knows who you are
  • Bypass emergency: AGENT_MAIL_BYPASS=1 git commit -m "fix"
  • Warning mode: AGENT_MAIL_GUARD_MODE=warn

Search Syntax (FTS5)

"exact phrase"
prefix*
term1 AND term2
term1 OR term2
(auth OR login) AND NOT admin

References

TopicReference
All MCP toolsTOOLS.md
Workflow patternsWORKFLOWS.md
MCP resourcesRESOURCES.md
Cross-project setupCROSS-PROJECT.md
Doctor & recoveryRECOVERY.md
InstallationINSTALL.md
Fix MCP configFIX-MCP-CONFIG.md
Product bus, build slots, internalsADVANCED.md

Validation

# Server health
curl http://127.0.0.1:8765/health
# → {"status": "healthy"}

# Start server if needed
am

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

The philosophy and practical benefits of agent fungibility in multi-agent software development. Why homogeneous, interchangeable agents outperform specialized role-based systems at scale.

The English summary is being prepared. Showing the original description.

Dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations73Updated Sep 6, 2026

Jeffrey Emanuel's multi-agent implementation workflow using NTM, Agent Mail, Beads, and BV. The execution phase that follows planning and bead creation. Includes exact prompts used.

The English summary is being prepared. Showing the original description.

Dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations73Updated Sep 6, 2026

Convert markdown plans into beads with dependencies using br CLI. Use when creating task graphs, polishing beads before implementation, or bridging planning to agent swarm execution.

The English summary is being prepared. Showing the original description.

Dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations73Updated Sep 6, 2026

bv

Free

Beads Viewer - Graph-aware triage engine for Beads projects. Computes PageRank, betweenness, critical path, and cycles. Use --robot-* flags for AI agents.

The English summary is being prepared. Showing the original description.

Dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations73Updated Sep 6, 2026

caam

Free

Manage AI coding CLI accounts with sub-100ms switching. Use when hitting rate limits on Claude Max, GPT Pro, or Gemini Ultra subscriptions and need instant account swapping without browser OAuth.

The English summary is being prepared. Showing the original description.

Dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations73Updated Sep 6, 2026

cass

Free

Mine past agent sessions for working prompts, decisions, and patterns. Use when "what did I ask?", "find that prompt", session archaeology, or agent history.

The English summary is being prepared. Showing the original description.

Dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations73Updated Sep 6, 2026

See all skills by Dicklesworthstone

Report a problem with this skill