← Back to Skills Marketplace
lmanchu

AgentMeet

by lmanchu · GitHub ↗ · v0.1.0 · MIT-0
darwinlinux ⚠ suspicious
127
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install agentmeet
Description
Agent-to-agent meeting coordination over email. Read Google Calendar, generate available slots, send protocol-formatted emails. Recipients click a time slot...
README (SKILL.md)

AgentMeet — Agent-to-Agent Meeting Coordination

An open protocol for AI agents to coordinate meetings over email. No server. No domain. No account. Pure p2p.

How It Works

  1. Agent reads user's Google Calendar -> generates available slots
  2. Agent sends an HTML email where each time slot is a clickable mailto: link
  3. Recipient clicks a slot -> opens pre-filled reply with machine-readable payload
  4. Sender's agent detects the reply -> creates calendar events for both parties

Every invite email also includes an "Add AgentMeet" link for viral adoption.

Setup

cd ~/Dropbox/Dev/agentmeet && npm install

Requires Google Calendar and Gmail access (OAuth or MCP).

Usage

Send a meeting invite

bun run -e '
import { buildInvite } from "~/Dropbox/Dev/agentmeet/src/invite";
import { writeFileSync } from "fs";

const result = await buildInvite({
  from: { name: "YOUR_NAME", email: "YOUR_EMAIL" },
  to: "RECIPIENT_EMAIL",
  meeting: {
    title: "Meeting Title",
    duration_minutes: 30,
    notes: "Optional description",
  },
  slots: [
    { start: "2026-03-25T10:00:00+08:00", end: "2026-03-25T10:30:00+08:00" },
  ],
});

// result.subject = email subject line
// result.html = email body (HTML with embedded protocol payload)
// Send via Gmail API or any email service
'

Parse an incoming agentmeet email

import { parseAgentMeetEmail, isAgentMeetSubject } from "agentmeet";

// Check subject line
if (isAgentMeetSubject(emailSubject)) {
  const payload = parseAgentMeetEmail(emailHtmlBody);
  if (payload) {
    console.log(payload.type);           // INVITE | COUNTER | SELECT | CONFIRM
    console.log(payload.request_id);     // am_xxx
    console.log(payload.selected_slots); // for SELECT type
  }
}

Generate available slots from calendar

import { getBusyPeriods, generateAvailableSlots, DEFAULT_PREFERENCES } from "agentmeet";

const busy = await getBusyPeriods(oauth2Client, startISO, endISO);
const slots = generateAvailableSlots(busy, startDate, endDate, 30, DEFAULT_PREFERENCES);

Protocol

Four message types, embedded as HTML comments in email body:

Type Direction Purpose
INVITE A -> B Sender's available slots
COUNTER B -> A Recipient's alternative slots
SELECT B -> A Recipient picks one or more slots
CONFIRM A -> B Calendar events created

Detection: subject starts with [AgentMeet], body contains \x3C!-- agentmeet/v1.

Payload format:

\x3C!-- agentmeet/v1
{
  "protocol": "agentmeet",
  "version": "0.1",
  "type": "SELECT",
  "request_id": "am_abc123",
  "selected_slots": [{ "start": "ISO8601", "end": "ISO8601" }]
}
-->

Multi-Party Scheduling

Send INVITE to multiple recipients. Each responds with their available slots. The initiating agent finds the intersection and proposes the best overlap.

Email Format

Each slot in the invite email is a mailto: link. Clicking it opens a pre-filled reply email with the SELECT payload. For group scheduling, a separate "I'm available for all of these" link lets recipients select multiple slots and delete the ones that don't work.

Configuration

Default preferences (override per-invite):

working_hours:
  start: "09:00"
  end: "18:00"
  timezone: "Asia/Taipei"
buffer_minutes: 15
max_slots_to_share: 5
blocked_days: ["saturday", "sunday"]

Source

Protocol spec: PROTOCOL.md Implementation: src/ (TypeScript) License: Apache-2.0

