The Coaching Agent
An hour before a live group coaching session, we pieced its state together by hand: who had signed up, which topics were real, whether the reminders had gone out. This plan turns every one of those manual steps into an agent that does them for every session.
This is a demonstration, not a build
We are not building this agent yet. It is published to show how to scope one: start from what you did by hand, decide what the rules own and what the model owns, and write the guardrails before the code.
Six things we did by hand, an hour before the session
- Looked up the session, who had signed up, and the topics submitted.
- Found that both topics were test posts from our own team, and removed them.
- Posted the invite (time, hosts, Zoom link, certification reminder) to the team chats.
- Noticed the session had no host set, and set it.
- Found that the day-before reminder email had never gone out.
- Spotted a late signup that the hosts didn’t know about.
A scheduled job inside the backend we already run
Fixed rules decide when to post and what to post. Claude writes only the host brief, and a plain template takes over if it fails. The agent can write only to its own log, and it never deletes anything.
A Vercel cron job every 10 minutes, next to the reminder-email job that already exists. No laptop, no new service.
The lead coach, through a Lark login approved once. The team hears from a person, not a bot.
Only its own log. Deleting test topics, setting hosts and marking attendance stay with people.
The same seven moments around every session
Each one goes out once. If the moment has passed, it is skipped and logged, never sent late.
Ask for topics, if there are none
A short post with a link to submit a topic. Nothing is sent if topics are already in.
The invite
Time in local time, the hosts, the Zoom link, how many have signed up, and the certification reminder: four coaching sessions are required.
A second ask for topics, if there are still none
The host brief, written by Claude
Who’s coming and how far along their certification they are, the topics grouped by theme with a suggested order, likely test topics marked, and a suggested opener if there are no topics.
“Starting in an hour,” with the Zoom link
Final check
The Zoom link, and anyone who signed up after the brief went out.
Attendance check
If no one has been marked as attended, the hosts get a reminder. Attendance is what counts toward certification.
Four questions before anything is sent
Every 10 minutes the job loads the sessions starting in the next 48 hours, alerts the lead coach if one has no host or Zoom link, then asks these questions of each scheduled message.
The moment hasn’t arrived.
The action log already has it.
The next moment has already started.
For example, a topic ask when topics are already in.
Fill the template, or have Claude write the host brief.
Everything goes to the lead coach’s DMs
How it runs for its first two sessions, so a bad message is caught before the team sees it.
Posts as the lead coach
To the team chats or the hosts’ DMs, depending on the moment.
Alert the lead coach, try again next run
If the Lark login has expired or a chat rejects the post, the agent stops and says so once a day. It never falls back to posting as someone else.
What it will and won’t do
- Posts once, in order. The action log makes every message a one-off.
- Fixed wording in the team chats. Claude writes only the host brief, which goes to the hosts.
- No names in the team chats. Posts give a signup count; names stay in the host brief.
- Never deletes. Test topics are flagged for a person to remove.
- No personal logins.It uses the backend’s own database access, not anyone’s laptop.
- No posting from staging. The test site runs on a copy of real data, so it never gets the real chat IDs.
Six phases, each with its own definition of done
- 0. Fix the missing day-before email, the gap we found by hand. Done when the next session’s signups get it.
- 1. Foundation, in dry run. Done when the lead coach gets the right DMs at the right times, each exactly once.
- 2. Team chat posts.Done when a week’s session is announced with no posts by hand.
- 3. Host brief. Done when the hosts run a session from the brief alone.
- 4. Attendance and email checks. Done when a session with no attendance marked reminds the hosts within 2 hours.
- 5. Certification progress.Done when the lead coach gets a correct “who’s behind” list every Monday.
The Coaching Agent, v1 · a demonstration plan from the AIOLabz coaching session on September 24, 2026