ea-scheduling

Negotiates and books meetings from email threads using Google Calendar FreeBusy and Kanban task tracking.

108|11|Updated Jun 26, 2026
One-click install
npx skills add https://github.com/db-aeon/joshu-oss --skill ea-scheduling-db-aeon
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ea-scheduling
Source: https://github.com/db-aeon/joshu-oss/tree/main/integrations/hermes/skills/executive-assistant/ea-scheduling
Command: npx skills add https://github.com/db-aeon/joshu-oss --skill ea-scheduling-db-aeon

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Coordinating meetings over email requires checking calendar availability, negotiating times with counterparties, sending replies, and tracking which threads are waiting on responses — this Skill automates that entire scheduling workflow on a Kanban board. ## Core Features & Use Cases - Live availability checking: Queries the owner's Google Calendar via FreeBusy (combined primary and personal calendars) to find genuinely free slots before proposing or booking. - Meeting task lifecycle: Creates, matches, hands off, blocks, and completes meeting tasks on the ea-scheduling Kanban board via scheduling_* MCP tools, with deduplication by email thread. - Booking and negotiation: Books confirmed slots with Google Calendar create-event, sends thread-aware reply emails with owner SMS approval gating, and falls back to email when counterparty Calendly links block browser booking. - Use Case: A recruiter emails asking for the owner's availability; the mail ingress worker files the thread, a meeting task is created, the agent checks live FreeBusy, proposes three slots by reply email, and books the confirmed time on the owner's Google Calendar. ## Quick Start Ask the agent to check which meeting threads need follow-up and propose available time slots to any counterparty still waiting on a reply.

Frequently Asked Questions about ea-scheduling

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check calendar availability before proposing meeting times?

Use google_calendar_find_free_slots with the owner's timezone, omitting the items parameter so both primary and personal Gmail calendars are queried. Schedule only from calendars.combined.free, since checking primary alone misses conflicts on the personal calendar.

How does the skill book a meeting on Google Calendar?

Once a slot is confirmed and free on live FreeBusy, it calls the Composio GOOGLECALENDAR_CREATE_EVENT tool with summary, local start datetime, timezone, duration, and attendees. It then sends a confirmation email and completes the Kanban task.

What happens when a counterparty sends their own Calendly link?

The agent warms the Camofox browser, navigates to the link with at most two attempts, and visually confirms the slot. If Calendly blocks the booking submission, it emails the counterparty asking them to send a calendar invite directly instead of retrying.

Why does nylas_send_message time out when sending scheduling emails?

A timeout usually means the owner SMS approval gate is still pending, not that the MCP server is down. The correct response is to block the Kanban task with reason 'awaiting owner approval' rather than retrying the send from another task.

Can the agent create events on the Nylas calendar?

No. Nylas calendar writes are hard-blocked by Joshu MCP policy; nylas_list_events is read-only and serves only as a historical ledger of holds. All event creation goes through Composio Google Calendar tools on the owner's connected account.

When should a meeting task be blocked instead of booked?

Block the task when the counterparty reply is vague, when outreach was just sent and awaits a reply, when the calendar check is inconclusive, or when the thread is ambiguous or sensitive. Never guess availability or send mail when unsure — defer to owner review.