Edventure AI Onboarding Kit

Hermes goal: automate the job

The two hands-on tracks have different goals, on purpose:

This lesson is the Hermes goal made concrete: get Hermes to do the same thing as the LaTeX web UI — turn a maths topic into a typeset image — but as a service that runs by itself every day, with no one clicking “Run agent”.

The shape: Hermes as the operator

The LaTeX app already knows how to make an image. So Hermes doesn’t re-implement it — Hermes becomes the operator that drives it on a schedule:

cron (daily)  ──▶  Hermes runs a skill  ──▶  calls the LaTeX app  ──▶  saves the SVG
                         │                                                │
                    remembers which topics it already covered (memory)

Three Hermes building blocks do all the work: a skill (the procedure), a cron job (the schedule), and memory (so it varies day to day).

Step 1 — Write a skill

A skill is a SKILL.md procedure (see the Skills lesson). Create one in the hermes repo — in VS Code (aiworkspace.konomondo.org, after clone-projects) that’s projects/hermes/skills/. Edit, commit, push, and redeploy to apply it.

projects/hermes/skills/daily-latex-visual/SKILL.md:

---
name: daily-latex-visual
description: Generate one LaTeX maths image for a topic by calling the LaTeX app.
---

Use this when asked to produce a daily maths visual.

Steps:
1. Choose a secondary-school maths topic (or use the one you were given).
   Avoid topics already listed in memory under "covered-latex-topics".
2. Ask the LaTeX app to render it. POST the topic to the app's agent endpoint:
      POST http://workspace:3583/agents/studio/<run-id>
      body: { "message": "<the topic>" }
   then poll  http://workspace:3583/outputs/<run-id>/latex.svg  until it exists.
3. Report the topic and the image URL, and add the topic to memory under
   "covered-latex-topics" so tomorrow's run picks a different one.

Note the URL. From inside the Hermes container the LaTeX app is reached at http://workspace:3583 (the compose service name on the shared network). The app must be running (npm run dev in the workspace) for the skill to reach it. Check the exact SKILL.md fields against the live Hermes docs — it’s pre-1.0 and the format can shift.

That POST-then-poll call is not made up — it’s exactly what the starter’s own web UI does. You can read it in latex-starter/public/index.html (it POSTs to /agents/studio/<id> and polls /outputs/<id>/latex.svg). Your skill just makes the same call from Hermes instead of from the browser.

Step 2 — Test it by hand

Open the Hermes dashboard (hermes.konomondo.org, log in trainee / hermes) → Chat, and ask: “Run the daily-latex-visual skill for the quadratic formula.” Confirm you get back an image URL. Fix the skill until a single manual run works — never schedule something you haven’t seen succeed once.

Step 3 — Schedule it (the cron job)

In the dashboard, open Cron Jobs → create a recurring prompt:

Now Hermes runs that prompt every morning on its own. That’s the whole goal: the manual web-UI click is gone — it’s a service.

Step 4 — Let memory make it smart

Because the skill writes covered topics to Hermes’ memory (its persistent store, visible on the dashboard’s Memory screen), each day’s run picks something new instead of repeating. That’s the difference between a dumb timer and an agent: it remembers what it already did.

Why it matters: “expand the app” and “automate the work” are the two moves that turn a demo into something useful. Track 3 teaches the first; this is the second — and it’s where Hermes’s skills + cron + memory finally click together.

Try it: write the skill, get one manual run green in the dashboard chat, then schedule it. Tomorrow morning, check the dashboard for the new run.

Productionising (beyond the kit)

For a real always-on service you’d run the LaTeX app persistently (not the dev server), give the skill error handling and retries, and have it publish the image somewhere (email, a folder, a channel). The building blocks are the same — skill, schedule, memory.