Imported from nrandell/eacli (
AGENTS.md). Install upstream withnpx skills add nrandell/eacli. Copyright stays with the author.
eacli — agent instructions
Everyone Active gym bookings CLI + MCP server. Read this file, OPENCLAW.md, and docs/agents.md before using tools.
Quick rules
- Confirm with the user before
book_classorcancel_booking(activity, date, time, member). list_membersfirst when the user says "me" / "my" and multiple household members may exist. Each person needs a separate EA login (.eacli-profiles.json) — passmemberorprofileon book/cancel/availability/bookings.check_availabilitybefore booking — always pass activity and date (never scan all activities).- Activity queries: use compact names (
hiit,combat) — not spaced portal labels (h I I t). list_members: multi-profile setups returndata.profiles(notmembers). Single.envaccounts still usedata.members.list_bookings: use each session'smembersarray (no singularmemberfield). Mentionstatuswhen it isWaiting List.book_classconfirmed: falseis not always failure — verify withlist_bookingsbefore retrying.- Set MCP timeout ≥ 180s — Playwright calls often take 30–90s. Reload MCP after editing
.eacli-profiles.json. - On
NETWORK_ERROR: wait, retry once, then forcelogin+doctor. Read.eacli-session/last-run.log/last-failure.html.
Documentation map
| Doc | Purpose |
|---|---|
| OPENCLAW.md | OpenClaw first-stop — MCP setup, skill, playbook, logs |
| skills/eacli/SKILL.md | Portable agent skill (workflows + pitfalls) |
| docs/agents.md | Canonical agent guide — OpenClaw, Cursor, MCP, workflows, pitfalls |
| docs/examples.md | CLI examples and sample JSON |
| docs/tools.json | Tool schemas for shell agents without MCP (npm run generate-tools to refresh) |
| docs/hermes.md | Hermes-only setup (optional) |
MCP tools
list_members, list_bookings, list_favourites, check_availability, book_class, cancel_booking, login, doctor
MCP server instructions are also embedded in src/mcp/server.ts (loaded at runtime).
CLI fallback (no MCP)
From repo root, always use --json:
npm run dev -- bookings list --json
Progress appears on stderr as [eacli] …. Failure logs: .eacli-session/last-run.log.