Usage Guidance
This skill is internally inconsistent and requires caution. Before installing: (1) Ask the publisher where the runtime code is supposed to come from — the SKILL.md points to ~/Dropbox/Dev/agentmeet (local dev copy) but the registry provides no code. (2) Require explicit declarations of the OAuth credentials or env vars the skill needs (Google OAuth client id/secret, refresh token, or an MCP) and limit scopes to only calendar/send mail. (3) Do not run npm/bun install or bun run in arbitrary home/Dropbox folders unless you trust the exact code in that folder; prefer a published package or a verified repo URL. (4) Verify the implementation source (GitHub repo/release) and review the code before executing; watch for any automatic propagation/viral links in outgoing emails. (5) Consider testing in an isolated account or sandbox with limited calendar data and a throwaway email before granting access to your main Google account.
Capability Analysis
Type: OpenClaw Skill Name: agentmeet Version: 0.1.0 The skill bundle relies on highly irregular hardcoded absolute paths (~/Dropbox/Dev/agentmeet) in both its installation metadata and usage examples, which is a significant security risk for a portable agent skill. The installation command executes 'bun install' within this specific local directory, which could lead to arbitrary code execution via package lifecycle scripts if the directory is pre-populated with malicious content. While the stated purpose of P2P meeting coordination via Google Calendar is plausible, the non-standard pathing and shell execution requirements are suspicious.
Capability Assessment
Purpose & Capability
The stated purpose (reading Google Calendar and sending Gmail messages) is reasonable for a meeting coordination skill, but the SKILL.md and registry metadata are inconsistent about how the code is obtained/installed (npm vs bun metadata). The skill requires access to Google Calendar/Gmail but declares no credentials or config paths, and all examples import code from a user-local path (~/Dropbox/Dev/agentmeet), which is not provided by the registry and is an unusual requirement for a runtime skill.
Instruction Scope
The instructions tell the agent to cd into a specific user folder in Dropbox, run package installs there, import and execute local TypeScript/JS modules, and access the user's Google Calendar/Gmail via an oauth2Client. Those steps require reading/writing arbitrary files in the user's home/Dropbox and possessing OAuth credentials — neither of which are declared. The SKILL.md also promotes viral 'Add AgentMeet' links, which could encourage propagation without clear controls.
Install Mechanism
There is no formal install spec in the package, yet metadata contains an install command using bun, while SKILL.md suggests running npm install in a local Dropbox directory. For an instruction-only skill, instructing the agent to run package managers in arbitrary user paths is risky and inconsistent.
Credentials
The skill requires Google Calendar and Gmail access (OAuth or MCP) per the docs, but requires.env lists none and no primary credential is declared. The example code expects an oauth2Client but the skill gives no guidance for what credentials or environment variables the agent will need, which is disproportionate and ambiguous. Additionally, reading from ~/Dropbox/Dev/agentmeet implies file-system access beyond what's justified by the registry metadata.
Persistence & Privilege
always:false and normal autonomous invocation — no elevated platform privileges requested. However, the instructions cause the agent to run local code and install packages in user directories which can create persistent files or execute arbitrary code; this is a behavioral risk even though the skill doesn't request special platform privileges.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install agentmeet
  3. After installation, invoke the skill by name or use /agentmeet
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.0
Initial release: agent-to-agent meeting coordination over email. No server, no domain, pure p2p. Ships with Google Calendar integration and mailto-based slot picker.
Metadata
Slug agentmeet
Version 0.1.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is AgentMeet?

Agent-to-agent meeting coordination over email. Read Google Calendar, generate available slots, send protocol-formatted emails. Recipients click a time slot... It is an AI Agent Skill for Claude Code / OpenClaw, with 127 downloads so far.

How do I install AgentMeet?

Run "/install agentmeet" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is AgentMeet free?

Yes, AgentMeet is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does AgentMeet support?

AgentMeet is cross-platform and runs anywhere OpenClaw / Claude Code is available (darwin, linux).

Who created AgentMeet?

It is built and maintained by lmanchu (@lmanchu); the current version is v0.1.0.

💬 Comments